[grisbi-cvs] [SCM] grisbi branch, grisbi-gtk3, updated. grisbi_gtk3_1_3_0-143-gcf36ba6
Pierre Biava
nobody at users.sourceforge.net
Sun Feb 12 21:58:49 CET 2012
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "grisbi".
The branch, grisbi-gtk3 has been updated
via cf36ba632f7f7acce6f11f8812ab55f04061b313 (commit)
via bcbbd0b0d27b4ea65e3072069f78f270280619a1 (commit)
via b44c29b854f252dbe864f1312e71955549613d80 (commit)
via 816273e97a318548a3298af7f44bf462cb4522ed (commit)
via 910d08ee95a7cac9af699cc22e74f7d8ff212072 (commit)
via 73d1a728bb926b14930633ba919bc6d8fdeebc5a (commit)
via c74b5177f654127407d1d377398a7bf3d80dd606 (commit)
via b5f846117a4c4007fd9839ffa931bc76caa243f6 (commit)
via a63f6ed41c5b2b4ec7bc3f40a8bf818ab51271c7 (commit)
via 3be27308d65c86e3355c970d50299e59b2ca47c6 (commit)
via 9f4b1012cf7ba10203c2d065ba6a8caa88285def (commit)
via c60fa0cad54a5ae77a4339dedd4936cc6eebfbec (commit)
via ab8a4d84158579491315a982b2a23b5c3799a7fa (commit)
via e3793838e7a6aadbcbfa5322b29b91455ac819d2 (commit)
via 37c0486cdcf1bbb8e480f903e80136d25336e1f4 (commit)
via 8147b9945d469554a1b05c02fe4def69c4337480 (commit)
via 9d8bcf69f6965faaf07892ab4e9cfcacdfe6324a (commit)
via 6843939646161886b3c8a00385e0d5b794ab9cd8 (commit)
via 885e5f37688d18e0f05dbf7a2f16fde842fd3608 (commit)
via bed46ff1803a45529e56700d0d257cb4e48d3aa0 (commit)
via 68255986bf6f06c987698fa44a285f847f8c8cab (commit)
via 0475e0e047435e3465f25a338188405113c2030c (commit)
via 15362b2674bdbef253b88b2fc53774f0279da56c (commit)
via e1874e67567cdb2bb66bf292d54dd66b2e73efe5 (commit)
via c3bc3078e35f7a178e0c6c8948fa55658dd6cef9 (commit)
via 7b4c693254e29638a1c077237c155a7fb56610f5 (commit)
via 73ac2937d35cb43e0db642bf64942c3d25aad0d7 (commit)
via 47cfcf45c8579c020d044b8de0d53e70eddcf275 (commit)
via b3ec074bc5678e99f8d06e13a9b2e6151dedc30e (commit)
via b0b9f74a5036f95d7695b7ffa241b437979e5853 (commit)
via e62c4fb50787bfb02eee92c5efedcff56bc34a70 (commit)
via 4e82adb8fe934f72daceb8c6a751d30a221e90e4 (commit)
via 5bd54b076ce22e4056c43bc32b270f72647a3eb1 (commit)
via f5e83fd84763e05dcb860b805e1374ecc1bd9165 (commit)
via acc3a5004bfbedda0ca39c1b565071b6a0ef3a2e (commit)
via e4cf8638dc409c53375b734cd3d6999f1c4abad7 (commit)
via 4b22c9078d2c595b4606e790b60a4219570134dd (commit)
via 23b8c09a6c899f8f596aeceaeeeb47a8770b8232 (commit)
via 1b7bc4a046eacf849e1934a54e12bdbc9a18d8fd (commit)
via e8e487d7f5e009a95bcd30f37388665c6f84bd15 (commit)
via 3a6058300efd43b99bda498c8873b901599f4aee (commit)
via 7b123b419b5e6e38ec8641b7d1f55fdfaf506a69 (commit)
via a68179ba1ceb04356ea1caaf56dc5fd20217ea54 (commit)
via e180abb9b32f7e48449be79536083debf2529544 (commit)
via 895ca4de5850b83df7867ffb44efc25b1a603504 (commit)
via 5963b1b5e410396b8ba0cbb07a446ee3600a76a7 (commit)
via fb59df3962eb1dba63ac402ccaac2f0a9ee756a8 (commit)
via 3ea29c97478681a7eb8484f190fa69050491818f (commit)
via f0aeeeff45418f4b80fd2e23156570a7a7a5401a (commit)
via d30f161ff8a47467ebf7de7d1f98596e49c02707 (commit)
via faf9e5434b11e04aaeb7a9d45d08ce14cf67943e (commit)
via e87492c90b44e566267dc2b845b5a6abd9516641 (commit)
via f2dfb7336754bb1722620eb9459574d5ead90c36 (commit)
via 24c68a2a2492d14ca3a85ae210fad4e14488b8bd (commit)
via edabd54d7a76a395b7f77632921007e86569af3f (commit)
via 26f52436c63b20ea8cd31bd4a2d38555386ba91a (commit)
via 2c83a2a577a54bb9f552c7ff528963d8481183cd (commit)
via 18a83ecd09dacdd7b26eb146a2e24de9a8dc2e9c (commit)
via 0e3623f979e6c4cc43d7415057b29b556b032c73 (commit)
via 8e4bba2ce8915e6615397a185915162a1a71cd92 (commit)
via 6a60dc09341ef59b01f218dd0a97a90258aa12b7 (commit)
via 820a7cafcd18b9dabc3d62e8fa07e68d52c353f7 (commit)
via 3be7ddf5fc77163615f1d71889a01f263b6a75ab (commit)
via 3f0a4607c1a466d7a36525bb35cd9865e50eaa0e (commit)
via cf7310cdc5c3005be2599974957d4a1db120dc6f (commit)
via f4548b432785df02c34e2a9be4feb54b9db553c1 (commit)
via b72adeaaba0adaab6310fc4681eba6d5060704f0 (commit)
via 0bd043cbe938cecf30b5703a2b792f6b80b6174e (commit)
via 1cb1f659475df3aa7ec78be489ebf495d81354ff (commit)
via 31de52f93a8550ed463a4596b4839417123e40de (commit)
via fa6d3a6e9451de87e7e5d5f19f2b8de34cd96f91 (commit)
from e5e01c7a9dc665896fe3675c73751d4ef8e31956 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit cf36ba632f7f7acce6f11f8812ab55f04061b313
Merge: bcbbd0b e5e01c7
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 12 21:57:39 2012 +0100
Fin de merge avec origin
commit bcbbd0b0d27b4ea65e3072069f78f270280619a1
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 12 21:55:35 2012 +0100
merge with origin
commit b44c29b854f252dbe864f1312e71955549613d80
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 12 20:32:48 2012 +0100
structure.h: minor change
commit 816273e97a318548a3298af7f44bf462cb4522ed
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 12 20:30:38 2012 +0100
add parse_cmdline object
commit 910d08ee95a7cac9af699cc22e74f7d8ff212072
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 12 20:29:14 2012 +0100
fixes crash
commit 73d1a728bb926b14930633ba919bc6d8fdeebc5a
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 12 20:05:44 2012 +0100
minor changes
commit c74b5177f654127407d1d377398a7bf3d80dd606
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 23:03:25 2012 +0100
etats_config_ui.h: minor change
commit b5f846117a4c4007fd9839ffa931bc76caa243f6
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 22:54:45 2012 +0100
add parametres_ui.c and parametres_ui.h files
commit a63f6ed41c5b2b4ec7bc3f40a8bf818ab51271c7
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 22:45:41 2012 +0100
add grisbi_prefs.ui
commit 3be27308d65c86e3355c970d50299e59b2ca47c6
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 22:24:49 2012 +0100
main.c: minor change
commit 9f4b1012cf7ba10203c2d065ba6a8caa88285def
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 22:24:14 2012 +0100
deletion of the global variable account_page
commit c60fa0cad54a5ae77a4339dedd4936cc6eebfbec
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 16:18:25 2012 +0100
deleting spaces at end the line
commit ab8a4d84158579491315a982b2a23b5c3799a7fa
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 10:20:57 2012 +0100
add navigation left panel in grisbi.ui
commit e3793838e7a6aadbcbfa5322b29b91455ac819d2
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 09:14:19 2012 +0100
formatting of code
commit 37c0486cdcf1bbb8e480f903e80136d25336e1f4
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 08:50:10 2012 +0100
grisbi_window.c: minor change
commit 8147b9945d469554a1b05c02fe4def69c4337480
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 08:40:37 2012 +0100
add notebook_general in grisbi.ui
commit 9d8bcf69f6965faaf07892ab4e9cfcacdfe6324a
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 11 08:39:36 2012 +0100
clean up code
commit 6843939646161886b3c8a00385e0d5b794ab9cd8
Author: pbiava <pierre.biava at nerim.net>
Date: Fri Feb 10 22:29:33 2012 +0100
gsb_form.c: minor change
commit 885e5f37688d18e0f05dbf7a2f16fde842fd3608
Author: pbiava <pierre.biava at nerim.net>
Date: Fri Feb 10 22:29:10 2012 +0100
gsb_file.c: minor change
commit bed46ff1803a45529e56700d0d257cb4e48d3aa0
Author: pbiava <pierre.biava at nerim.net>
Date: Fri Feb 10 22:27:37 2012 +0100
modification of hpaned
commit 68255986bf6f06c987698fa44a285f847f8c8cab
Author: pbiava <pierre.biava at nerim.net>
Date: Thu Feb 9 20:42:47 2012 +0100
clean up of code
commit 0475e0e047435e3465f25a338188405113c2030c
Author: pbiava <pierre.biava at nerim.net>
Date: Wed Feb 8 22:24:29 2012 +0100
Creating headings_eb
commit 15362b2674bdbef253b88b2fc53774f0279da56c
Author: pbiava <pierre.biava at nerim.net>
Date: Tue Feb 7 22:21:48 2012 +0100
deleting run.window variable
commit e1874e67567cdb2bb66bf292d54dd66b2e73efe5
Author: pbiava <pierre.biava at nerim.net>
Date: Tue Feb 7 21:38:15 2012 +0100
minor change
commit c3bc3078e35f7a178e0c6c8948fa55658dd6cef9
Author: pbiava <pierre.biava at nerim.net>
Date: Tue Feb 7 21:38:00 2012 +0100
Working on the menu, the states of the main window and adding the status bar
commit 7b4c693254e29638a1c077237c155a7fb56610f5
Author: pbiava <pierre.biava at nerim.net>
Date: Tue Feb 7 06:28:49 2012 +0100
Transfer of creation of statusbar in grisbi_window.c
commit 73ac2937d35cb43e0db642bf64942c3d25aad0d7
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 5 16:55:56 2012 +0100
Minor change
commit 47cfcf45c8579c020d044b8de0d53e70eddcf275
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 5 16:55:43 2012 +0100
New GtkWindow GrisbiWindow
commit b3ec074bc5678e99f8d06e13a9b2e6151dedc30e
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 5 16:54:44 2012 +0100
New object GrisbiApp
commit b0b9f74a5036f95d7695b7ffa241b437979e5853
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 5 16:53:07 2012 +0100
new version of main.c. WARNING this version of Grisbi is not functional
commit e62c4fb50787bfb02eee92c5efedcff56bc34a70
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 5 16:48:47 2012 +0100
new interface for menus
commit 4e82adb8fe934f72daceb8c6a751d30a221e90e4
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 5 16:32:09 2012 +0100
Changes requested by the change in the gsb_conf_t structure and minor changes
commit 5bd54b076ce22e4056c43bc32b270f72647a3eb1
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Feb 5 16:27:19 2012 +0100
erreur.c: add signals SIGTERM SIGINT
commit f5e83fd84763e05dcb860b805e1374ecc1bd9165
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 22:33:39 2012 +0100
gsb_data_print_config.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit acc3a5004bfbedda0ca39c1b565071b6a0ef3a2e
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 22:31:13 2012 +0100
gsb_file_load.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit e4cf8638dc409c53375b734cd3d6999f1c4abad7
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 22:27:25 2012 +0100
gsb_form.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 4b22c9078d2c595b4606e790b60a4219570134dd
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 22:22:15 2012 +0100
gsb_form_transaction.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 23b8c09a6c899f8f596aeceaeeeb47a8770b8232
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 22:17:10 2012 +0100
gsb_reconcile.c: gsb_menu_get_ui_manager ( ) by grisbi_window_get_ui_manager ( )
commit 1b7bc4a046eacf849e1934a54e12bdbc9a18d8fd
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 22:15:25 2012 +0100
gsb_form_widget.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit e8e487d7f5e009a95bcd30f37388665c6f84bd15
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 22:08:31 2012 +0100
gsb_scheduler_list.c: Changes requested by the change in the gsb_conf_t structure
commit 3a6058300efd43b99bda498c8873b901599f4aee
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 22:06:00 2012 +0100
gsb_transactions_list.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 7b123b419b5e6e38ec8641b7d1f55fdfaf506a69
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 21:58:16 2012 +0100
gsb_transactions_list_sort.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit a68179ba1ceb04356ea1caaf56dc5fd20217ea54
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 21:53:42 2012 +0100
import.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit e180abb9b32f7e48449be79536083debf2529544
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 21:46:05 2012 +0100
imputation_budgetaire.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 895ca4de5850b83df7867ffb44efc25b1a603504
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 21:42:52 2012 +0100
gsb_file.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 5963b1b5e410396b8ba0cbb07a446ee3600a76a7
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 21:26:36 2012 +0100
navigation.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit fb59df3962eb1dba63ac402ccaac2f0a9ee756a8
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 21:23:57 2012 +0100
parametres.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 3ea29c97478681a7eb8484f190fa69050491818f
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 21:15:21 2012 +0100
tiers_onglet.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit f0aeeeff45418f4b80fd2e23156570a7a7a5401a
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 21:14:52 2012 +0100
transaction_list.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit d30f161ff8a47467ebf7de7d1f98596e49c02707
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 21:09:55 2012 +0100
utils.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit faf9e5434b11e04aaeb7a9d45d08ce14cf67943e
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 21:04:58 2012 +0100
gsb_assistant_first.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit e87492c90b44e566267dc2b845b5a6abd9516641
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 20:54:37 2012 +0100
gsb_assistant_archive_export.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit f2dfb7336754bb1722620eb9459574d5ead90c36
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 20:47:40 2012 +0100
gsb_assistant_archive.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 24c68a2a2492d14ca3a85ae210fad4e14488b8bd
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 20:37:52 2012 +0100
gsb_archive_config.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit edabd54d7a76a395b7f77632921007e86569af3f
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 20:17:15 2012 +0100
erreur.c: Changes requested by the change in the gsb_conf_t structure and menu change
commit 26f52436c63b20ea8cd31bd4a2d38555386ba91a
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 20:15:15 2012 +0100
categories_onglet.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 2c83a2a577a54bb9f552c7ff528963d8481183cd
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 20:14:45 2012 +0100
bet_tab.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 18a83ecd09dacdd7b26eb146a2e24de9a8dc2e9c
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 18:59:04 2012 +0100
bet_future.c : Changes requested by the change in the gsb_conf_t structure and minor changes
commit 0e3623f979e6c4cc43d7415057b29b556b032c73
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 18:54:55 2012 +0100
affichage_list.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 8e4bba2ce8915e6615397a185915162a1a71cd92
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 18:54:09 2012 +0100
affichage.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 6a60dc09341ef59b01f218dd0a97a90258aa12b7
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Feb 4 18:25:54 2012 +0100
accueil.c: Changes requested by the change in the gsb_conf_t structure and minor changes
commit 820a7cafcd18b9dabc3d62e8fa07e68d52c353f7
Author: pbiava <pierre.biava at nerim.net>
Date: Mon Jan 30 20:25:50 2012 +0100
update string
commit 3be7ddf5fc77163615f1d71889a01f263b6a75ab
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Jan 29 12:39:05 2012 +0100
update all strings
commit 3f0a4607c1a466d7a36525bb35cd9865e50eaa0e
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Jan 29 12:03:14 2012 +0100
fr.po: update strings
commit cf7310cdc5c3005be2599974957d4a1db120dc6f
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Jan 29 11:13:23 2012 +0100
bet_tab.c: deleting sub-menu "Delete selection" for the planned transactions
commit f4548b432785df02c34e2a9be4feb54b9db553c1
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Jan 28 19:18:05 2012 +0100
transaction_list.c: fixes a crash when the Credit or Debit columns do not exist
commit b72adeaaba0adaab6310fc4681eba6d5060704f0
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Jan 28 17:43:06 2012 +0100
bet_tab.c: Add a label for check button
commit 0bd043cbe938cecf30b5703a2b792f6b80b6174e
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Jan 28 12:41:48 2012 +0100
partial commit for grisbi_app and grisbi_window
commit 1cb1f659475df3aa7ec78be489ebf495d81354ff
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Jan 28 12:40:37 2012 +0100
deleting largeur_auto_colonnes variable
commit 31de52f93a8550ed463a4596b4839417123e40de
Author: pbiava <pierre.biava at nerim.net>
Date: Sat Jan 28 12:38:04 2012 +0100
add grisbi_ui.h and ui/grisbi_ui.xml
commit fa6d3a6e9451de87e7e5d5f19f2b8de34cd96f91
Author: pbiava <pierre.biava at nerim.net>
Date: Sun Jan 22 22:39:16 2012 +0100
adding grisbi_app.c grisbi_app.h grisbi_window.c grisbi_window.h
-----------------------------------------------------------------------
Changes:
diff --git a/po/POTFILES.in b/po/POTFILES.in
index d68e62a..c446170 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -30,6 +30,7 @@ src/fenetre_principale.c
src/file_obfuscate.c
src/file_obfuscate_qif.c
src/grisbi_osx.c
+src/grisbi_ui.h
src/gsb_account.c
src/gsb_account_property.c
src/gsb_archive_config.c
@@ -139,6 +140,7 @@ src/utils_file_selection.c
src/utils_font.c
src/utils_operations.c
src/utils_str.c
+src/ui/grisbi_ui.xml
[type: gettext/glade]src/ui/bet_graph.ui
[type: gettext/glade]src/ui/etats_config.ui
[type: gettext/glade]src/ui/grisbi.ui
diff --git a/po/cs.po b/po/cs.po
index 0a6db49..04798dc 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cs\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2011-02-19 01:39+0100\n"
"Last-Translator: Markus7cz <markus7cz at gmail.com>\n"
"Language-Team: \n"
@@ -211,7 +211,7 @@ msgstr "Druh úÄtu"
msgid "Currency"
msgstr "MÄna"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "PÃsma a loga"
@@ -251,7 +251,7 @@ msgstr "VýbÄr barvy"
msgid "Back to default"
msgstr "ZpÄt k výchozÃm"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Adresy a názvy"
@@ -476,7 +476,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr "Maximum položek v rozbalovacÃch seznamech (0 bez limitu): "
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
#, fuzzy
msgid "Transactions list cells"
msgstr "Chovánà seznamu transakcÃ"
@@ -501,7 +501,7 @@ msgstr "MÄsÃc"
msgid "Year"
msgstr "Rok"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
msgid "General Options"
msgstr "Obecné volby"
@@ -535,7 +535,7 @@ msgstr "dnešnà datum"
msgid "Note: This option is used if no starting date for forecasts."
msgstr "Poznámka: toto nastavenà platà pro prognózy bez poÄáteÄnÃho data"
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
msgid "Accounts data"
msgstr "Detaily úÄtu"
@@ -815,13 +815,13 @@ msgstr "Zobrazit rozpis amortizace od zaÄátku"
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
msgid "Print the array"
msgstr "Vytisknout tabulku"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
msgid "Export the array"
msgstr "Exportovat tabulku"
@@ -880,12 +880,12 @@ msgstr "Amortizace"
msgid "Credits"
msgstr "PůjÄky"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "Tisk"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -895,7 +895,7 @@ msgstr "Export"
msgid "credit.csv"
msgstr "pujcka.csv"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "Nelze uložit soubor."
@@ -1256,6 +1256,11 @@ msgstr "zůstatek na zaÄátku obdobÃ"
msgid "Start date: "
msgstr "PoÄáteÄnà datum: "
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "Automaticky"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr "ZaÅ¡krtnÄte pro automatickou zmÄnu poÄáteÄnÃho data"
@@ -1273,7 +1278,7 @@ msgid "Balance"
msgstr "Zůstatek"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1295,70 +1300,70 @@ msgstr "PÅipoÄÃst k zůstatku"
msgid "Insert Row"
msgstr "Vložit Åádek"
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
msgid "Delete selection"
msgstr "Odstranit výbÄr"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
msgid "Change selection"
msgstr "ZmÄnit výbÄr"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
msgid "Delete all occurences of the selection"
msgstr "Odstranit vÅ¡echny výskyty výbÄru"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
msgid "Convert selection to scheduled transaction"
msgstr "ZmÄnit výbÄr na plánovanou transakci"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
msgid "Insert the balance of a cash account"
msgstr "Vložte saldo hotovostnÃho úÄtu"
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr "Vynulovat data"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr " (stále k dispozici)"
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
msgid " (budget exceeded)"
msgstr " (rozpoÄet pÅekroÄen)"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr " (zbývá k pÅÃjmu)"
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
msgid "No data by default"
msgstr "Žádná výchozà data"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Žádná kategorie"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Žádný rozpoÄet"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
msgid "Export the array of forecast"
msgstr "Exportovat tabulku prognózy"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
msgid "Balance at "
msgstr "Zůstatek k "
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr "prognoza.csv"
@@ -1446,7 +1451,7 @@ msgstr "VytvoÅit novou podkategorii"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Import"
@@ -2111,7 +2116,7 @@ msgstr "Fiskálnà rok"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "Metoda platby"
@@ -2529,13 +2534,13 @@ msgid "Generalities"
msgstr "HlavnÃ"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "Transakce"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "MÄny"
@@ -2574,7 +2579,7 @@ msgstr "Obsah seznamu transakcÃ"
msgid "Transactions display"
msgstr "PÅehled transakcÃ"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "MÄny pro souÄty"
@@ -2991,7 +2996,7 @@ msgstr "PodrozpoÄet"
msgid "Reconciliation number"
msgstr "ÄÃslo odsouhlasenÃ"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "PÅehled"
@@ -3008,7 +3013,7 @@ msgid "Amortization array"
msgstr "Tabulka amortizace"
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "PlánovaÄ"
@@ -3219,6 +3224,39 @@ msgstr "Soubor '%s' byl úspÄÅ¡nÄ uložen"
msgid "File '%s' could not be saved"
msgstr "NepodaÅilo se uložit soubor '%s'"
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+msgid "_File"
+msgstr "_Soubor"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+msgid "_New account file..."
+msgstr "_Nový soubor úÄtů..."
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+msgid "_Open..."
+msgstr "_OtevÅÃt..."
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr "_Naposledy otvÅené soubory"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+msgid "_Import file..."
+msgstr "_Importovat soubor..."
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+msgid "_Save"
+msgstr "_Uložit"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+msgid "_Save as..."
+msgstr "_Uložit jako..."
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3377,7 +3415,7 @@ msgid "Report name"
msgstr "Název sestavy"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
msgid "Archives"
msgstr "Archivy"
@@ -3971,7 +4009,7 @@ msgstr "Název souboru: "
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr "Zašifrovat soubor Grisbi"
@@ -4080,11 +4118,11 @@ msgid "General configuration of Grisbi"
msgstr "Základnà nastavenà Grisbi"
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
msgid "Web"
msgstr "Web"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
msgid "Web browser command: "
msgstr "PÅÃkaz webového prohlÞeÄe: "
@@ -4093,43 +4131,43 @@ msgstr "PÅÃkaz webového prohlÞeÄe: "
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr "Můžete použÃt %s na urÄenà URL napÅ.: 'firefox -remote %s'"
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "Operace se soubory"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "PÅi startu automaticky naÄÃst poslednà soubor"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "Automaticky uložit pÅi ukonÄenÃ"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "VytvoÅit záložnà kopii pÅed otevÅenÃm souboru"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr "VytvoÅit záložnà kopii každých "
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
msgid " minutes"
msgstr " minut"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
msgid "Backup directory: "
msgstr "Složka zálohy: "
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr "Vyberte/vytvoÅte složku pro zálohy"
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "OdsouhlasenÃ"
@@ -4402,7 +4440,7 @@ msgstr "PÅidat novou banku"
msgid "Contact name"
msgstr "Jméno kontaktu"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Banky"
@@ -6637,7 +6675,7 @@ msgstr ""
"pod jiným názvem, nebo povolte volbu \"%s\" v Možnostech."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "Vynutit uloženà uzamÄených souborů"
@@ -6670,7 +6708,7 @@ msgstr ""
"zrušit tuto akci a uložit jej pod jiným jménem, nebo v Možnostech aktivovat "
"volbu \"%s\"."
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "nepojmenovaný"
@@ -6729,7 +6767,7 @@ msgstr ""
"<b>SkuteÄnÄ chcete odstranit soubor:\n"
"%s ?</b>"
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "Nelze uložit konfiguraÄnà soubor '%s': %s"
@@ -7085,57 +7123,57 @@ msgstr ""
"Jste si jist(a)?"
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr "Nastavit formuláÅ"
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "FormuláŠtransakcÃ"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr "Ukázka struktury formuláÅe"
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr "Obsah struktury formuláÅe"
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr "Sl. 1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr "Sl. 2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr "Sl. 3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr "Sl. 4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr "Sl. 5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr "Sl. 6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr "Åádky"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr "sloupce"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
@@ -7143,11 +7181,11 @@ msgstr ""
"Element nelze kvůli nedostatku mÃsta umÃstit. Pro pÅidánà elementu musÃte "
"zvýšit poÄet Åádků nebo sloupců."
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr "Tabulka je plná"
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7168,10 +7206,6 @@ msgstr ""
"Funkce zmÄnà velikost tabulky na správné hodnoty, ale je potÅeb ovÄÅit toto "
"varovánÃ."
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "Automaticky"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "Zvolte úÄet"
@@ -7216,7 +7250,7 @@ msgstr "ÄÃslo transakce"
msgid "Automatic/Manual"
msgstr "Automaticky / RuÄnÄ"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Fiskálnà roky"
@@ -7521,7 +7555,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Odstranit odsouhlasenÃ"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
msgid "Sort for reconciliation"
msgstr "Åadit pro odsouhlasenÃ"
@@ -7731,7 +7765,7 @@ msgid "Execute transaction"
msgstr "Provést transakci"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, c-format
msgid "Total : %s (variance : %s)"
msgstr "SouÄet: %s (odchylka: %s)"
@@ -8515,7 +8549,7 @@ msgstr "Podle data pohybu (pÅi neúspÄchu zkusit datum transakce)"
msgid "Manage import associations"
msgstr "Nastavit párovánà pÅi importu"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
msgid "Import associations"
msgstr "Párovánà pÅi importu"
@@ -8845,72 +8879,43 @@ msgstr "Spravovat podrozpoÄet"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "PÅesunout vÅ¡echny transakce do jiného podrozpoÄtu"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "Zobrazit _tÅi Åádky na transakci"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "Režim ladÄnÃ"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "Chyba sigaction: SIGSEGV nebude zachycen\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr "Verze Grisbi %s, %s\n"
-#: ../src/main.c:1011
+#: ../src/main.c:1021
#, fuzzy
msgid "- Personnal finances manager"
msgstr "Osobnà správce financÃ"
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-msgid "_File"
-msgstr "_Soubor"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-msgid "_New account file..."
-msgstr "_Nový soubor úÄtů..."
-
-#: ../src/menu.c:173 ../src/menu.c:181
-msgid "_Open..."
-msgstr "_OtevÅÃt..."
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr "_Naposledy otvÅené soubory"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-msgid "_Save"
-msgstr "_Uložit"
-
-#: ../src/menu.c:187
-msgid "_Save as..."
-msgstr "_Uložit jako..."
-
-#: ../src/menu.c:189
-msgid "_Import file..."
-msgstr "_Importovat soubor..."
-
#: ../src/menu.c:191
msgid "_Export accounts as QIF/CSV file..."
msgstr "_Exportovat úÄty jako soubor QIF/CSV..."
@@ -9324,134 +9329,134 @@ msgid "Remove this report"
msgstr "Odstranit pravidlo"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr "Možnosti Grisbi"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
msgid "Main"
msgstr "HlavnÃ"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "Soubory"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programy"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
msgid "Localization"
msgstr "Lokalizace"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "ZobrazenÃ"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "Zprávy a varovánÃ"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
msgid "Payees, categories and budgetaries"
msgstr "Plátci/pÅÃjemci, kategorie a rozpoÄty"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr "Chovánà seznamu"
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
msgid "Messages before deleting"
msgstr "Dotazy pÅed odstranÄnÃm"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
msgid "Content"
msgstr "Obsah"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr "ChovánÃ"
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr "DokonÄovánÃ"
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Zdroje"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
msgid "Currencies links"
msgstr "SmÄnné kurzy"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
msgid "Balance estimate"
msgstr "Odhadovaný zůstatek"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr "Tip dne"
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr "Zobrazit tip dne"
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
msgid "Display following warnings messages"
msgstr "Zobrazit následujÃcà varovné zprávy"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr "Zpráva"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
msgid "Display following messages"
msgstr "Zobrazit následujÃcà zprávy"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr "Komprimovat soubor Grisbi"
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
msgid "Memorise last opened files: "
msgstr "Pamatovat si poslednà otevÅené soubory: "
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "ZálohovánÃ"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
msgid "Make a single backup file"
msgstr "VytvoÅit jeden záložnà soubor"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr "Komprimovat zálohu Grisbi"
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "VytvoÅit záložnà kopii po otevÅenà souboru"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
msgid "Config file"
msgstr "KonfiguraÄnà soubor"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr "PoužÃt konfiguraÄnà soubor stabilnà verze jako pÅedlohu"
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
@@ -9460,75 +9465,75 @@ msgstr ""
"Můžete použÃt %s na urÄenà URL napÅ.:\n"
"'firefox -remote %s'"
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr "Oznámenà plánovaÄe pÅi spuÅ¡tÄnà Grisbi"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr "Oznámit / provést plánované transakce k datu splatnosti"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "Oznámit / provést plánované transakce pro mÄsÃc"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
msgid "Number of days before the warning or the execution: "
msgstr "PoÄet dnà pÅed oznámenÃm nebo provedenÃm: "
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
msgid "Sort option for transactions"
msgstr "Možnosti Åazenà transakcÃ"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
msgid "by number"
msgstr "podle ÄÃsla"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr "vzestupnÄ dle data"
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr "sestupnÄ dle data"
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
msgid "Expand the line"
msgstr "Zobrazit detail"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
msgid "Edit the line"
msgstr "Upravovat Åádek"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
msgid "Manage the line"
msgstr "ZmÄnit Åádek"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
msgid "Choose the date format"
msgstr "Zvolte formát data"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
msgid "Date format"
msgstr "Formát data"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
msgid "Decimal point: "
msgstr "OddÄlovaÄ desetin: "
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr "OddÄlovaÄ tisÃců: "
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr "Zvolte oddÄlovaÄe desetin a tisÃců"
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr "OddÄlovaÄe desetin a tisÃců"
@@ -10308,7 +10313,7 @@ msgstr "Zobrazit tipy pÅi pÅÃÅ¡tÃm startu"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
@@ -10316,7 +10321,7 @@ msgstr ""
"Zkuste zmÄnit viditelné Åádky pomocà transaction_list_set. NemÄly by se "
"pÅipojit! Zkuste to."
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/da.po b/po/da.po
index 58cafcd..fad91e3 100644
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: da\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2006-03-25 13:23+0100\n"
"Last-Translator: Dmitri Popov <dmpop at openoffice.org>\n"
"Language-Team: \n"
@@ -218,7 +218,7 @@ msgstr "Kontonavn"
msgid "Currency"
msgstr "Valuta"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "Skrifttyper & logoer"
@@ -261,7 +261,7 @@ msgstr ""
msgid "Back to default"
msgstr ""
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Adresser og overskrifter"
@@ -504,7 +504,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
#, fuzzy
msgid "Transactions list cells"
msgstr "Overførselsformular"
@@ -530,7 +530,7 @@ msgstr "MÃ¥neder"
msgid "Year"
msgstr ""
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "Generelt"
@@ -570,7 +570,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "Kontooplysninger"
@@ -869,14 +869,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "Printer"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "Printer"
@@ -942,12 +942,12 @@ msgstr "Eksportér kategorier"
msgid "Credits"
msgstr "Kredit"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr ""
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -958,7 +958,7 @@ msgstr "Eksportér"
msgid "credit.csv"
msgstr "Kredit"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr ""
@@ -1330,6 +1330,11 @@ msgstr ""
msgid "Start date: "
msgstr "Start:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "Automatisk"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1347,7 +1352,7 @@ msgid "Balance"
msgstr "Balance"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1368,75 +1373,75 @@ msgstr "Balancer"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "Lukkede planlagte transaktioner"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "Lukkede planlagte transaktioner"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr "Lukkede planlagte transaktioner"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "Opret en planlagt transaktion"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
msgid "Insert the balance of a cash account"
msgstr ""
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr ""
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
msgid " (budget exceeded)"
msgstr ""
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
msgid "No data by default"
msgstr ""
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Ingen kategori"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr ""
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
msgid "Export the array of forecast"
msgstr ""
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "Balance"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1520,7 +1525,7 @@ msgstr "Giv den nye underkategori et navn"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Importér"
@@ -2174,7 +2179,7 @@ msgstr "Regnskabsår"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr ""
@@ -2590,13 +2595,13 @@ msgid "Generalities"
msgstr ""
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr ""
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "Valutaer"
@@ -2640,7 +2645,7 @@ msgstr "Transaktionsnummer"
msgid "Transactions display"
msgstr "Overførselsformular"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
#, fuzzy
msgid "Totals currencies"
msgstr "Kendte valutaer"
@@ -3043,7 +3048,7 @@ msgstr "Budgetlinje"
msgid "Reconciliation number"
msgstr "Transaktionsnummer"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "Hovedside"
@@ -3061,7 +3066,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr ""
@@ -3243,6 +3248,45 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr ""
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+#, fuzzy
+msgid "_File"
+msgstr "Fil"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+#, fuzzy
+msgid "_New account file..."
+msgstr "Ny kontofil"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+#, fuzzy
+msgid "_Open..."
+msgstr "Ã
bn"
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr ""
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+#, fuzzy
+msgid "_Import file..."
+msgstr "Eksportér QIF-fil"
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+#, fuzzy
+msgid "_Save"
+msgstr "Gem"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+#, fuzzy
+msgid "_Save as..."
+msgstr "Gem som"
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3408,7 +3452,7 @@ msgid "Report name"
msgstr ""
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
msgid "Archives"
msgstr ""
@@ -3921,7 +3965,7 @@ msgstr "Indehaver:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -4008,12 +4052,12 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
#, fuzzy
msgid "Web"
msgstr "Website"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "Webbrowser:"
@@ -4023,45 +4067,45 @@ msgstr "Webbrowser:"
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr ""
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr ""
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr ""
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr ""
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr ""
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
#, fuzzy
msgid " minutes"
msgstr "Noter"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "Backup-fil:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr ""
@@ -4303,7 +4347,7 @@ msgstr "Ny bank"
msgid "Contact name"
msgstr "Kontaktpersonens navn"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Banker"
@@ -6534,7 +6578,7 @@ msgid ""
msgstr ""
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr ""
@@ -6565,7 +6609,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "unavngivet"
@@ -6617,7 +6661,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr ""
@@ -6944,67 +6988,67 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "Overførselsformular"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr "Vis formularstruktur"
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr "Kol 1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr "Kol 2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr "Kol 3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr "Kol 4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr "Kol 5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr "Kol 6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr "rækker"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr "kolonner"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr "Tabellen er fuld"
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7019,10 +7063,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "Automatisk"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "Vælg konto"
@@ -7069,7 +7109,7 @@ msgstr "Transaktionsnummer"
msgid "Automatic/Manual"
msgstr "Automatisk/Manuelt"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr ""
@@ -7366,7 +7406,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Vis afstemte transaktioner"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
#, fuzzy
msgid "Sort for reconciliation"
msgstr "Vis afstemte transaktioner"
@@ -7586,7 +7626,7 @@ msgid "Execute transaction"
msgstr "Kontotransaktioner"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, fuzzy, c-format
msgid "Total : %s (variance : %s)"
msgstr "Total %s: %s (%d transaktioner)"
@@ -8327,7 +8367,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "Yderligere info"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
#, fuzzy
msgid "Import associations"
msgstr "Eksportér kategorier"
@@ -8664,76 +8704,41 @@ msgstr "Budgetlinje"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "Fly transaktioner til kategori"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "Vis 3 linjer per transaktion"
-#: ../src/main.c:126
+#: ../src/main.c:127
msgid "Debug mode: level 0-5"
msgstr ""
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr ""
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-#, fuzzy
-msgid "_File"
-msgstr "Fil"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-#, fuzzy
-msgid "_New account file..."
-msgstr "Ny kontofil"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-#, fuzzy
-msgid "_Open..."
-msgstr "Ã
bn"
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr ""
-
-#: ../src/menu.c:176 ../src/menu.c:184
-#, fuzzy
-msgid "_Save"
-msgstr "Gem"
-
-#: ../src/menu.c:187
-#, fuzzy
-msgid "_Save as..."
-msgstr "Gem som"
-
-#: ../src/menu.c:189
-#, fuzzy
-msgid "_Import file..."
-msgstr "Eksportér QIF-fil"
-
#: ../src/menu.c:191
#, fuzzy
msgid "_Export accounts as QIF/CSV file..."
@@ -9174,226 +9179,226 @@ msgid "Remove this report"
msgstr "Fjern kategori"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr ""
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
#, fuzzy
msgid "Main"
msgstr "Symbol"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "Filer"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programmer"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "Eksportér kategorier"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr ""
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "Beskeder og advarsler"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
msgid "Payees, categories and budgetaries"
msgstr ""
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
#, fuzzy
msgid "Messages before deleting"
msgstr "Beskeder og advarsler"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
#, fuzzy
msgid "Content"
msgstr "Kontaktperson"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Ressourcer"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
#, fuzzy
msgid "Currencies links"
msgstr "Valutaer"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
#, fuzzy
msgid "Balance estimate"
msgstr "Balance"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
#, fuzzy
msgid "Display following warnings messages"
msgstr "Advarsler"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr ""
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
#, fuzzy
msgid "Display following messages"
msgstr "Advarsler"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
msgid "Memorise last opened files: "
msgstr ""
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "Backup"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
msgid "Make a single backup file"
msgstr ""
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr ""
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "Gem fil"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr ""
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr ""
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
#, fuzzy
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "Opret en planlagt transaktion"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
msgid "Number of days before the warning or the execution: "
msgstr ""
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
#, fuzzy
msgid "Sort option for transactions"
msgstr "4 linjer per transaktion"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
#, fuzzy
msgid "by number"
msgstr "Check/Ãverførselsnr."
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "Lukkede planlagte transaktioner"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "Balancer"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "Lukkede planlagte transaktioner"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "Vælg konto"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "Eksportér"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
msgid "Decimal point: "
msgstr ""
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10079,13 +10084,13 @@ msgstr "Vis transaktioner"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/de.po b/po/de.po
index 5323bbf..ce04d2a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2011-12-25 18:16+0100\n"
"Last-Translator: Martin Stromberger <mstromberger at aon.at>\n"
"Language-Team: deutsch <de at li.org>\n"
@@ -213,7 +213,7 @@ msgstr "Kontoart"
msgid "Currency"
msgstr "Währung"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "Schrift & Farben"
@@ -253,7 +253,7 @@ msgstr "Farbe auswählen - Grisbi"
msgid "Back to default"
msgstr "Voreinstellung"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Bezeichnung & Adressen"
@@ -478,7 +478,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr "Maximale Einträge in der Auswahlliste [0 für kein Limit]: "
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr "Buchungsübersicht Zellen"
@@ -500,7 +500,7 @@ msgstr "Monat"
msgid "Year"
msgstr "Jahr"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
msgid "General Options"
msgstr "Allgemein"
@@ -536,7 +536,7 @@ msgstr ""
"Bemerkung: Diese Einstellung wird herangezogen wenn kein Beginndatum für die "
"Prognose vorhanden ist."
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
msgid "Accounts data"
msgstr "Konten Einstellungen"
@@ -818,13 +818,13 @@ msgstr "Tilgungen geplant vom Anfang anzeigen"
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
msgid "Print the array"
msgstr "Auflistung Drucken"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
msgid "Export the array"
msgstr "Auflistung Exportieren"
@@ -883,12 +883,12 @@ msgstr "Rückzahlung"
msgid "Credits"
msgstr "Einnahmen"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "Drucken"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -898,7 +898,7 @@ msgstr "Export"
msgid "credit.csv"
msgstr "credit.csv"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "Datei kann nicht gespeichert werden."
@@ -1256,6 +1256,11 @@ msgstr "Saldo Anfangsperiode"
msgid "Start date: "
msgstr "Beginndatum: "
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "automatisch"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1274,7 +1279,7 @@ msgid "Balance"
msgstr "Saldo"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1294,70 +1299,70 @@ msgstr "Zum Saldo hinzufügen"
msgid "Insert Row"
msgstr "Zeile einfügen"
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
msgid "Delete selection"
msgstr "Auswahl löschen"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
msgid "Change selection"
msgstr "Auswahl ändern"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
msgid "Delete all occurences of the selection"
msgstr "Ein oder alle Vorkommen von der Auswahl löschen"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
msgid "Convert selection to scheduled transaction"
msgstr "Buchung regelmäÃig ausführen"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
msgid "Insert the balance of a cash account"
msgstr "Den Saldo von einem Bargeldkonto eingeben"
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr "Daten zurücksetzen"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr " (weiterhin verfügbar)"
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
msgid " (budget exceeded)"
msgstr " (Budget überschritten)"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr " (noch nicht verfügbar)"
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
msgid "No data by default"
msgstr "Keine Daten per Voreinstellung"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Keine Kategorie"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Kein Budgeteintrag"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
msgid "Export the array of forecast"
msgstr "Prognose exportieren - Grisbi"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
msgid "Balance at "
msgstr "Bilanz am "
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr "forecast.csv"
@@ -1447,7 +1452,7 @@ msgstr "Eine neue Unterkategorie erstellen"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Import"
@@ -2116,7 +2121,7 @@ msgstr "Geschäftsjahr"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "Zahlungsweisen"
@@ -2534,13 +2539,13 @@ msgid "Generalities"
msgstr "Allgemein"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "Buchungen"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "Währungen"
@@ -2579,7 +2584,7 @@ msgstr "Buchung Text"
msgid "Transactions display"
msgstr "Buchungen auflisten"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "Währungen"
@@ -2998,7 +3003,7 @@ msgstr "Teil-Budgeteinträge"
msgid "Reconciliation number"
msgstr "Abstimmung Nr."
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "Startseite"
@@ -3015,7 +3020,7 @@ msgid "Amortization array"
msgstr "Rückzahlung Auflistung"
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "Planer"
@@ -3234,6 +3239,39 @@ msgstr "Die Datei '%s' wurde erfolgreich gespeichert"
msgid "File '%s' could not be saved"
msgstr "Die Datei '%s' konnte nicht gespeichert werden"
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+msgid "_File"
+msgstr "_Datei"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+msgid "_New account file..."
+msgstr "_Neue Datei"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+msgid "_Open..."
+msgstr "_Ãffnen ..."
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr "_Zuletzt geöffnete Dateien"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+msgid "_Import file..."
+msgstr "Datei _importieren ..."
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+msgid "_Save"
+msgstr "_Speichern"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+msgid "_Save as..."
+msgstr "_Speichern unter ..."
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3393,7 +3431,7 @@ msgid "Report name"
msgstr "Bericht Name"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
msgid "Archives"
msgstr "Archive"
@@ -3997,7 +4035,7 @@ msgstr "Dateiname: "
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr "Datei verschlüsseln"
@@ -4110,11 +4148,11 @@ msgid "General configuration of Grisbi"
msgstr "Allgemeine Einstellungen"
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
msgid "Web"
msgstr "Internet"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
msgid "Web browser command: "
msgstr "Webbrowser: "
@@ -4123,43 +4161,43 @@ msgstr "Webbrowser: "
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr "Mit %s die URL übergeben - z.B.: 'firefox -remote %s' "
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "Dateien"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "Die letzte Datei automatisch öffnen"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "Beim Beenden automatisch speichern"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "Vor dem Speichern eine Sicherung erstellen"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr "Eine Sicherung alle "
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
msgid " minutes"
msgstr " Minuten"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
msgid "Backup directory: "
msgstr "Verzeichnis für Sicherungen: "
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr "Verzeichnis für Sicherungen - Grisbi"
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "Abstimmung"
@@ -4441,7 +4479,7 @@ msgstr "Eine neue Bank hinzufügen"
msgid "Contact name"
msgstr "Ansprechperson"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Banken"
@@ -6701,7 +6739,7 @@ msgstr ""
"Option \"%s\" in den Einstellungen."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "Das Speichern von gesperrten Dateien erzwingen"
@@ -6734,7 +6772,7 @@ msgstr ""
"speichern wollen, müssen Sie den Vorgang abbrechen und die Datei unter einem "
"anderen Namen speichern oder die Option \"%s\" in den Einstellungen setzen."
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "Unbenannt"
@@ -6792,7 +6830,7 @@ msgstr ""
"<b>>Soll diese Datei gelöscht werden:\n"
"%s ?</b>"
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "Die Konfiguration kann nicht gespeichert werden '%s': %s"
@@ -7158,57 +7196,57 @@ msgstr ""
"Soll der Vorgang fortgesetzt werden?"
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr "Buchungsformular Einstellungen"
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "Buchungsformular"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr "Buchungsformular Vorschau"
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr "Inhalt Buchungsformular"
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr "Spalte 1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr "Spalte 2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr "Spalte 3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr "Spalte 4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr "Spalte 5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr "Spalte 6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr "Zeilen"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr "Spalten"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
@@ -7217,11 +7255,11 @@ msgstr ""
"die Anzahl der Spalten oder Zeilen erhöhen, damit alle Elemente angezeigt "
"werden können."
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr "Die Tabelle ist voll"
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7244,10 +7282,6 @@ msgstr ""
"Diese Funktion wird die Tabelle automatisch anpassen, jedoch sollten Sie "
"weitere Warnungen beachten."
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "automatisch"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "Konto auswählen"
@@ -7292,7 +7326,7 @@ msgstr "Buchungsnummer"
msgid "Automatic/Manual"
msgstr "Automatisch/Manuell"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Geschäftsjahre"
@@ -7599,7 +7633,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Abstimmung löschen"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
msgid "Sort for reconciliation"
msgstr "Abstimmung sortieren"
@@ -7810,7 +7844,7 @@ msgid "Execute transaction"
msgstr "Buchung ausführen"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, c-format
msgid "Total : %s (variance : %s)"
msgstr "Gesamt : %s (variiert : %s)"
@@ -8619,7 +8653,7 @@ msgstr "entsprechend Datum der Durchführung"
msgid "Manage import associations"
msgstr "Zuordnungen verwalten"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
msgid "Import associations"
msgstr "Zuordnungen"
@@ -8952,72 +8986,43 @@ msgstr "Teil-Budgeteintrag verwalten"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "Alle Buchungen einem anderen Teil-Budgeteintrag zuordnen"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "_3 Zeilen pro Buchung"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "Debug-Modus starten"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "Fehler bei der Sigaktion. SIGSEGV wird nicht eingeschlossen\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr "Grisbi Version %s, %s\n"
-#: ../src/main.c:1011
+#: ../src/main.c:1021
#, fuzzy
msgid "- Personnal finances manager"
msgstr "Finanzprogramm für Privatpersonen"
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-msgid "_File"
-msgstr "_Datei"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-msgid "_New account file..."
-msgstr "_Neue Datei"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-msgid "_Open..."
-msgstr "_Ãffnen ..."
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr "_Zuletzt geöffnete Dateien"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-msgid "_Save"
-msgstr "_Speichern"
-
-#: ../src/menu.c:187
-msgid "_Save as..."
-msgstr "_Speichern unter ..."
-
-#: ../src/menu.c:189
-msgid "_Import file..."
-msgstr "Datei _importieren ..."
-
#: ../src/menu.c:191
msgid "_Export accounts as QIF/CSV file..."
msgstr "Datei _exportieren ..."
@@ -9422,214 +9427,214 @@ msgid "Remove this report"
msgstr "Bericht entfernen"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr "Einstellungen - Grisbi"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
msgid "Main"
msgstr "Allgemein"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "Dateien"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programme"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
msgid "Localization"
msgstr "Datum & Beträge"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "Anzeigeoptionen"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "Tipps & Warnungen"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
msgid "Payees, categories and budgetaries"
msgstr "Währungen & Sortierung"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr "Werkzeugleisten & Navigation"
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr "Einstellungen"
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
msgid "Messages before deleting"
msgstr "Löschrückfragen"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
msgid "Content"
msgstr "Darstellung"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr "Einstellungen"
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr "Vervollständigung"
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Finanzdaten"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
msgid "Currencies links"
msgstr "Währungsvergleich"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
msgid "Balance estimate"
msgstr "Prognosen"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr "Tipp des Tages"
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr "Den Tipp des Tages anzeigen"
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
msgid "Display following warnings messages"
msgstr "Folgende Warnungen anzeigen"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr "Meldung"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
msgid "Display following messages"
msgstr "Folgende Meldungen anzeigen"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr "Datei komprimieren"
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
msgid "Memorise last opened files: "
msgstr "Dateihistorie Anzahl: "
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "Sicherungen"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
msgid "Make a single backup file"
msgstr "Für Sicherungen nur eine Datei anlegen"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr "Sicherung komprimieren"
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "Nach dem Ãffnen eine Sicherung erstellen"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
msgid "Config file"
msgstr "Konfigurationsdatei"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
"Die Konfigurationsdatei von einer älteren Grisbi-Version als Vorlage "
"verwenden"
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr "Mit %s die URL übergeben - z.B.: 'firefox -remote %s'"
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr "Planer Meldungen"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr ""
"am Fälligkeitsdatum einen Hin d transactions arriving at expiration date" : " )" ges s s anges r |ã+ PÁmrÿ ÀÁmrÿ u{ã+ ª|ã+ ¥ã+ ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ weis anzeigen und die geplante Buchung ausführen"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
msgid "Warn/Execute the scheduled transactions of the month"
msgstr ""
"für geplante Buchungen vom Monat einen Hinweis anzeigen und die Buchungen "
"ausführen"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
msgid "Number of days before the warning or the execution: "
msgstr "Hinweis für eine geplante Buchung in Tagen davor anzeigen: "
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
msgid "Sort option for transactions"
msgstr "Sortierung"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
msgid "by number"
msgstr "nach Nummer"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr "nach Datum aufsteigend"
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr "nach Datum absteigend"
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
msgid "Expand the line"
msgstr "Zeile expandieren"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
msgid "Edit the line"
msgstr "Zeile bearbeiten"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
msgid "Manage the line"
msgstr "Zeile verwalten"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
msgid "Choose the date format"
msgstr "Datumsformat auswählen"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
msgid "Date format"
msgstr "Datumsformat"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
msgid "Decimal point: "
msgstr "Dezimal-Zeichen: "
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr "Tausender-Zeichen: "
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr "Dezimal und Tausender-Zeichen auswählen"
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr "Dezimal und Tausender-Zeichen"
@@ -10442,7 +10447,7 @@ msgstr "Tipps beim nächsten Start anzeigen"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
@@ -10450,7 +10455,7 @@ msgstr ""
"Es wurde versucht eine sichtbare Linie in der Buchungsliste zu ändern. Diese "
"Funktionalität sollte im Regelfall nicht möglich sein."
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/el.po b/po/el.po
index 588c0e6..8cad71f 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Grisbi 0.5.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2009-04-13 14:53+0200\n"
"Last-Translator: \n"
"Language-Team: KASKAS <ttnfy17 at yahoo.gr>\n"
@@ -227,7 +227,7 @@ msgstr "Îνομα λογαÏιαÏμοÏ"
msgid "Currency"
msgstr "ÎÏμιÏμα"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "ΠηγÎÏ & λογÏÏÏ
Ïο"
@@ -268,7 +268,7 @@ msgstr "ÎÏιλογή ÏοÏ
ÏÏÏμαÏοÏ"
msgid "Back to default"
msgstr "ΠίÏÏ ÏÏην ÏÏοεÏιλογή"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "ÎιεÏ
θÏνÏÎµÎ¹Ï & ÏίÏλοι"
@@ -511,7 +511,7 @@ msgstr ""
"για κανÎνα ÏÏιο):"
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
#, fuzzy
msgid "Transactions list cells"
msgstr "ΣÏ
μÏεÏιÏοÏά καÏαλÏγÏν ÏÏ
ναλλαγήÏ"
@@ -536,7 +536,7 @@ msgstr "ÎήναÏ"
msgid "Year"
msgstr "ΧÏÏνοÏ"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "ÎενικÏÏηÏεÏ"
@@ -576,7 +576,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "ÎεÏÏομÎÏÎµÎ¹ÎµÏ Î»Î¿Î³Î±ÏιαÏμοÏ"
@@ -877,14 +877,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "ÎκÏÏ
ÏÏÏήÏ"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "ÎκÏÏ
ÏÏÏήÏ"
@@ -950,12 +950,12 @@ msgstr "ΣειÏά εκÏίμηÏηÏ"
msgid "Credits"
msgstr "ΠίÏÏÏÏη"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "ÎκÏÏÏÏÏη"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -966,7 +966,7 @@ msgstr "ÎξαγÏγή"
msgid "credit.csv"
msgstr "ΠίÏÏÏÏη"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "ÎδÏναÏη η αÏοθήκεÏ
Ïη αÏÏείοÏ
"
@@ -1335,6 +1335,11 @@ msgstr ""
msgid "Start date: "
msgstr "ÎναÏξη:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "ÎÏ
ÏÏμαÏοÏ"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1352,7 +1357,7 @@ msgid "Balance"
msgstr "ÎÏοÏÏοÏία"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1373,80 +1378,80 @@ msgstr "ÎÏÏική ιÏοÏÏοÏία"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "ÎÏιλογή ημεÏομηνίαÏ"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "ÎÏιλογή ημεÏομηνίαÏ"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr "ÎιαγÏάÏÏε Ïην εÏιλεγμÎνη ÏÏεδιαÏμÎνη ÏÏ
ναλλαγή"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "ÎεÏαÏÏÎÏÏε Ïη ÏÏ
ναλλαγή ÏÏη ÏÏεδιαÏμÎνη ÏÏ
ναλλαγή"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
#, fuzzy
msgid "Insert the balance of a cash account"
msgstr "ÎδÏναÏη η εκÏοή ÏÎ·Ï Î¼ÎµÏαÏοÏÎ¬Ï Ïε Îναν κλειÏÏÏ Î»Î¿Î³Î±ÏιαÏμÏ"
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr ""
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
#, fuzzy
msgid " (still available)"
msgstr "Îαμία ÏεÏιγÏαÏή διαθÎÏιμη"
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
#, fuzzy
msgid " (budget exceeded)"
msgstr "Îεν καθοÏίζεÏαι κανÎÎ½Î±Ï ÏÏοÏÏολογιÏμÏÏ."
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
#, fuzzy
msgid "No data by default"
msgstr "ΠίÏÏ ÏÏην ÏÏοεÏιλογή"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Îαμία καÏηγοÏία"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Îαμία δημοÏιονομική γÏαμμή"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "ÎξάγεÏε ÏÎ¹Ï Î´Î·Î¼Î¿ÏιονομικÎÏ Î³ÏαμμÎÏ"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "ÎÏοÏÏοÏία"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1535,7 +1540,7 @@ msgstr "ÎημιοÏ
ÏγήÏÏε μια νÎα Ï
ÏοκαÏηγοÏία"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "ÎιÏαγÏγή"
@@ -2228,7 +2233,7 @@ msgstr "ÎÎ¹ÎºÎ¿Î½Î¿Î¼Î¹ÎºÏ ÎÏοÏ"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "ÎÎθοδοι ÏληÏÏμήÏ"
@@ -2652,13 +2657,13 @@ msgid "Generalities"
msgstr "ÎενικÏÏηÏεÏ"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "ΣÏ
ναλλαγÎÏ"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "ÎομίÏμαÏα"
@@ -2697,7 +2702,7 @@ msgstr "ΠεÏιεÏÏμενο ÏÏ
ναλλαγήÏ"
msgid "Transactions display"
msgstr "ÎμÏάνιÏη ÏÏ
ναλλαγÏν"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "ΣÏνολα νομιÏμάÏÏν"
@@ -3123,7 +3128,7 @@ msgstr "Î¥Ïο--δημοÏιονομικÎÏ Î³ÏαμμÎÏ"
msgid "Reconciliation number"
msgstr "ÎÏιθμÏÏ ÏÏ
μÏÏνίαÏ"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "ÎÏÏια Ïελίδα"
@@ -3142,7 +3147,7 @@ msgid "Amortization array"
msgstr "ΣειÏά εκÏίμηÏηÏ"
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "ΧÏονοÏÏογÏαμμαÏιÏÏήÏ"
@@ -3355,6 +3360,39 @@ msgstr "ÎÏÏείο '%s' εÏιÏÏ
ÏÏÏ ÏÏζÏμενο"
msgid "File '%s' could not be saved"
msgstr "Το αÏÏείο '%s' δεν μÏοÏοÏÏε να ÏÏθεί"
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+msgid "_File"
+msgstr "_ÎÏÏείο"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+msgid "_New account file..."
+msgstr "_ÎÏÏείο νÎοÏ
λογαÏιαÏμοÏ"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+msgid "_Open..."
+msgstr "_Îνοιγμα"
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr "_Î ÏÏÏÏαÏα ανοιγμÎνα αÏÏεία"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+msgid "_Import file..."
+msgstr "_ÎιÏαγÏγή αÏÏείοÏ
..."
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+msgid "_Save"
+msgstr "_ÎÏοθήκεÏ
Ïη"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+msgid "_Save as..."
+msgstr "_ÎÏοθήκεÏ
Ïη ÏÏ..."
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3529,7 +3567,7 @@ msgid "Report name"
msgstr "Îνομα εκθÎÏεÏν"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
msgid "Archives"
msgstr "ÎÏÏεία"
@@ -4172,7 +4210,7 @@ msgstr "Îνομα αÏÏείοÏ
:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr "ÎÏÏ
ÏÏογÏαÏήÏÏε Ïο αÏÏείο Grisbi"
@@ -4284,11 +4322,11 @@ msgid "General configuration of Grisbi"
msgstr "Îενική διαμÏÏÏÏÏη Grisbi"
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
msgid "Web"
msgstr "ÎÏÏÏÏ"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "ÎνÏολή μηÏανÏν αναζήÏηÏÎ·Ï ÎÏÏοÏ:"
@@ -4300,44 +4338,44 @@ msgstr ""
"ÎÏοÏείÏε να ÏÏηÏιμοÏοιήÏεÏε Ïο %s για να εÏεκÏείνεÏε Ïο URL - I.e: 'firefox -"
"remote %s' "
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "ΧειÏιÏμÏÏ Î±ÏÏείÏν λογαÏιαÏμοÏ"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "ÎÏ
ÏÏμαÏη ÏÏÏÏÏÏη ÏελεÏ
ÏαίοÏ
αÏÏείοÏ
ÏÏο ξεκίνημα"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "ÎÏ
ÏÏμαÏη αÏοθήκεÏ
Ïη καÏά Ïην Îξοδο"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "ÎάνÏε Îνα εÏεδÏÎ¹ÎºÏ Î±Î½ÏίγÏαÏο ÏÏίν αÏοθηκεÏÏεÏε Ïα αÏÏεία"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr "ÎάνÏε Îνα εÏεδÏÎ¹ÎºÏ Î±Î½ÏίγÏαÏο κάθε"
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
msgid " minutes"
msgstr "ÎεÏÏά"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "ÎÏεδÏικÏÏ ÎºÎ±ÏάλογοÏ:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr "ÎÏιλογή/ÎημιοÏ
Ïγία εÏεδÏÎ¹ÎºÎ¿Ï ÎºÎ±ÏαλÏγοÏ
"
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "ΣÏ
μÏÏνία"
@@ -4627,7 +4665,7 @@ msgstr "Î ÏοÏθÎÏÏε νÎα ÏÏάÏεζα"
msgid "Contact name"
msgstr "Îνομα εÏικοινÏνίαÏ"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "ΤÏάÏεζεÏ"
@@ -6942,7 +6980,7 @@ msgstr ""
"ÏÏοÏιμήÏειÏ."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "ÎναγκαÏÏική αÏοθήκεÏ
Ïη κλειδÏμÎνÏν αÏÏείÏν"
@@ -6975,7 +7013,7 @@ msgstr ""
"ÏÏÎÏει να Ïο ακÏ
ÏÏÏεÏε και Ïο ÏÏζεÏε με Îνα άλλο Ïνομα ή ενεÏγοÏοιείÏε Ïην "
"εÏιλογή \"%s\" ÏÏην οÏγάνÏÏη."
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "αÏÏοÏδιÏÏιÏÏοÏ"
@@ -7032,7 +7070,7 @@ msgstr ""
"\n"
"<b>ÎÎλεÏε να ÏÏ
νεÏίÏεÏε;</b>"
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "ÎδÏναÏη η αÏοθήκεÏ
Ïη ÏοÏ
αÏÏείοÏ
διαμÏÏÏÏÏÎ·Ï '%s': %s"
@@ -7402,57 +7440,57 @@ msgstr ""
"ÎίÏÏε βÎβαιοι;"
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr "ÎιαμοÏÏÏÏÏε Ïη μοÏÏή"
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "ÎοÏÏή ÏÏ
ναλλαγήÏ"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr "Î ÏÏβλεÏη δομÏν μοÏÏήÏ"
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr "ΠεÏιεÏÏμενο δομÏν μοÏÏήÏ"
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr "Col 1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr "Col 2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr "Col 3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr "Col 4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr "Col 5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr "Col 6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr "ÏειÏÎÏ"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr "ÏÏήλεÏ"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
@@ -7460,11 +7498,11 @@ msgstr ""
"Îεν Ï
ÏάÏÏει καμία θÎÏη να μÏεί Ïο ÏÏοιÏείο. Î ÏÎÏει να αÏ
ξήÏεÏε Ïον αÏÎ¹Î¸Î¼Ï "
"ÏειÏÏν ή ÏÏηλÏν για να ÏÏοÏθÎÏεÏε Îνα ÏÏοιÏείο."
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr "Î ÏÎ¯Î½Î±ÎºÎ±Ï ÎµÎ¯Î½Î±Î¹ ÏλήÏηÏ"
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7486,10 +7524,6 @@ msgstr ""
"ΠλειÏοÏ
Ïγία θα εÏαναÏαξινομήÏει Ïον Ïίνακα ÏÏÎ¹Ï ÏÏÏÏÎÏ ÏιμÎÏ Î±Î»Î»Î¬ ÏÏÎÏει να "
"ελÎγξεÏε εκείνη Ïην ÏÏοειδοÏοίηÏη."
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "ÎÏ
ÏÏμαÏοÏ"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "ÎÏιλÎξÏε Ïον λογαÏιαÏμÏ"
@@ -7534,7 +7568,7 @@ msgstr "ÎÏιθμÏÏ ÏÏ
ναλλαγήÏ"
msgid "Automatic/Manual"
msgstr "ÎÏ
ÏÏμαÏοÏ/εγÏειÏίδιο"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Îικονομικά ÎÏη"
@@ -7854,7 +7888,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "ÎημιοÏ
ÏγήÏÏε Ïην νÎα ÏÏ
μÏÏνία"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
msgid "Sort for reconciliation"
msgstr "ÎαÏηγοÏιοÏοίηÏη για ÏÏ
μÏÏνία"
@@ -8073,7 +8107,7 @@ msgid "Execute transaction"
msgstr "ÎιαγÏαÏή ÏÎ·Ï ÏÏ
ναλλαγήÏ"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, c-format
msgid "Total : %s (variance : %s)"
msgstr "ΣÏνολο: %s (διαÏοÏά: %s)"
@@ -8893,7 +8927,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "ÎÏ
ÏÏμαÏη ÎνÏÏη ÎναÏξηÏ"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
#, fuzzy
msgid "Import associations"
msgstr "ÎιÏαγÏγή καÏηγοÏιÏν"
@@ -9232,72 +9266,43 @@ msgstr "Ï
Ïο--δημοÏιονομική γÏαμμή"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "ΣÏ
ναλλαγÎÏ Î¼ÎµÏαÏοÏÎ¬Ï %s"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "ΠαÏοÏ
ÏιάÏÏε _ÏÏÎµÎ¹Ï Î³ÏαμμÎÏ Î±Î½Î¬ ÏÏ
ναλλαγή"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "ÎκκινήÏÏε Ïην διαδικαÏία διÏÏθÏÏηÏ"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "ÎÎ¬Î¸Î¿Ï ÏÏο sigaction: SIGSEGV δεν είναι ÏαγιδεÏ
μÎνο\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr "ÎκδοÏη Grisbi %s, %s\n"
-#: ../src/main.c:1011
+#: ../src/main.c:1021
#, fuzzy
msgid "- Personnal finances manager"
msgstr "Î ÏοÏÏÏικÏÏ Î´Î¹ÎµÏ
θÏ
νÏÎ®Ï ÏÏημαÏοδÏÏηÏÎ·Ï Î³Î¹Î± Ïον καθÎναν\n"
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-msgid "_File"
-msgstr "_ÎÏÏείο"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-msgid "_New account file..."
-msgstr "_ÎÏÏείο νÎοÏ
λογαÏιαÏμοÏ"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-msgid "_Open..."
-msgstr "_Îνοιγμα"
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr "_Î ÏÏÏÏαÏα ανοιγμÎνα αÏÏεία"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-msgid "_Save"
-msgstr "_ÎÏοθήκεÏ
Ïη"
-
-#: ../src/menu.c:187
-msgid "_Save as..."
-msgstr "_ÎÏοθήκεÏ
Ïη ÏÏ..."
-
-#: ../src/menu.c:189
-msgid "_Import file..."
-msgstr "_ÎιÏαγÏγή αÏÏείοÏ
..."
-
#: ../src/menu.c:191
msgid "_Export accounts as QIF/CSV file..."
msgstr "_ÎξαγÏγή λογαÏιαÏμÏν ÏÏ Î±ÏÏείο QIF/CSV..."
@@ -9714,141 +9719,141 @@ msgid "Remove this report"
msgstr "ÎιαγÏάÏÏε Ïον κανÏνα"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr "Î ÏοÏιμήÏÎµÎ¹Ï Grisbi"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
msgid "Main"
msgstr "ÎÏÏιοÏ"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "ÎÏÏεία"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Î ÏογÏάμμαÏα"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "ΣÏ
μÏÏνία"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "ÎμÏάνιÏη"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "ÎηνÏμαÏα & ÏÏοειδοÏοιήÏειÏ"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
#, fuzzy
msgid "Payees, categories and budgetaries"
msgstr "ÎÏÏκÏÏ
Ïη ονομάÏÏν καÏηγοÏιÏν"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr "ΣÏ
μÏεÏιÏοÏά καÏαλÏγÏν"
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
#, fuzzy
msgid "Messages before deleting"
msgstr "ÎηνÏμαÏα & ÏÏοειδοÏοιήÏειÏ"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
msgid "Content"
msgstr "ΠεÏιεÏÏμενο"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr "ΣÏ
μÏεÏιÏοÏά"
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr "ÎλοκλήÏÏÏη"
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Î ÏÏοι"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
msgid "Currencies links"
msgstr "ΣÏ
νδÎÏÎµÎ¹Ï Î½Î¿Î¼Î¹ÏμάÏÏν"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
msgid "Balance estimate"
msgstr "ÎκÏίμηÏη ιÏοÏÏοÏίαÏ"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr "ΣÏ
μβοÏ
λή ÏÎ·Ï Î·Î¼ÎÏαÏ"
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr "ÎμÏάνιÏη ÏÏ
μβοÏ
Î»Î®Ï ÏÎ·Ï Î·Î¼ÎÏαÏ"
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
msgid "Display following warnings messages"
msgstr "ÎμÏάνιÏη ÏÏν ακÏλοÏ
θÏν μηνÏ
μάÏÏν ÏÏοειδοÏοίηÏηÏ"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr "ÎήνÏ
μα"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
#, fuzzy
msgid "Display following messages"
msgstr "ÎμÏάνιÏη ÏÏν ακÏλοÏ
θÏν μηνÏ
μάÏÏν ÏÏοειδοÏοίηÏηÏ"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr "ΣÏ
μÏίεÏη αÏÏείοÏ
Grisbi"
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "ÎÏομνημονεÏÏÏε Ïα ÏελεÏ
Ïαία ανοιγμÎνα αÏÏεία:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "ÎνÏίγÏαÏα"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
#, fuzzy
msgid "Make a single backup file"
msgstr "ÎάνÏε Îνα εÏεδÏÎ¹ÎºÏ Î±Î½ÏίγÏαÏο κάθε"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr "ΣÏ
μÏίεÏη ανÏιγÏάÏÏν Grisbi"
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "ÎάνεÏε Îνα εÏεδÏÎ¹ÎºÏ Î±Î½ÏίγÏαÏο μεÏά Ïο άνοιγμα ÏÏν αÏÏείÏν"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "ΣÏζονÏÎ±Ï Ïο αÏÏείο"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, fuzzy, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
@@ -9857,87 +9862,87 @@ msgstr ""
"ÎÏοÏείÏε να ÏÏηÏιμοÏοιήÏεÏε Ïο %s για να εÏεκÏείνεÏε Ïο URL - I.e: 'firefox -"
"remote %s' "
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr "Î ÏοειδοÏοιήÏÎµÎ¹Ï ÏÏονοÏÏογÏαμμαÏιÏÏÏν ÏÏο άνοιγμα Grisbi"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr ""
"Î ÏοειδοÏοιείÏÏε/εκÏελÎÏÏε ÏÎ¹Ï ÏÏεδιαÏμÎÎ½ÎµÏ ÏÏ
ναλλαγÎÏ ÏθάνονÏÎ±Ï ÏÏην "
"ημεÏομηνία λήξηÏ"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "Î ÏοειδοÏοιήÏÏε/εκÏελÎÏÏε ÏÎ¹Ï ÏÏεδιαÏμÎÎ½ÎµÏ ÏÏ
ναλλαγÎÏ ÏοÏ
μήνα"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
#, fuzzy
msgid "Number of days before the warning or the execution: "
msgstr "ÎÏιθμÏÏ Î·Î¼ÎµÏÏν ÏÏιν αÏÏ Ïην ÏÏοειδοÏοίηÏη ή Ïην εκÏÎλεÏη:"
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
#, fuzzy
msgid "Sort option for transactions"
msgstr "ÎÏιβεβαίÏÏη ÏÎ·Ï ÎµÎ¹ÏαγÏÎ³Î®Ï ÏÏν ÏÏ
ναλλαγÏν"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
#, fuzzy
msgid "by number"
msgstr "ÎÏιθμÏÏ Î´Î¹ÎºÎ±Î¹Î¿ÏÏÏν ÏληÏÏμήÏ"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "ÎÏιλογή ημεÏομηνίαÏ"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "ÎÏÏική ιÏοÏÏοÏία"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "ÎÏιλογή ημεÏομηνίαÏ"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "ÎÏιλÎξÏε Ïον λογαÏιαÏμÏ"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "ΤÏÏÎ¿Ï Î±ÏÏείοÏ
"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
#, fuzzy
msgid "Decimal point: "
msgstr "ΧÏÏιÏμÏÏ ÏÏοιÏείÏν:"
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
#, fuzzy
msgid "Thousands separator: "
msgstr "ÎÏιλÎξÏε Ïο διαÏÏÏιÏÏή CSV:"
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10660,7 +10665,7 @@ msgstr "ÎμÏάνιÏη ÏÏ
μβοÏ
λÏν ÏÏην εÏÏμενη εκκίνη
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
@@ -10668,7 +10673,7 @@ msgstr ""
"Î ÏοÏÏαθήÏÏε να αλλάξεÏε μια οÏαÏή γÏαμμή αÏÏ Ïο transaction_list_set. Îεν "
"ÏÏÎÏει να εÏιÏÏ
ναÏθεί! ÎλÎγξÏε Ïο."
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/eo.po b/po/eo.po
index 5437ebc..f7df3b8 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: eo\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2009-06-28 20:04+0200\n"
"Last-Translator: Cyril Castelbou <cyril.castelbou at free.fr>\n"
"Language-Team: esperanto <eo at li.org>\n"
@@ -203,7 +203,7 @@ msgstr ""
msgid "Currency"
msgstr ""
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr ""
@@ -243,7 +243,7 @@ msgstr ""
msgid "Back to default"
msgstr ""
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr ""
@@ -467,7 +467,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
msgid "Year"
msgstr ""
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
msgid "General Options"
msgstr ""
@@ -523,7 +523,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
msgid "Accounts data"
msgstr ""
@@ -795,13 +795,13 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
msgid "Print the array"
msgstr ""
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
msgid "Export the array"
msgstr ""
@@ -860,12 +860,12 @@ msgstr ""
msgid "Credits"
msgstr ""
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr ""
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -875,7 +875,7 @@ msgstr ""
msgid "credit.csv"
msgstr ""
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr ""
@@ -1226,6 +1226,11 @@ msgstr ""
msgid "Start date: "
msgstr ""
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr ""
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1243,7 +1248,7 @@ msgid "Balance"
msgstr ""
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1263,70 +1268,70 @@ msgstr ""
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
msgid "Delete selection"
msgstr ""
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
msgid "Change selection"
msgstr ""
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
msgid "Delete all occurences of the selection"
msgstr ""
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
msgid "Convert selection to scheduled transaction"
msgstr ""
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
msgid "Insert the balance of a cash account"
msgstr ""
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr ""
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
msgid " (budget exceeded)"
msgstr ""
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
msgid "No data by default"
msgstr ""
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr ""
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr ""
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
msgid "Export the array of forecast"
msgstr ""
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
msgid "Balance at "
msgstr ""
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1404,7 +1409,7 @@ msgstr ""
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr ""
@@ -2028,7 +2033,7 @@ msgstr ""
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr ""
@@ -2431,13 +2436,13 @@ msgid "Generalities"
msgstr ""
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr ""
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr ""
@@ -2476,7 +2481,7 @@ msgstr ""
msgid "Transactions display"
msgstr ""
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr ""
@@ -2865,7 +2870,7 @@ msgstr ""
msgid "Reconciliation number"
msgstr ""
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr ""
@@ -2882,7 +2887,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr ""
@@ -3051,6 +3056,39 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr ""
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+msgid "_File"
+msgstr ""
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+msgid "_New account file..."
+msgstr ""
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+msgid "_Open..."
+msgstr ""
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr ""
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+msgid "_Import file..."
+msgstr ""
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+msgid "_Save"
+msgstr ""
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+msgid "_Save as..."
+msgstr ""
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3202,7 +3240,7 @@ msgid "Report name"
msgstr ""
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
msgid "Archives"
msgstr ""
@@ -3691,7 +3729,7 @@ msgstr ""
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -3773,11 +3811,11 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
msgid "Web"
msgstr ""
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
msgid "Web browser command: "
msgstr ""
@@ -3786,43 +3824,43 @@ msgstr ""
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr ""
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr ""
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr ""
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr ""
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr ""
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
msgid " minutes"
msgstr ""
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
msgid "Backup directory: "
msgstr ""
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr ""
@@ -4053,7 +4091,7 @@ msgstr ""
msgid "Contact name"
msgstr ""
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr ""
@@ -6211,7 +6249,7 @@ msgid ""
msgstr ""
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr ""
@@ -6241,7 +6279,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr ""
@@ -6293,7 +6331,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr ""
@@ -6611,67 +6649,67 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr ""
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr ""
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr ""
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr ""
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr ""
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr ""
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr ""
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr ""
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr ""
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr ""
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr ""
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -6686,10 +6724,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr ""
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr ""
@@ -6734,7 +6768,7 @@ msgstr ""
msgid "Automatic/Manual"
msgstr ""
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr ""
@@ -7010,7 +7044,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr ""
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
msgid "Sort for reconciliation"
msgstr ""
@@ -7213,7 +7247,7 @@ msgid "Execute transaction"
msgstr ""
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, c-format
msgid "Total : %s (variance : %s)"
msgstr ""
@@ -7909,7 +7943,7 @@ msgstr ""
msgid "Manage import associations"
msgstr ""
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
msgid "Import associations"
msgstr ""
@@ -8215,69 +8249,40 @@ msgstr ""
msgid "Transfer all transactions in another sub-budgetary line"
msgstr ""
-#: ../src/main.c:124
+#: ../src/main.c:125
msgid "Show the application's version"
msgstr ""
-#: ../src/main.c:126
+#: ../src/main.c:127
msgid "Debug mode: level 0-5"
msgstr ""
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr ""
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr ""
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-msgid "_File"
-msgstr ""
-
-#: ../src/menu.c:171 ../src/menu.c:179
-msgid "_New account file..."
-msgstr ""
-
-#: ../src/menu.c:173 ../src/menu.c:181
-msgid "_Open..."
-msgstr ""
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr ""
-
-#: ../src/menu.c:176 ../src/menu.c:184
-msgid "_Save"
-msgstr ""
-
-#: ../src/menu.c:187
-msgid "_Save as..."
-msgstr ""
-
-#: ../src/menu.c:189
-msgid "_Import file..."
-msgstr ""
-
#: ../src/menu.c:191
msgid "_Export accounts as QIF/CSV file..."
msgstr ""
@@ -8671,209 +8676,209 @@ msgid "Remove this report"
msgstr ""
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr ""
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
msgid "Main"
msgstr ""
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr ""
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr ""
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
msgid "Localization"
msgstr ""
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr ""
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr ""
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
msgid "Payees, categories and budgetaries"
msgstr ""
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
msgid "Messages before deleting"
msgstr ""
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
msgid "Content"
msgstr ""
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr ""
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
msgid "Currencies links"
msgstr ""
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
msgid "Balance estimate"
msgstr ""
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
msgid "Display following warnings messages"
msgstr ""
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr ""
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
msgid "Display following messages"
msgstr ""
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
msgid "Memorise last opened files: "
msgstr ""
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr ""
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
msgid "Make a single backup file"
msgstr ""
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr ""
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
msgid "Config file"
msgstr ""
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr ""
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr ""
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
msgid "Warn/Execute the scheduled transactions of the month"
msgstr ""
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
msgid "Number of days before the warning or the execution: "
msgstr ""
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
msgid "Sort option for transactions"
msgstr ""
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
msgid "by number"
msgstr ""
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
msgid "Expand the line"
msgstr ""
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
msgid "Edit the line"
msgstr ""
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
msgid "Manage the line"
msgstr ""
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
msgid "Choose the date format"
msgstr ""
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
msgid "Date format"
msgstr ""
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
msgid "Decimal point: "
msgstr ""
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -9523,13 +9528,13 @@ msgstr ""
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/es.po b/po/es.po
index caa02f1..f4862dd 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2010-05-09 11:48+0100\n"
"Last-Translator: Carlos M. Cámara Mora <cmcamara at gmail.com>\n"
"Language-Team: Spanish <es at li.org>\n"
@@ -212,7 +212,7 @@ msgstr "Tipo de cuenta"
msgid "Currency"
msgstr "Moneda"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "Fuentes y logotipo"
@@ -253,7 +253,7 @@ msgstr "Escogiendo un color"
msgid "Back to default"
msgstr "Volver a los valores por defecto"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Direcciones y tÃtulos"
@@ -486,7 +486,7 @@ msgstr ""
"ilimitado): "
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
#, fuzzy
msgid "Transactions list cells"
msgstr "Comportamiento de la lista de transacciones"
@@ -511,7 +511,7 @@ msgstr "Mes"
msgid "Year"
msgstr "Año"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
msgid "General Options"
msgstr "Opciones Generales"
@@ -548,7 +548,7 @@ msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
"Nota: Esta opción se usa si no hay una fecha de inicio para las predicciones."
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
msgid "Accounts data"
msgstr "Datos de la cuenta"
@@ -839,14 +839,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "Impresora"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "Impresora"
@@ -912,12 +912,12 @@ msgstr "Estimar tabla"
msgid "Credits"
msgstr "Crédito"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "Imprimir"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -928,7 +928,7 @@ msgstr "Exportar"
msgid "credit.csv"
msgstr "Crédito"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "No puedo guardar el archivo."
@@ -1292,6 +1292,11 @@ msgstr "Balance al comienzo del periodo"
msgid "Start date: "
msgstr "Fecha de comienzo:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "Automático"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr "Marque la casilla para cambiar automáticamente la fecha de comienzo"
@@ -1309,7 +1314,7 @@ msgid "Balance"
msgstr "Balance"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1331,72 +1336,72 @@ msgstr "Añadiendo al balance"
msgid "Insert Row"
msgstr "Insertar una Fila"
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
msgid "Delete selection"
msgstr "Borrar selección"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
msgid "Change selection"
msgstr "Cambiar selección"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
msgid "Delete all occurences of the selection"
msgstr "Borrar todas las ocurrencias de la selección"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
msgid "Convert selection to scheduled transaction"
msgstr "Convertir la selección en un transacción programada"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
msgid "Insert the balance of a cash account"
msgstr "Inserte el balance de una cuenta de efectivo"
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr "Reiniciar datos"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr "(aun disponible)"
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
msgid " (budget exceeded)"
msgstr "(presupuesto excedido)"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr "(sà a recibir)"
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
msgid "No data by default"
msgstr "Sin valores por defecto"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Sin categorÃa"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Sin lÃnea presupuestaria"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "Exportar las lÃneas presupuestarias"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "Balance "
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
#, fuzzy
msgid "forecast.csv"
msgstr "Predicción"
@@ -1486,7 +1491,7 @@ msgstr "Crear una nueva subcategorÃa"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Importar"
@@ -2164,7 +2169,7 @@ msgstr "Año financiero"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "Formas de pago"
@@ -2585,13 +2590,13 @@ msgid "Generalities"
msgstr "Generalidades"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "Transacciones"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "Monedas"
@@ -2630,7 +2635,7 @@ msgstr "Contenido de las transacciones"
msgid "Transactions display"
msgstr "Formato de las transacciones"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "Monedas totales"
@@ -3053,7 +3058,7 @@ msgstr "LÃneas subpresupuestarias"
msgid "Reconciliation number"
msgstr "Número reconciliación"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "Página principal"
@@ -3071,7 +3076,7 @@ msgid "Amortization array"
msgstr "Estimar tabla"
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "Planificador"
@@ -3284,6 +3289,39 @@ msgstr "El fichero '%s' se ha guardado con éxito"
msgid "File '%s' could not be saved"
msgstr "El fichero '%s' no pudo ser guardado"
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+msgid "_File"
+msgstr "_Archivo"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+msgid "_New account file..."
+msgstr "_Nuevo archivo de cuentas..."
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+msgid "_Open..."
+msgstr "_Abrir..."
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr "_Archivos abiertos recientemente"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+msgid "_Import file..."
+msgstr "_Importar archivo"
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+msgid "_Save"
+msgstr "_Guardar"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+msgid "_Save as..."
+msgstr "_Guardar como..."
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3444,7 +3482,7 @@ msgid "Report name"
msgstr "Nombre del informe"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
msgid "Archives"
msgstr "Archivos"
@@ -4046,7 +4084,7 @@ msgstr "Nombre del fichero: "
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr "Encriptar el archivo de Grisbi"
@@ -4160,11 +4198,11 @@ msgid "General configuration of Grisbi"
msgstr "Configuración general de Grisbi"
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
msgid "Web"
msgstr "Web"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
msgid "Web browser command: "
msgstr "Comando para el navegador web: "
@@ -4173,43 +4211,43 @@ msgstr "Comando para el navegador web: "
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr "Podrá usar %s para cargar la URL. EJ: 'firefox -remote %s' "
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "Manejo de los archivos de cuentas"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "Cargar automáticamente el último archivo abierto al inicio"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "Guardar automáticamente al salir"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "Hacer una copia de seguridad antes de guardar los archivos"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr "Hacer una copia de seguridad cada "
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
msgid " minutes"
msgstr "minutos"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
msgid "Backup directory: "
msgstr "Directorio de copias de seguridad: "
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr "Seleccionar/Crear un directorio de copias de seguridad"
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "Reconciliación"
@@ -4497,7 +4535,7 @@ msgstr "Añadir un nuevo banco"
msgid "Contact name"
msgstr "Nombre de contacto"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Bancos"
@@ -6763,7 +6801,7 @@ msgstr ""
"guárdelo con otro nombre o active la opción \"%s\" en la configuración."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "Forzar guardar en los fichero bloqueados"
@@ -6796,7 +6834,7 @@ msgstr ""
"debe cancelar y guardarlo con otro nombre o activar la opción \"%s\" en la "
"configuración."
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "Sin nombre"
@@ -6853,7 +6891,7 @@ msgstr ""
"<b>¿ Quiere borrar este fichero:\n"
"%s ?</b>"
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "No se puede guardar el fichero de configuración '%s': %s"
@@ -7216,57 +7254,57 @@ msgstr ""
"¿ Está seguro ?"
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr "Configurar el formulario"
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "Formulario de transacción"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr "Vista previa de la estructura del formulario"
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr "Contenido de la estructura del formulario"
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr "Col 1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr "Col 2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr "Col 3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr "Col 4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr "Col 5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr "Col 6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr "Filas"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr "columnas"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
@@ -7274,11 +7312,11 @@ msgstr ""
"No hay sitio suficiente para poner el elemento. Necesita aumentar el número "
"de filas o columnas para añadir un elemento."
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr "La tabla está llena"
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7300,10 +7338,6 @@ msgstr ""
"La función cambiará el tamaño de la tabla a los valores correctos pero "
"deberÃa comprobar esta advertencia."
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "Automático"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "Elegir la cuenta"
@@ -7348,7 +7382,7 @@ msgstr "Número de transacción"
msgid "Automatic/Manual"
msgstr "Automático/Manual"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Años financieros"
@@ -7661,7 +7695,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Borrar reconciliación"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
msgid "Sort for reconciliation"
msgstr "Orden para la reconciliación"
@@ -7877,7 +7911,7 @@ msgid "Execute transaction"
msgstr "Ejecutar la transacción"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, c-format
msgid "Total : %s (variance : %s)"
msgstr "Total : %s (variación : %s)"
@@ -8681,7 +8715,7 @@ msgstr "De acuerdo con la fecha valor (si fall, intentar con la fecha)"
msgid "Manage import associations"
msgstr "Administrar la importación de asociaciones"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
msgid "Import associations"
msgstr "Importar asociaciones"
@@ -9019,72 +9053,43 @@ msgstr "lÃnea subpresupuestaria"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "Transferir las transacciones a %s"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "Muestra _tres lÃneas por transacción"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "Mode de depuración"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "Error en sigaction: SIGSEGV no será interrumpido\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr "Grisbi versión %s, %s\n"
-#: ../src/main.c:1011
+#: ../src/main.c:1021
#, fuzzy
msgid "- Personnal finances manager"
msgstr "Gestor de finanzas personal para todo el mundo\n"
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-msgid "_File"
-msgstr "_Archivo"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-msgid "_New account file..."
-msgstr "_Nuevo archivo de cuentas..."
-
-#: ../src/menu.c:173 ../src/menu.c:181
-msgid "_Open..."
-msgstr "_Abrir..."
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr "_Archivos abiertos recientemente"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-msgid "_Save"
-msgstr "_Guardar"
-
-#: ../src/menu.c:187
-msgid "_Save as..."
-msgstr "_Guardar como..."
-
-#: ../src/menu.c:189
-msgid "_Import file..."
-msgstr "_Importar archivo"
-
#: ../src/menu.c:191
msgid "_Export accounts as QIF/CSV file..."
msgstr "_Exportar Cuentas como archivo QIF/CSV ..."
@@ -9496,138 +9501,138 @@ msgid "Remove this report"
msgstr "Eliminar la regla"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr "Preferencias de grisbi"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
msgid "Main"
msgstr "Principal"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "Archivos"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programas"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "Reconciliación"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "Mostrar"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "Mensajes y Avisos"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
msgid "Payees, categories and budgetaries"
msgstr "Terceros, categorÃas y presupuestos"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr "Comportamiento de la lista"
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
msgid "Messages before deleting"
msgstr "Mensajes antes del borrado"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
msgid "Content"
msgstr "Contenido"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr "Comportamiento"
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr "Autocompletado"
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Recursos"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
msgid "Currencies links"
msgstr "Tasas de cambio entre monedas"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
msgid "Balance estimate"
msgstr "Balance estimado"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr "Consejo del dÃa"
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr "Mostrar el consejo del dÃa"
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
msgid "Display following warnings messages"
msgstr "Mostrar los siguientes mensajes de advertencia"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr "Mensaje"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
msgid "Display following messages"
msgstr "Mostrar los siguientes mensajes"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr "Comprimir el fichero de Grisbi"
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "Recordar los últimos archivos abiertos:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "Copias de seguridad"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
msgid "Make a single backup file"
msgstr "Hacer un único fichero de respaldo"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr "Comprimir la copia de seguridad de Grisbi"
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "Hacer una copia de seguridad antes de abrir los archivos"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "Guardando archivo"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
#, fuzzy
msgid "Use the config file of version stable as model"
msgstr "Borrar el fichero de configuración de una versión anterior"
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the U figuración de una versión anterior" n." r con la fecha)" action_list_set. Îεν " ½Î±" ην " ι να " ÿ u{ã+ ª|ã+ ¥ã+ ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ RL I.e:\n"
@@ -9636,84 +9641,84 @@ msgstr ""
"Podrá usar %s para cargar la URL. EJ:\n"
"'firefox -remote %s' "
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr "Avisos del programador de tareas al iniciar Grisbi"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr ""
"Aviso/Ejecutar la transacción programada actual si está en la fecha de "
"vencimiento"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "Aviso/Ejecutar las transacciones programadas del mes"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
msgid "Number of days before the warning or the execution: "
msgstr "Número de dÃas antes del mensaje de aviso o de la ejecución: "
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
msgid "Sort option for transactions"
msgstr "Opción para ordenar las transacciones"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
msgid "by number"
msgstr "por número"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
#, fuzzy
msgid "by increasing date"
msgstr "No se encuentran los datos"
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "Cambiar selección"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "Añadiendo al balance"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "Cambiar selección"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "Elegir la cuenta"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "Formato de archivo"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
msgid "Decimal point: "
msgstr "Separación de datos: "
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
#, fuzzy
msgid "Thousands separator: "
msgstr "Elija un separador CSV: "
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10496,7 +10501,7 @@ msgstr "Mostrar consejos al iniciar la próxima vez"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
@@ -10504,7 +10509,7 @@ msgstr ""
"Intente cambiar una lÃnea visible por transaction_list_set ¡ DeberÃa "
"añadirlo !Comprobar eso."
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/fa.po b/po/fa.po
index e6372bf..0ee0dfb 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: girisbi VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2008-10-02 10:07+0330\n"
"Last-Translator: hadi <hadi60 at gmail.com>\n"
"Language-Team: farsi <en at li.org>\n"
@@ -214,7 +214,7 @@ msgstr "Øساب Ùا"
msgid "Currency"
msgstr "ÙاØد"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr ""
@@ -258,7 +258,7 @@ msgstr ""
msgid "Back to default"
msgstr ""
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "آدرس ٠عÙÙاÙ"
@@ -495,7 +495,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
#, fuzzy
msgid "Transactions list cells"
msgstr "تراکÙØ´"
@@ -521,7 +521,7 @@ msgstr "Ù
ا٠Ùا"
msgid "Year"
msgstr "ساÙ"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "عÙ
ÙÙ
Û"
@@ -558,7 +558,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "ØسابÙا"
@@ -851,14 +851,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "پرÛÙتر"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "پرÛÙتر"
@@ -924,12 +924,12 @@ msgstr "تÙضÛØات"
msgid "Credits"
msgstr "Ù
ا٠جارÛ"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "پرÛÙت"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -940,7 +940,7 @@ msgstr "صادر"
msgid "credit.csv"
msgstr "Ù
ا٠جارÛ"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "ÙاÛ٠ذخÛر٠Ùشد."
@@ -1304,6 +1304,11 @@ msgstr ""
msgid "Start date: "
msgstr "شرÙع:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "اتÙÙ
اتÛÚ©"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1321,7 +1326,7 @@ msgid "Balance"
msgstr ""
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1342,74 +1347,74 @@ msgstr "جزئÛات باÙÚ©"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "تÙضÛØات"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "تÙضÛØات"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr "جستجÙÛ ØªØ±Ø§Ú©ÙØ´"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "جستجÙÛ ØªØ±Ø§Ú©ÙØ´"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
msgid "Insert the balance of a cash account"
msgstr ""
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr ""
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
msgid " (budget exceeded)"
msgstr ""
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
msgid "No data by default"
msgstr ""
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr ""
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr ""
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
msgid "Export the array of forecast"
msgstr ""
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
msgid "Balance at "
msgstr ""
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1489,7 +1494,7 @@ msgstr ""
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr ""
@@ -2129,7 +2134,7 @@ msgstr ""
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr ""
@@ -2537,13 +2542,13 @@ msgid "Generalities"
msgstr ""
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr ""
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr ""
@@ -2586,7 +2591,7 @@ msgstr "تراکÙØ´"
msgid "Transactions display"
msgstr "تراکÙØ´"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr ""
@@ -2985,7 +2990,7 @@ msgstr ""
msgid "Reconciliation number"
msgstr ""
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr ""
@@ -3002,7 +3007,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr ""
@@ -3178,6 +3183,39 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr ""
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+msgid "_File"
+msgstr "ÙاÛÙ"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+msgid "_New account file..."
+msgstr ""
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+msgid "_Open..."
+msgstr ""
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr ""
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+msgid "_Import file..."
+msgstr ""
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+msgid "_Save"
+msgstr "ذخÛرÙ"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+msgid "_Save as..."
+msgstr ""
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3339,7 +3377,7 @@ msgid "Report name"
msgstr ""
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
#, fuzzy
msgid "Archives"
msgstr "Ùعا٠سازÛ"
@@ -3850,7 +3888,7 @@ msgstr "ÙاÙ
ÙاÛÙ:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -3934,12 +3972,12 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
#, fuzzy
msgid "Web"
msgstr "Ùب ساÛت"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "Ù
رÙرگر:"
@@ -3949,45 +3987,45 @@ msgstr "Ù
رÙرگر:"
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr ""
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr ""
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr ""
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr ""
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr ""
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
#, fuzzy
msgid " minutes"
msgstr "درآÙ
د Ùا"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "ÙاÛ٠پشتÛباÙ:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr ""
@@ -4221,7 +4259,7 @@ msgstr ""
msgid "Contact name"
msgstr "ÙاÙ
"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "باÙÚ© Ùا"
@@ -6450,7 +6488,7 @@ msgid ""
msgstr ""
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr ""
@@ -6481,7 +6519,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "Ø¨Û ÙاÙ
"
@@ -6533,7 +6571,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr ""
@@ -6857,67 +6895,67 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr ""
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr ""
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr ""
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr ""
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr ""
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr ""
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr ""
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr ""
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr ""
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr ""
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr ""
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -6932,10 +6970,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "اتÙÙ
اتÛÚ©"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr ""
@@ -6982,7 +7016,7 @@ msgstr ""
msgid "Automatic/Manual"
msgstr ""
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr ""
@@ -7271,7 +7305,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Øساب Øذ٠شدÙ"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
msgid "Sort for reconciliation"
msgstr ""
@@ -7481,7 +7515,7 @@ msgid "Execute transaction"
msgstr "جستجÙÛ ØªØ±Ø§Ú©ÙØ´"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, c-format
msgid "Total : %s (variance : %s)"
msgstr ""
@@ -8206,7 +8240,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "جستجÙÛ ØªØ±Ø§Ú©ÙØ´"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
#, fuzzy
msgid "Import associations"
msgstr "تÙضÛØات"
@@ -8529,69 +8563,40 @@ msgstr "بخش ÙØ§Û Ø¯Ø±Ø¢Ù
د"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "جستجÙÛ ØªØ±Ø§Ú©ÙØ´"
-#: ../src/main.c:124
+#: ../src/main.c:125
msgid "Show the application's version"
msgstr ""
-#: ../src/main.c:126
+#: ../src/main.c:127
msgid "Debug mode: level 0-5"
msgstr ""
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr ""
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr ""
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-msgid "_File"
-msgstr "ÙاÛÙ"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-msgid "_New account file..."
-msgstr ""
-
-#: ../src/menu.c:173 ../src/menu.c:181
-msgid "_Open..."
-msgstr ""
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr ""
-
-#: ../src/menu.c:176 ../src/menu.c:184
-msgid "_Save"
-msgstr "ذخÛرÙ"
-
-#: ../src/menu.c:187
-msgid "_Save as..."
-msgstr ""
-
-#: ../src/menu.c:189
-msgid "_Import file..."
-msgstr ""
-
#: ../src/menu.c:191
msgid "_Export accounts as QIF/CSV file..."
msgstr ""
@@ -8997,223 +9002,223 @@ msgid "Remove this report"
msgstr "Øذ٠گزارش"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr ""
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
#, fuzzy
msgid "Main"
msgstr "اÛÙ
ÛÙ"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "ÙاÛÙ Ùا"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr ""
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "تÙضÛØات"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "ÙÙ
اÛØ´"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr ""
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
#, fuzzy
msgid "Payees, categories and budgetaries"
msgstr "بخش ÙØ§Û Ø¯Ø±Ø¢Ù
د"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
msgid "Messages before deleting"
msgstr ""
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
#, fuzzy
msgid "Content"
msgstr "ارتباط"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr ""
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
#, fuzzy
msgid "Currencies links"
msgstr "ÙاÙ
ÙاØد"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
msgid "Balance estimate"
msgstr ""
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
#, fuzzy
msgid "Display following warnings messages"
msgstr "Ù¾ÛغاÙ
Ùشدار"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr ""
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
#, fuzzy
msgid "Display following messages"
msgstr "Ù¾ÛغاÙ
Ùشدار"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
msgid "Memorise last opened files: "
msgstr ""
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "پشتÛبا٠Ùا"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
msgid "Make a single backup file"
msgstr ""
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr ""
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "ÙاÛÙ CSV"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr ""
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr ""
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
#, fuzzy
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "جستجÙÛ ØªØ±Ø§Ú©ÙØ´"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
msgid "Number of days before the warning or the execution: "
msgstr ""
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
#, fuzzy
msgid "Sort option for transactions"
msgstr "Øذ٠تراکÙØ´"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
msgid "by number"
msgstr ""
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "تÙضÛØات"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "جزئÛات باÙÚ©"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "تÙضÛØات"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
msgid "Choose the date format"
msgstr ""
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "ÙاÙ
ÙاÛÙ"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
msgid "Decimal point: "
msgstr ""
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -9878,13 +9883,13 @@ msgstr ""
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/fr.po b/po/fr.po
index 9dd86f2..1aba441 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fr\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2012-01-01 22:48+0100\n"
"Last-Translator: Pierre Biava <pierre at pierre.biava.name>\n"
"Language-Team: GNOME French Team <gnomefr at traduc.org>\n"
@@ -218,7 +218,7 @@ msgstr "Type de compte"
msgid "Currency"
msgstr "Devise"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "Polices et logo"
@@ -258,7 +258,7 @@ msgstr "Choisissez une couleur"
msgid "Back to default"
msgstr "Restaurer les réglages par défaut"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Adresses et titres"
@@ -484,7 +484,7 @@ msgstr ""
"Nombre maximum de lignes dans les menus déroulants (0 pas de limite) : "
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr "Cellules de la liste des opérations"
@@ -506,7 +506,7 @@ msgstr "Mois"
msgid "Year"
msgstr "Année"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
msgid "General Options"
msgstr "Généralités"
@@ -542,7 +542,7 @@ msgstr ""
"Note : cette option est utilisée en l'absence d'une date de début pour les "
"prévisions."
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
msgid "Accounts data"
msgstr "Données des comptes"
@@ -824,13 +824,13 @@ msgstr "Afficher le tableau d'amortissement depuis le début"
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
msgid "Print the array"
msgstr "Imprimer le tableau"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
msgid "Export the array"
msgstr "Exporter le tableau"
@@ -889,12 +889,12 @@ msgstr "Amortissement"
msgid "Credits"
msgstr "Crédits"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "Imprimer"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -904,7 +904,7 @@ msgstr "Exporter"
msgid "credit.csv"
msgstr "crédit.csv"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "Impossible d'enregistrer le fichier."
@@ -1261,6 +1261,11 @@ msgstr "Solde initial de la période"
msgid "Start date: "
msgstr "Date de départ : "
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "Automatique"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr "Cochez la case pour changer automatiquement de date de début"
@@ -1278,7 +1283,7 @@ msgid "Balance"
msgstr "Solde"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1300,70 +1305,70 @@ msgstr "Ajouter au solde"
msgid "Insert Row"
msgstr "Insérer une ligne"
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
msgid "Delete selection"
msgstr "Supprimer la ligne"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
msgid "Change selection"
msgstr "Modifier la ligne"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
msgid "Delete all occurences of the selection"
msgstr "Supprimer toutes les occurences de la ligne"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
msgid "Convert selection to scheduled transaction"
msgstr "Convertir la ligne en opération planifiée"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
msgid "Insert the balance of a cash account"
msgstr "Insérer le solde d'un compte de caisse"
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr "Réinitialiser les données"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr " (reste à utiliser)"
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
msgid " (budget exceeded)"
msgstr " (budget dépassé)"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr " (reste à recevoir)"
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
msgid "No data by default"
msgstr "Pas de donnée disponible par défaut"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Pas de catégorie"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Pas d'imputation budgétaire"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
msgid "Export the array of forecast"
msgstr "Exporter les prévisions"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
msgid "Balance at "
msgstr "Solde au "
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr "prévisions.csv"
@@ -1452,7 +1457,7 @@ msgstr "Créer une nouvelle sous-catégorie"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Importer"
@@ -2126,7 +2131,7 @@ msgstr "Exercice"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "Modes de règlement"
@@ -2545,13 +2550,13 @@ msgid "Generalities"
msgstr "Généralités"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "Opérations"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "Devises"
@@ -2590,7 +2595,7 @@ msgstr "Contenu de l'opération"
msgid "Transactions display"
msgstr "Afficher les opérations"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "Devises des totaux"
@@ -3009,7 +3014,7 @@ msgstr "Sous-imputations budgétaires"
msgid "Reconciliation number"
msgstr "N° de rapprochement"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "Accueil"
@@ -3026,7 +3031,7 @@ msgid "Amortization array"
msgstr "Tableau d'amortissement"
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "Ãchéancier"
@@ -3244,6 +3249,39 @@ msgstr "Le fichier %s a été enregistré avec succès"
msgid "File '%s' could not be saved"
msgstr "Le fichier %s ne peut pas être sauvegardé"
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+msgid "_File"
+msgstr "_Fichier"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+msgid "_New account file..."
+msgstr "_Nouveau fichier de compte"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+msgid "_Open..."
+msgstr "_Ouvrir..."
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr "_Derniers fichiers"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+msgid "_Import file..."
+msgstr "_Importer un fichier..."
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+msgid "_Save"
+msgstr "_Enregistrer"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+msgid "_Save as..."
+msgstr "Enregistrer _sous..."
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3404,7 +3442,7 @@ msgid "Report name"
msgstr "Nom de l'état"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
msgid "Archives"
msgstr "Archives"
@@ -4001,7 +4039,7 @@ msgstr "Nom du fichier : "
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr "Chiffrer le fichier Grisbi"
@@ -4109,11 +4147,11 @@ msgid "General configuration of Grisbi"
msgstr "Généralités"
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
msgid "Web"
msgstr "Web"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
msgid "Web browser command: "
msgstr "Navigateur Web : "
@@ -4124,43 +4162,43 @@ msgstr ""
"En cas de non fonctionnement vous pouvez essayer de mettre %s\n"
"Exemple : 'firefox -remote %s'"
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "Gestion des fichiers de comptes"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "Chargement automatique du dernier fichier consulté"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "Enregistrer automatiquement en fermant"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "Effectuer une copie de sauvegarde avant d'enregistrer les fichiers"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr "Effectuer une copie de sauvegarde toutes les "
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
msgid " minutes"
msgstr " minutes"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
msgid "Backup directory: "
msgstr "Répertoire de sauvegarde : "
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr "Sélectionner/Créer un répertoire de sauvegarde"
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "Rapprochement"
@@ -4444,7 +4482,7 @@ msgstr "Ajouter une nouvelle banque"
msgid "Contact name"
msgstr "Correspondant"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Banques"
@@ -6704,7 +6742,7 @@ msgstr ""
"les préférences."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "Forcer l'enregistrement des fichiers verrouillés"
@@ -6737,7 +6775,7 @@ msgstr ""
"l'enregistrer, vous devez annuler et le sauvegarder sous un autre nom ou "
"alors activer l'option « %s » dans les préférences."
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "sans nom"
@@ -6796,7 +6834,7 @@ msgstr ""
"<b>Voulez-vous supprimer ce fichier :\n"
"%s ?</b>"
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "Impossible d'enregistrer le fichier de configuration « %s » : %s"
@@ -7166,57 +7204,57 @@ msgstr ""
"Etes vous certain ?"
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr "Configurer le formulaire"
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "Formulaire des opérations"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr "Prévisualisation de la structure du formulaire"
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr "Contenu de la structure du formulaire"
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr "Col 1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr "Col 2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr "Col 3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr "Col 4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr "Col 5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr "Col 6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr "lignes"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr "colonnes"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
@@ -7224,11 +7262,11 @@ msgstr ""
"Il n'y a pas assez de place pour mettre l'élément. Vous devez augmenter le "
"nombre de lignes ou de colonnes pour ajouter un élément supplémentaire."
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr "La table est pleine"
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7250,10 +7288,6 @@ msgstr ""
"La fonction redimensionne la table avec les valeurs correctes, mais vérifiez "
"le résultat."
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "Automatique"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "Choix du compte affecté"
@@ -7298,7 +7332,7 @@ msgstr "N° opération"
msgid "Automatic/Manual"
msgstr "Auto/Manuel"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Exercices"
@@ -7604,7 +7638,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Supprimer un rapprochement"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
msgid "Sort for reconciliation"
msgstr "Options de tri pour les rapprochements"
@@ -7816,7 +7850,7 @@ msgid "Execute transaction"
msgstr "Exécuter l'opération"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, c-format
msgid "Total : %s (variance : %s)"
msgstr "Total : %s (écart : %s)"
@@ -8606,7 +8640,7 @@ msgstr "Utiliser la date de valeur ou la date de l'opération si non présente"
msgid "Manage import associations"
msgstr "Gérer les associations pour l'import"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
msgid "Import associations"
msgstr "Associations pour l'import"
@@ -8930,7 +8964,7 @@ msgstr "Nouvelle sous-imputation"
#: ../src/imputation_budgetaire.c:1114
msgid "Edit selected sub-budgetary line"
-msgstr "Ãditer l'imputation sélectionnée"
+msgstr "Ãditer la sous-imputation sélectionnée"
#: ../src/imputation_budgetaire.c:1136
msgid "Manage sub-budgetary line"
@@ -8938,74 +8972,45 @@ msgstr "Gérer les sous-imputations"
#: ../src/imputation_budgetaire.c:1139
msgid "Transfer all transactions in another sub-budgetary line"
-msgstr "Transférer les opérations dans une autre sous-catégorie"
+msgstr "Transférer les opérations dans une autre sous-imputation"
-#: ../src/main.c:124
+#: ../src/main.c:125
msgid "Show the application's version"
msgstr "Afficher la version de l'application"
-#: ../src/main.c:126
+#: ../src/main.c:127
msgid "Debug mode: level 0-5"
msgstr "Mode de débogage : niveau de 1 à 5"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr "[FICHIER]"
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "Erreur sur sigaction, le signal SIGSEGV ne sera pas détourné\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
"Grisbi version %s, %s\n"
"\n"
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr "- Gestionnaire de finances personnelles"
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
"Grisbi peut gérer les comptes d'une famille ou d'une petite association."
-#. File menu
-#: ../src/menu.c:169
-msgid "_File"
-msgstr "_Fichier"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-msgid "_New account file..."
-msgstr "_Nouveau fichier de compte"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-msgid "_Open..."
-msgstr "_Ouvrir..."
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr "_Derniers fichiers"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-msgid "_Save"
-msgstr "_Enregistrer"
-
-#: ../src/menu.c:187
-msgid "_Save as..."
-msgstr "Enregistrer _sous"
-
-#: ../src/menu.c:189
-msgid "_Import file..."
-msgstr "_Importer un fichier..."
-
#: ../src/menu.c:191
msgid "_Export accounts as QIF/CSV file..."
msgstr "_Exporter vers un fichier QIF/CSV..."
@@ -9410,134 +9415,134 @@ msgid "Remove this report"
msgstr "Supprimer cet état"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr "Paramètres de Grisbi"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
msgid "Main"
msgstr "Généralités"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "Fichiers"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programmes"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
msgid "Localization"
msgstr "Paramètres régionaux"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "Affichage"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "Messages et alertes"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
msgid "Payees, categories and budgetaries"
msgstr "Tiers, catégories imputations budgétaires"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr "Barres d'outils - Panneau de navigation"
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr "Comportement de la liste"
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
msgid "Messages before deleting"
msgstr "Messages avant suppression"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
msgid "Content"
msgstr "Contenu"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr "Comportement"
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr "Aide à la saisie"
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Ressources"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
msgid "Currencies links"
msgstr "Liens entre devises"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
msgid "Balance estimate"
msgstr "Budget prévisionnel"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr "Astuce du jour"
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr "Afficher l'astuce du jour"
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
msgid "Display following warnings messages"
msgstr "Afficher les messages ou alertes suivants"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr "Message"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
msgid "Display following messages"
msgstr "Afficher les messages suivants"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr "Compresser le fichier Grisbi"
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
msgid "Memorise last opened files: "
msgstr "Mémorisation des derniers fichiers ouverts : "
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "Sauvegardes"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
msgid "Make a single backup file"
msgstr "Créer un fichier de sauvegarde unique"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr "Compresser le fichier de sauvegarde"
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "Effectuer une copie de sauvegarde après avoir ouvert les fichiers"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
msgid "Config file"
msgstr "Fichier de configuration"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr "Utiliser le fichier de configuration de la version stable comme modèle"
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
@@ -9546,75 +9551,75 @@ msgstr ""
"Eventuellement vous pouvez essayer de mettre %s.\n"
"Exemple 'firefox -remote %s'"
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr "Alertes de l'échéancier"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr "Alerter/Exécuter les opérations planifiées arrivées à terme"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "Alerter/Exécuter les opérations planifiées du mois"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
msgid "Number of days before the warning or the execution: "
msgstr "Nombre de jours avant l'alerte ou l'exécution des opérations : "
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
msgid "Sort option for transactions"
msgstr "Options de tri pour les opérations"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
msgid "by number"
msgstr "Par numéro"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr "par date croissante"
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr "par date décroissante"
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr "Action associée au double clic sur une sous-catégorie ou sous-IB : "
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
msgid "Expand the line"
msgstr "Développer la ligne"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
msgid "Edit the line"
msgstr "Editer la ligne"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
msgid "Manage the line"
msgstr "Gérer la ligne"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
msgid "Choose the date format"
msgstr "Choisir le format de la date"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
msgid "Date format"
msgstr "Format de la date"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
msgid "Decimal point: "
msgstr "Séparateur décimal : "
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr "Séparateur de milliers : "
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr "Choisir le séparateur décimal et le séparateur de milliers"
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr "Séparateur décimal et séparateur de milliers"
@@ -10420,7 +10425,7 @@ msgstr "Afficher l'astuce lors du prochain démarrage"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
@@ -10428,7 +10433,7 @@ msgstr ""
"Essai de changer une ligne visible par la fonction transaction_list_set. "
"Cela ne devrait pas arriver ! On recherche pourquoi"
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/he.po b/po/he.po
index 598e873..2653b5e 100644
--- a/po/he.po
+++ b/po/he.po
@@ -283,7 +283,7 @@ msgid ""
msgstr ""
"Project-Id-Version: he\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2006-02-11 16:08+0200\n"
"Last-Translator: dotan\n"
"Language-Team: <en at li.org>\n"
@@ -497,7 +497,7 @@ msgstr "×©× ×ש×××"
msgid "Currency"
msgstr "××××¢"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "×××¤× ×× ×××××"
@@ -543,7 +543,7 @@ msgstr "×××ק×"
msgid "Back to default"
msgstr "×××¨× ×× ×××ר×ת ×ר×רת ×××××"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "×ת×××ת ×××תר×ת"
@@ -789,7 +789,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr "ת×× ×¨×©××ת ××¢×סק××ת"
@@ -814,7 +814,7 @@ msgstr "×××ש××"
msgid "Year"
msgstr "×©× ×"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "××××"
@@ -854,7 +854,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "פר×× ×ש×××"
@@ -1156,14 +1156,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "××פסת"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "××פסת"
@@ -1229,12 +1229,12 @@ msgstr "פע×××"
msgid "Credits"
msgstr "×××ת"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "××פס×"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -1245,7 +1245,7 @@ msgstr "××צ××"
msgid "credit.csv"
msgstr "×××ת"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "×× × ××ª× ×ש××ר ×ת ×ק×××¥."
@@ -1623,6 +1623,11 @@ msgstr ""
msgid "Start date: "
msgstr "×ת×××:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "×××××××"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1640,7 +1645,7 @@ msgid "Balance"
msgstr "××××"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1661,80 +1666,80 @@ msgstr "×תרת פת×××"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "×××רת ××××¢"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "×××רת ××××¢"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr "×××קת ×¢××¡×§× ×ת××× × ×ª"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "××רת ××¢××¡×§× ××¢××¡×§× ×ת×××× ×ª"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
#, fuzzy
msgid "Insert the balance of a cash account"
msgstr "×× × ××ª× ××צע ××¢××¨× ××ש××× ×¡××ר."
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
#, fuzzy
msgid "Reset data"
msgstr "ת×ר×× ××ר××"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
#, fuzzy
msgid " (budget exceeded)"
msgstr "××× ×§× ×ª×§×¦××"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
#, fuzzy
msgid "No data by default"
msgstr "×××¨× ×× ×××ר×ת ×ר×רת ×××××"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "××× ×§×××ר××"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "××× ×§× ×ª×§×¦××"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "××צ×× ×§××× ×תקצ××"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "××××"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1821,7 +1826,7 @@ msgstr "× × ××××× ×©× ×¢××ר תת-×ק×××ר×× ×××ש×"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "×××××"
@@ -2493,7 +2498,7 @@ msgstr "×©× ×ª ××ספ××"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "×ר×× ×ª×©×××"
@@ -2927,13 +2932,13 @@ msgid "Generalities"
msgstr "××××"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "×¢×סק××ת"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "××××¢×ת"
@@ -2977,7 +2982,7 @@ msgstr "ת×××ת רש××ת ××¢×סק××ת"
msgid "Transactions display"
msgstr "רש××ת ××¢×סק××ת"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "×¡× ×× ×××××¢×ת"
@@ -3401,7 +3406,7 @@ msgstr "תת×-ק×× ×ª×§×¦××"
msgid "Reconciliation number"
msgstr "×ספר ת××××"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "×¢××× ×¨×ש×"
@@ -3419,7 +3424,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "ת××××× ×¢×סק××ת"
@@ -3610,6 +3615,46 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr "×× × ××ª× ××××× ×ת ×ק×××¥ \"%s\" "
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+#, fuzzy
+msgid "_File"
+msgstr "ק×××¥"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+#, fuzzy
+msgid "_New account file..."
+msgstr "ק×××¥ ×ש××× ×ת ××ש"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+#, fuzzy
+msgid "_Open..."
+msgstr "_פת×××"
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+#, fuzzy
+msgid "_Recently opened files"
+msgstr "ק×צ×× ×©× ×¤×ª×× ×××ר×× ×"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+#, fuzzy
+msgid "_Import file..."
+msgstr "××צ×× ×§×צ××"
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+#, fuzzy
+msgid "_Save"
+msgstr "ש××ר×"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+#, fuzzy
+msgid "_Save as..."
+msgstr "ש×××¨× ×ש×"
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3779,7 +3824,7 @@ msgid "Report name"
msgstr "×©× ××\"×"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
#, fuzzy
msgid "Archives"
msgstr "×פע××"
@@ -4309,7 +4354,7 @@ msgstr "×©× ×××ק××:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -4397,12 +4442,12 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
#, fuzzy
msgid "Web"
msgstr "×תר ××× ××¨× ×"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "×פ×פ×:"
@@ -4412,46 +4457,46 @@ msgstr "×פ×פ×:"
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "××פ×× ×ק××¦× ×ש××× ×ת"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "×××¢×× ×ת ×ק×××¥ ×××ר×× ×©××× ××¢×××× ×¢× ×¢×××ת ×ת××× ×"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "ש××רת ×ק×××¥ ×××××××ת ×¢× ××צ×××"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "×צ×רת ×¢×תק ××××× ××¤× × ×©××רת ק×צ××"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
#, fuzzy
msgid "Make a backup copy every "
msgstr "×צ×רת ×¢×תק ××××× ××¤× × ×©××רת ק×צ××"
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
#, fuzzy
msgid " minutes"
msgstr "×ער×"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "ק×××¥ ×××××:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "×ת×××"
@@ -4697,7 +4742,7 @@ msgstr "×× ×§ ××ש"
msgid "Contact name"
msgstr "×©× ×קשר"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "×× ×§××"
@@ -6965,7 +7010,7 @@ msgstr ""
"\"%s\" ×שר × ×צ×ת ×ת×ת."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "ש×××¨× ×××× ×©× ×§×צ×× × ×¢××××"
@@ -6997,7 +7042,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "××× ×©×"
@@ -7049,7 +7094,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, fuzzy, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "×× × ××ª× ×ש××ר ×ת ×ק×××¥ '%s': %s"
@@ -7394,75 +7439,75 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "××פס ××¢×ר×"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr ""
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
#, fuzzy
msgid "Col 1"
msgstr "××ר1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
#, fuzzy
msgid "Col 2"
msgstr "××ר2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
#, fuzzy
msgid "Col 3"
msgstr "××ר3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
#, fuzzy
msgid "Col 4"
msgstr "××ר4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
#, fuzzy
msgid "Col 5"
msgstr "××ר5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
#, fuzzy
msgid "Col 6"
msgstr "××ר6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
#, fuzzy
msgid "rows"
msgstr "×¢×××"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
#, fuzzy
msgid "columns"
msgstr "×ש××× ×ת"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr ""
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7477,10 +7522,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "×××××××"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "×××רת ××ש×××"
@@ -7529,7 +7570,7 @@ msgstr "×ספר ×¢×סק×"
msgid "Automatic/Manual"
msgstr "×××××××"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "×©× ×ת ×ספ××"
@@ -7841,7 +7882,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "×צ×רת ×ש××× ××ש"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
#, fuzzy
msgid "Sort for reconciliation"
msgstr "×ת×××"
@@ -8066,7 +8107,7 @@ msgid "Execute transaction"
msgstr "×××קת ×¢×סק×"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, fuzzy, c-format
msgid "Total : %s (variance : %s)"
msgstr "×¡× ××× %s: %s (%d ×¢×סק××ת)"
@@ -8829,7 +8870,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "פ×ר×× ×§×××ר××ת"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
#, fuzzy
msgid "Import associations"
msgstr "פע×××"
@@ -9176,78 +9217,42 @@ msgstr "××× ×ª×ª-×§× ×ª×§×¦××"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "×××¢××ר ×ת ××¢×סק××ת ××"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "3 ש×ר×ת ××× ×¢×סק×"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "Debug file"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "Error on sigaction: SIGSEGV won't be trapped\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "×ר×ס××"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-#, fuzzy
-msgid "_File"
-msgstr "ק×××¥"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-#, fuzzy
-msgid "_New account file..."
-msgstr "ק×××¥ ×ש××× ×ת ××ש"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-#, fuzzy
-msgid "_Open..."
-msgstr "_פת×××"
-
-#: ../src/menu.c:175 ../src/menu.c:183
-#, fuzzy
-msgid "_Recently opened files"
-msgstr "ק×צ×× ×©× ×¤×ª×× ×××ר×× ×"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-#, fuzzy
-msgid "_Save"
-msgstr "ש××ר×"
-
-#: ../src/menu.c:187
-#, fuzzy
-msgid "_Save as..."
-msgstr "ש×××¨× ×ש×"
-
-#: ../src/menu.c:189
-#, fuzzy
-msgid "_Import file..."
-msgstr "××צ×× ×§×צ××"
-
#: ../src/menu.c:191
#, fuzzy
msgid "_Export accounts as QIF/CSV file..."
@@ -9695,235 +9700,235 @@ msgid "Remove this report"
msgstr "×סרת ××\"×"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
#, fuzzy
msgid "Grisbi preferences"
msgstr "××¢×פ×ת"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
#, fuzzy
msgid "Main"
msgstr "ספר×"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "ק×צ××"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "ת××× ×ת"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "×ת×××"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "תצ×××"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "××××¢×ת ××××ר×ת"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
#, fuzzy
msgid "Payees, categories and budgetaries"
msgstr "× × ××××× ×§× ×ª×§×¦××!"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
#, fuzzy
msgid "Messages before deleting"
msgstr "××××¢×ת ××××ר×ת"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
#, fuzzy
msgid "Content"
msgstr "קשר"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "×ק×ר×ת"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
#, fuzzy
msgid "Currencies links"
msgstr "××××¢×ת"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
#, fuzzy
msgid "Balance estimate"
msgstr "×תר×ת"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
#, fuzzy
msgid "Display following warnings messages"
msgstr "××××¢×ת ×××ר×"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
#, fuzzy
msgid "Message"
msgstr "ר×ש×× ×××××¢× ×××××"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
#, fuzzy
msgid "Display following messages"
msgstr "××××¢×ת ×××ר×"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "×××רת ×ק×צ×× ×××ר×× ×× ×©× ×¤×ª××:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "×××××××"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
#, fuzzy
msgid "Make a single backup file"
msgstr "×צ×רת ×¢×תק ××××× ××¤× × ×©××רת ק×צ××"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "×צ×רת ×¢×תק ××××× ×××ר פת××ת ק×צ××"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "ש××רת ק×××¥"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
#, fuzzy
msgid "Scheduler warnings at Grisbi's opening"
msgstr "×תר××ת ××ת×××"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
#, fuzzy
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr "××¢×ר×ת ×©× ×§××¢× ××× ×ת ×ת×ר×× ××¢×"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
#, fuzzy
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "××¢×ר×ת ×©× ×§××¢× ××× ×ת ×ת×ר×× ××¢×"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
#, fuzzy
msgid "Number of days before the warning or the execution: "
msgstr "×ספר ××××× ××××××¢ ××¤× × ×¢××¡×§× ×ת×××× ×ª:"
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
#, fuzzy
msgid "Sort option for transactions"
msgstr "פ×ר×× ×¢×סק××ת"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
#, fuzzy
msgid "by number"
msgstr "×ספר ××××××"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a doubl ×¢ ××¤× × ×¢××¡×§× ×ת×××× ×ª:" ×ת ×ת××× ×" ist_set. Îεν " ½Î±" ην " ι να " ÿ u{ã+ ª|ã+ ¥ã+ ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ e click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "×××רת ××××¢"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "×תרת פת×××"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "×××רת ××××¢"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "×××רת ××ש×××"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "××צ×× ××\"×"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
#, fuzzy
msgid "Decimal point: "
msgstr "×××רת ××××¢:"
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10629,13 +10634,13 @@ msgstr "×צ×ת ×¢×סק××ת"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/it.po b/po/it.po
index a937f3b..ee6c04e 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: it\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2007-04-05 00:03+0000\n"
"Last-Translator: Fabio Erculiani <fabio.erculiani at gmail.com>\n"
"Language-Team: Italian <LL at li.org>\n"
@@ -220,7 +220,7 @@ msgstr "Nome conto"
msgid "Currency"
msgstr "Moneta"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "Caratteri & logo"
@@ -266,7 +266,7 @@ msgstr "Controllo"
msgid "Back to default"
msgstr "Ripristina i valori predefiniti"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Indirizzi & titoli"
@@ -512,7 +512,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr "Lista delle celle di registrazione"
@@ -537,7 +537,7 @@ msgstr "Mesi"
msgid "Year"
msgstr "Anno"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "Generalità "
@@ -577,7 +577,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "Dettagli conto"
@@ -879,14 +879,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "Stampante"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "Stampante"
@@ -952,12 +952,12 @@ msgstr "Azione"
msgid "Credits"
msgstr "Credito"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "Stampa"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -968,7 +968,7 @@ msgstr "Esporta"
msgid "credit.csv"
msgstr "Credito"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "Impossibile salvare il file."
@@ -1346,6 +1346,11 @@ msgstr ""
msgid "Start date: "
msgstr "inizio:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "Automatico"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1363,7 +1368,7 @@ msgid "Balance"
msgstr "Saldo"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1384,80 +1389,80 @@ msgstr "Bilancio iniziale"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "Selezione informazioni"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "Selezione informazioni"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr "Inserisci una transazione pianificata"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "Converti la transazione in una transazione schedulata"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
#, fuzzy
msgid "Insert the balance of a cash account"
msgstr "Impossible effettuare un trasferimento su un conto chiuso."
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
#, fuzzy
msgid "Reset data"
msgstr "Ultima data"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
#, fuzzy
msgid " (budget exceeded)"
msgstr "Nessuna linea budget"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
#, fuzzy
msgid "No data by default"
msgstr "Ripristina i valori predefiniti"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Nessuna categoria"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Nessuna linea budget"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "Esporta le linee budget"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "Saldo"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1544,7 +1549,7 @@ msgstr "Inserire nome per nuova sottocategoria"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Importa"
@@ -2217,7 +2222,7 @@ msgstr "Esercizio amministrativo"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "Metodi di pagamento"
@@ -2654,13 +2659,13 @@ msgid "Generalities"
msgstr "Generalità "
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "Transazioni"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "Monete"
@@ -2704,7 +2709,7 @@ msgstr "Lista dei contenuti delle registrazioni"
msgid "Transactions display"
msgstr "Lista delle registrazioni"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "Monete totali"
@@ -3140,7 +3145,7 @@ msgstr "Sotto-budget linee totali"
msgid "Reconciliation number"
msgstr "Rif. di riconciliazione"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "Pagina principale"
@@ -3158,7 +3163,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "Schedulatore"
@@ -3347,6 +3352,46 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr "Il file \"%s\" non può essere importato."
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+#, fuzzy
+msgid "_File"
+msgstr "File"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+#, fuzzy
+msgid "_New account file..."
+msgstr "Nuovo Documenti conti"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+#, fuzzy
+msgid "_Open..."
+msgstr "_Apri"
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+#, fuzzy
+msgid "_Recently opened files"
+msgstr "Documenti recenti"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+#, fuzzy
+msgid "_Import file..."
+msgstr "Esporta file"
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+#, fuzzy
+msgid "_Save"
+msgstr "Salva"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+#, fuzzy
+msgid "_Save as..."
+msgstr "Salva come"
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3516,7 +3561,7 @@ msgid "Report name"
msgstr "Nome rapporto"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
#, fuzzy
msgid "Archives"
msgstr "Attiva"
@@ -4045,7 +4090,7 @@ msgstr "Nome possessore:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -4133,12 +4178,12 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
#, fuzzy
msgid "Web"
msgstr "Indirizzo Internet"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "Browser Web:"
@@ -4148,46 +4193,46 @@ msgstr "Browser Web:"
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "Gestione file dei conti"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "Carica l'ultimo file aperto all'avvio"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "Salva automaticamente all'uscita"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "Fai una copia di backup prima di salvare il file"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
#, fuzzy
msgid "Make a backup copy every "
msgstr "Fai una copia di backup prima di salvare il file"
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
#, fuzzy
msgid " minutes"
msgstr "note"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "File di backup:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "Riconciliazione"
@@ -4435,7 +4480,7 @@ msgstr "Nuova banca"
msgid "Contact name"
msgstr "Corrispondente"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Banche"
@@ -6687,7 +6732,7 @@ msgstr ""
"alternativa, scegli un'opzione \"%s\" qui sotto."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "Forza il salvataggio dei file bloccati"
@@ -6719,7 +6764,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "Senza nome"
@@ -6772,7 +6817,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, fuzzy, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "Impossibile salvare il gile '%s': %s"
@@ -7117,75 +7162,75 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "Tabella di registrazione"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr ""
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
#, fuzzy
msgid "Col 1"
msgstr "Col1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
#, fuzzy
msgid "Col 2"
msgstr "Col2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
#, fuzzy
msgid "Col 3"
msgstr "Col3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
#, fuzzy
msgid "Col 4"
msgstr "Col4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
#, fuzzy
msgid "Col 5"
msgstr "Col5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
#, fuzzy
msgid "Col 6"
msgstr "Col6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
#, fuzzy
msgid "rows"
msgstr "Sfoglia"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
#, fuzzy
msgid "columns"
msgstr "Conti"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr ""
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7200,10 +7245,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "Automatico"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "Scegli conto"
@@ -7252,7 +7293,7 @@ msgstr "Numero di registrazione"
msgid "Automatic/Manual"
msgstr "Automatico"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Anni finanziari"
@@ -7570,7 +7611,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Crea un nuovo conto"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
#, fuzzy
msgid "Sort for reconciliation"
msgstr "Riconciliazione"
@@ -7795,7 +7836,7 @@ msgid "Execute transaction"
msgstr "Elimina transazione"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, fuzzy, c-format
msgid "Total : %s (variance : %s)"
msgstr "Totale %s: %s (%d transazioni)"
@@ -8560,7 +8601,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "Dettagli categorie"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
#, fuzzy
msgid "Import associations"
msgstr "Azione"
@@ -8910,77 +8951,41 @@ msgstr "Nessuna linea sotto-budget"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "Trasferire la transazione a"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "Tre linee per registrazione"
-#: ../src/main.c:126
+#: ../src/main.c:127
msgid "Debug mode: level 0-5"
msgstr ""
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "Erorre su sigaction: SIGSEGV non sarà catturato \n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr ""
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-#, fuzzy
-msgid "_File"
-msgstr "File"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-#, fuzzy
-msgid "_New account file..."
-msgstr "Nuovo Documenti conti"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-#, fuzzy
-msgid "_Open..."
-msgstr "_Apri"
-
-#: ../src/menu.c:175 ../src/menu.c:183
-#, fuzzy
-msgid "_Recently opened files"
-msgstr "Documenti recenti"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-#, fuzzy
-msgid "_Save"
-msgstr "Salva"
-
-#: ../src/menu.c:187
-#, fuzzy
-msgid "_Save as..."
-msgstr "Salva come"
-
-#: ../src/menu.c:189
-#, fuzzy
-msgid "_Import file..."
-msgstr "Esporta file"
-
#: ../src/menu.c:191
#, fuzzy
msgid "_Export accounts as QIF/CSV file..."
@@ -9427,235 +9432,235 @@ msgid "Remove this report"
msgstr "Rimuovi rapporto"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
#, fuzzy
msgid "Grisbi preferences"
msgstr "Preferenze"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
#, fuzzy
msgid "Main"
msgstr "Spagna"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "File"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programmi"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "Riconciliazione"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "Visualizza"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "Messaggi & segnalazioni"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
#, fuzzy
msgid "Payees, categories and budgetaries"
msgstr "Inserisci una linea budget!"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
#, fuzzy
msgid "Messages before deleting"
msgstr "Messaggi & segnalazioni"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
#, fuzzy
msgid "Content"
msgstr "Contatto"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Risorse"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
#, fuzzy
msgid "Currencies links"
msgstr "Monete"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
#, fuzzy
msgid "Balance estimate"
msgstr "Bilanci"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
#, fuzzy
msgid "Display following warnings messages"
msgstr "Messaggi di avviso"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
#, fuzzy
msgid "Message"
msgstr "Messaggio registro eventi"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
#, fuzzy
msgid "Display following messages"
msgstr "Messaggi di avviso"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "Ricorda gli ultimi file aperti:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "Backup"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
#, fuzzy
msgid "Make a single backup file"
msgstr "Fai una copia di backup prima di salvare il file"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "Fai una copia di backup dopo aver aperto il file"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "Salva il File"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
#, fuzzy
msgid "Scheduler warnings at Grisbi's opening"
msgstr "Avvisi Schedulatore"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
#, fuzzy
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr "Transazioni manuali pianificate"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
#, fuzzy
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "Transazioni manuali pianificate"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
#, fuzzy
msgid "Number of days before the warning or the execution: "
msgstr "Numero di giorni prima che venga avvisata una transazione schedulata:"
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
#, fuzzy
msgid "Sort option for transactions"
msgstr "Formattazione transazioni"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
#, fuzzy
msgid "by number"
msgstr "il numero dell'assegno"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "Selezione informazioni"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "Bilancio iniziale"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "Selezione informazioni"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "Scegli conto"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "Esporta rapporto."
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
#, fuzzy
msgid "Decimal point: "
msgstr "Selezione informazioni:"
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10366,13 +10371,13 @@ msgstr "Mostra registrazioni"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/lv.po b/po/lv.po
index c77acf0..8d6f145 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2010-11-08 20:02+0300\n"
"Last-Translator: Valdis VÄ«toliÅÅ¡ <valdis.vitolins at odo.lv>\n"
"Language-Team: LATVIAN <info at odo.lv>\n"
@@ -215,7 +215,7 @@ msgstr "Konta veids"
msgid "Currency"
msgstr "Valūta"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "Fonti un logo"
@@ -256,7 +256,7 @@ msgstr "IzvÄlÄties krÄsas"
msgid "Back to default"
msgstr "Atpakaļ uz noklusÄto"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Adreses un nosaukumi"
@@ -491,7 +491,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr "MaksimÄlos ierakstus parÄda nolaižamajÄ izvÄlnÄ (0 bez ierobežojuma):"
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
#, fuzzy
msgid "Transactions list cells"
msgstr "Darījumu saraksta darbība"
@@ -516,7 +516,7 @@ msgstr "MÄnesis"
msgid "Year"
msgstr "Gads"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
msgid "General Options"
msgstr "VispÄrÄ«gas opcijas"
@@ -552,7 +552,7 @@ msgstr "Å odienas datums"
msgid "Note: This option is used if no starting date for forecasts."
msgstr "PiezÄ«me: Å Ä« iespÄja tiek izmantota, ja nav paredzÄts sÄkuma datums."
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
msgid "Accounts data"
msgstr "Kontu dati"
@@ -845,14 +845,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "PrintÄt"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "EksportÄt budžeta sarakstus"
@@ -918,12 +918,12 @@ msgstr "Importa apvienības"
msgid "Credits"
msgstr "KredÄ«ts (ieÅÄmumi)"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "DrukÄt"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -934,7 +934,7 @@ msgstr "Eksports"
msgid "credit.csv"
msgstr "KredÄ«ts (ieÅÄmumi)"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "Nevar saglabÄt failu"
@@ -1300,6 +1300,11 @@ msgstr "Bilance perioda sÄkumÄ"
msgid "Start date: "
msgstr "SÄkuma datums:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "AutomÄtisks"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr "AtzÄ«mÄjiet rÅ«tiÅu, lai automÄtiski mainÄ«tu datumu"
@@ -1317,7 +1322,7 @@ msgid "Balance"
msgstr "Bilance"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1339,73 +1344,73 @@ msgstr "Pievienot bilanci"
msgid "Insert Row"
msgstr "Ievietot rindas"
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
msgid "Delete selection"
msgstr "DzÄst atlasi"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
msgid "Change selection"
msgstr "Mainīt atlasi"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
msgid "Delete all occurences of the selection"
msgstr "DzÄst visu atlasi"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
msgid "Convert selection to scheduled transaction"
msgstr "PÄrvÄrst atlasi uz plÄnoto darÄ«jumu"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
#, fuzzy
msgid "Insert the balance of a cash account"
msgstr "Nevar izdot darÄ«jumu uz slÄgtÄ konta."
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr "Atiestatīt datumu"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr "(joprojÄm pieejams)"
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
msgid " (budget exceeded)"
msgstr "(pÄrsniegts budžets)"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr "(vÄl jÄsaÅem)"
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
msgid "No data by default"
msgstr "Nav datu pÄc noklusÄjuma"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Nav kategorijas"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Nav budžet pozīcijas"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "EksportÄt budžeta sarakstus"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "Bilance"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
#, fuzzy
msgid "forecast.csv"
msgstr "Prognoze"
@@ -1493,7 +1498,7 @@ msgstr "Izveidot jaunu apakškategoriju"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Imports"
@@ -2161,7 +2166,7 @@ msgstr "Finanšu gads"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "Apmaksas metodes"
@@ -2581,13 +2586,13 @@ msgid "Generalities"
msgstr "VispÄrÄ«gi"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "Darījumi"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "Valūtas"
@@ -2626,7 +2631,7 @@ msgstr "Darījuma saturs"
msgid "Transactions display"
msgstr "Darījumu darbvirsma"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "Kopsumma valÅ«tÄ"
@@ -3046,7 +3051,7 @@ msgstr "Apakšbudžeta ieraksti"
msgid "Reconciliation number"
msgstr "SaskaÅoÅ¡anas numurs"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "GalvenÄ lapa"
@@ -3063,7 +3068,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "PlÄnotÄjs"
@@ -3268,6 +3273,39 @@ msgstr "Fails '%s' ir veiksmÄ«gi saglabÄts"
msgid "File '%s' could not be saved"
msgstr "Failu '%s' nevar saglabÄt"
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+msgid "_File"
+msgstr "_Fails"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+msgid "_New account file..."
+msgstr "_Jauns konta fails..."
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+msgid "_Open..."
+msgstr "_AtvÄrt..."
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr "_Nesen atvÄrtie faili"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+msgid "_Import file..."
+msgstr "_ImportÄt failu..."
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+msgid "_Save"
+msgstr "_SaglabÄt"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+msgid "_Save as..."
+msgstr "_SaglabÄt kÄ..."
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3440,7 +3478,7 @@ msgid "Report name"
msgstr "PÄrskata nosaukums"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
msgid "Archives"
msgstr "Arhīvs"
@@ -4033,7 +4071,7 @@ msgstr "Faila nosaukums:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr "Grisbi Å¡ifrÄti faili"
@@ -4142,11 +4180,11 @@ msgid "General configuration of Grisbi"
msgstr "Grisbi galvenÄ konfigurÄcija"
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
msgid "Web"
msgstr "Web"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "Web pÄrlÅ«ka komandas:"
@@ -4158,44 +4196,44 @@ msgstr ""
"JÅ«s varat izmantot % s, lai izvÄrstu URL. PiemÄram: 'Firefox - tÄlvadÄ«bas "
"%s'"
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "Konta failu apstrÄde"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "StartÄjot automÄtiski ielÄdÄt pÄdÄjo failu"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "Aizverot automÄtiski saglabÄt"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "Izveidot faila dublÄjuma kopiju pirms saglabÄÅ¡anas"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr "Izveidot dublÄjuma kopiju ik minÅ«ti"
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
msgid " minutes"
msgstr "minūtes"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "DublÄjuma direktorijs:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr "AtlasÄ«t/Izveidot dublÄjumu direktorijs"
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "SaskaÅoÅ¡ana"
@@ -4464,7 +4502,7 @@ msgstr "Pievienot jaunu banku"
msgid "Contact name"
msgstr "Kontakta vÄrds"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Bankas"
@@ -6719,7 +6757,7 @@ msgstr ""
"citu nosaukumu vai aktivizÄjiet \"%s \" opciju preferencÄs."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "SpÄkÄ bloÄ·Äto failu saglabÄÅ¡ana"
@@ -6752,7 +6790,7 @@ msgstr ""
"jÄatceļ izmaiÅas un jÄsaglabÄ ar citu nosaukumu vai jÄaktivizÄ \"% s \" "
"opciju iestatīšana."
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "nenosaukts"
@@ -6809,7 +6847,7 @@ msgstr ""
"<b>Vai vÄlaties dzÄst Å¡o failu:\n"
"%s ?</b>"
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "Nevar saglabÄt konfigurÄcijas failu '%s': %s"
@@ -7161,57 +7199,57 @@ msgstr ""
"Vai turpinÄt?"
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr "KonfigurÄt veidlapas"
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "Darījumu veidlapa"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr "Veidlapas struktūras priekšskatījums"
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr "Veidlapas struktūras saturs"
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr "Col 1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr "Col 2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr "Col 3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr "Col 4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr "Col 5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr "Col 6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr "rindas"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr "kolonas"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
@@ -7219,11 +7257,11 @@ msgstr ""
"Nav vietas lai pievienotu elementu. Jums nepiecieÅ¡ams palielinÄt rindu vai "
"kolonu skaitu."
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr "Tabula ir pilna"
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7245,10 +7283,6 @@ msgstr ""
"Funkcija ir tabulas izmÄru mainÄ«Å¡ana uz pareizajÄm vÄrtÄ«bÄm, bet bÅ«tu "
"jÄpÄrbauda brÄ«dinÄjums."
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "AutomÄtisks"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "IzvÄlÄties kontu"
@@ -7293,7 +7327,7 @@ msgstr "Darījuma numurs"
msgid "Automatic/Manual"
msgstr "AutomÄtisks/manuÄls"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Finanšu gads"
@@ -7604,7 +7638,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "DzÄst saskaÅoÅ¡nu"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
msgid "Sort for reconciliation"
msgstr "Å Ä·irot pÄc saskaÅoÅ¡anas"
@@ -7816,7 +7850,7 @@ msgid "Execute transaction"
msgstr "Izpildīt darījumu"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, c-format
msgid "Total : %s (variance : %s)"
msgstr "KopÄ : %s (neatbilstÄ«bas : %s)"
@@ -8604,7 +8638,7 @@ msgstr "AtbilstoÅ¡i vÄrtÄ«bai/datumam (ja neizdodas, mÄÄ£iniet ar datumu)"
msgid "Manage import associations"
msgstr "PÄrvaldÄ«t importa apvienÄ«bas"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
msgid "Import associations"
msgstr "Importa apvienības"
@@ -8936,72 +8970,43 @@ msgstr "apakšbudžeta pozīcija"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "PÄrsÅ«tÄ«t darÄ«jumus uz %s"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "RÄdÄ«t _trÄ«s rindÄs katru darÄ«jumu"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "Atkļūdošanas režīms"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "Kļūda par (sig) darbību: SIGSEGV netiek artasts\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr "Grisbi versija %s, %s\n"
-#: ../src/main.c:1011
+#: ../src/main.c:1021
#, fuzzy
msgid "- Personnal finances manager"
msgstr "PersonÄlais finanÅ¡u vadÄ«tÄjs\n"
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-msgid "_File"
-msgstr "_Fails"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-msgid "_New account file..."
-msgstr "_Jauns konta fails..."
-
-#: ../src/menu.c:173 ../src/menu.c:181
-msgid "_Open..."
-msgstr "_AtvÄrt..."
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr "_Nesen atvÄrtie faili"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-msgid "_Save"
-msgstr "_SaglabÄt"
-
-#: ../src/menu.c:187
-msgid "_Save as..."
-msgstr "_SaglabÄt kÄ..."
-
-#: ../src/menu.c:189
-msgid "_Import file..."
-msgstr "_ImportÄt failu..."
-
#: ../src/menu.c:191
msgid "_Export accounts as QIF/CSV file..."
msgstr "_EksportÄt kontu kÄ QIF/CSV failu..."
@@ -9414,137 +9419,137 @@ msgid "Remove this report"
msgstr "NoÅemt noteikumus"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr "Grisbi iestatījumi"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
msgid "Main"
msgstr "Galvenais"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "Faili"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programmas"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "SaskaÅoÅ¡ana"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "Displejs"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "ZiÅojumi un brÄ«dinÄjumi"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
msgid "Payees, categories and budgetaries"
msgstr "Darījuma partneri, kategorijas un budžeti"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr "Darba režīma saraksts"
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
msgid "Messages before deleting"
msgstr "ZiÅas pirms dzÄÅ¡anas"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
msgid "Content"
msgstr "Saturs"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr "Darba režīms"
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr "Pabeigšana"
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Resursi"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
msgid "Currencies links"
msgstr "Valūtas saites"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
msgid "Balance estimate"
msgstr "Bilances aprÄÄ·ins"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr "Dienas padoms"
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr "ParÄdÄ«t dienas padomus"
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
msgid "Display following warnings messages"
msgstr "ParÄdÄ«t Å¡Ädus brÄ«dinÄjuma ziÅojumus"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr "ZiÅojums"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
msgid "Display following messages"
msgstr "ParÄdÄ«t Å¡Ädus ziÅojumus"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr "Saspiest Grisbi failu"
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "IegaumÄt pÄdÄjos atvÄrtos failus:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "DublÄjums"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
msgid "Make a single backup file"
msgstr "Izveidot vienotu dublÄjuma failu"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr "Saspiest Grisbi dublÄjumus"
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "Izveidot dublÄjuma kopiju pÄc failu atvÄrÅ¡anas"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "Faila saglabÄÅ¡ana"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
@@ -9553,83 +9558,83 @@ msgstr ""
"JÅ«s varat izmantot %s lai izvÄrstu URL, t.i.:\n"
"'firefox-tÄlvadÄ«ba %s'"
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr "PlÄnotÄja brÄ«dinÄjumi pie Grisbi atvÄrÅ¡anas"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr "BrÄ«dinÄt/IzpildÄ«t, kad plÄnotajam darÄ«jumam pienÄk beigu datums"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "BrÄ«dinÄt/IzpildÄ«t plÄnotos darÄ«jumus par mÄnesi"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
#, fuzzy
msgid "Number of days before the warning or the execution: "
msgstr "Dienu skaits pirms brÄ«dinÄjuma vai izpildes:"
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
msgid "Sort option for transactions"
msgstr "Šķirot darījumus"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
msgid "by number"
msgstr "pÄc numura"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "Mainīt atlasi"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "Pievienot bilanci"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "Mainīt atlasi"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "IzvÄlÄties kontu"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "Faila formÄts"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
#, fuzzy
msgid "Decimal point: "
msgstr "Depozīts:"
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
#, fuzzy
msgid "Thousands separator: "
msgstr "IzvÄlieties CSV atdalÄ«tÄju:"
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10335,7 +10340,7 @@ msgstr "RÄdÄ«t padomus, nÄkamreiz startÄjot"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
@@ -10343,7 +10348,7 @@ msgstr ""
"MÄÄ£iniet mainÄ«t redzamo rindu, darÄ«jumi_saraksts_novietot. Tam nevajadzÄtu "
"pievienot ! Tik pÄrbaudiet."
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/nl.po b/po/nl.po
index 58f8e15..bd34467 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2007-02-11 22:04+0100\n"
"Last-Translator: E.Huijsing <lighthous at users.sourceforge.net>\n"
"Language-Team: Dutch <en at li.org>\n"
@@ -227,7 +227,7 @@ msgstr "Rekening naam"
msgid "Currency"
msgstr "Valuta"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "Lettertypen & logo"
@@ -274,7 +274,7 @@ msgstr "Controleren"
msgid "Back to default"
msgstr "Herstel standaard"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Adressen & titels"
@@ -525,7 +525,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr "Cellen transactielijst"
@@ -551,7 +551,7 @@ msgid "Year"
msgstr "Jaar"
# tablad header raport bewerken>toon data>algemeen
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "Algemeen"
@@ -591,7 +591,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "Rekening details"
@@ -894,14 +894,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "Printer"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "Printer"
@@ -967,13 +967,13 @@ msgstr "Actie"
msgid "Credits"
msgstr "Credit(bij)"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "Print"
# knop in menu > bestand
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -984,7 +984,7 @@ msgstr "Exporteren"
msgid "credit.csv"
msgstr "Credit(bij)"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "Kan het bestand niet opslaan."
@@ -1362,6 +1362,11 @@ msgstr ""
msgid "Start date: "
msgstr "Start:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "Automatisch"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1379,7 +1384,7 @@ msgid "Balance"
msgstr "Saldo"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1400,80 +1405,80 @@ msgstr "Begin saldo"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "Selecteer data"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "Selecteer data"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr "Verwijder geplande transactie"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "Transactie omzetten naar een geplande transactie"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
#, fuzzy
msgid "Insert the balance of a cash account"
msgstr "Kan geen transactie uitvoeren op/naar een gesloten rekening."
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
#, fuzzy
msgid "Reset data"
msgstr "Laatste datum"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
#, fuzzy
msgid " (budget exceeded)"
msgstr "Geen budgetregel"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
#, fuzzy
msgid "No data by default"
msgstr "Herstel standaard"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Geen categorie"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Geen budgetregel"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "Exporteer de budgetregels"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "Saldo"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1562,7 +1567,7 @@ msgstr "Vul een naam in voor de sub-categorie"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Importeren"
@@ -2239,7 +2244,7 @@ msgstr "Financieel jaar"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "Betaalmethodes"
@@ -2676,13 +2681,13 @@ msgid "Generalities"
msgstr "Algemeen"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "Boekingen"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "Valuta's"
@@ -2726,7 +2731,7 @@ msgstr "Onderdelen transactielijst"
msgid "Transactions display"
msgstr "Transactielijst"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "Gebruikte valuta"
@@ -3156,7 +3161,7 @@ msgstr "Sub-budgetregel"
msgid "Reconciliation number"
msgstr "Controlenummer"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "Hoofdpagina"
@@ -3174,7 +3179,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "Planner"
@@ -3367,6 +3372,46 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr "Bestand \"%s\" kan niet worden geladen"
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+#, fuzzy
+msgid "_File"
+msgstr "Bestand"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+#, fuzzy
+msgid "_New account file..."
+msgstr "Nieuw bestand"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+#, fuzzy
+msgid "_Open..."
+msgstr "_Open"
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+#, fuzzy
+msgid "_Recently opened files"
+msgstr "Recent geopend"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+#, fuzzy
+msgid "_Import file..."
+msgstr "Exporteer bestand"
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+#, fuzzy
+msgid "_Save"
+msgstr "Opslaan"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+#, fuzzy
+msgid "_Save as..."
+msgstr "Opslaan als"
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3536,7 +3581,7 @@ msgid "Report name"
msgstr "Rapport naam"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
#, fuzzy
msgid "Archives"
msgstr "Activeer"
@@ -4070,7 +4115,7 @@ msgstr "Naam:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -4158,12 +4203,12 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
#, fuzzy
msgid "Web"
msgstr "Website"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "Web browser:"
@@ -4174,46 +4219,46 @@ msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
# Kop tekst in voorkeurenscherm
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "Rekening bestanden"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "Bestand automatisch laden bij het opstarten"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "Automatisch opslaan bij het afsluiten"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "Maak een reserve kopie van het bestand voor het opslaan"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
#, fuzzy
msgid "Make a backup copy every "
msgstr "Maak een reserve kopie van het bestand voor het opslaan"
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
#, fuzzy
msgid " minutes"
msgstr "aantekening"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "Reserve bestand:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "Controleer"
@@ -4468,7 +4513,7 @@ msgstr "Nieuwe bank"
msgid "Contact name"
msgstr "Naam van contactpersoon"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Banken"
@@ -6755,7 +6800,7 @@ msgstr ""
"het voorkeuren menu. Een alternatief is de \"%s\" optie hier onder."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "Forceren om geblokkeerde bestanden op te slaan"
@@ -6787,7 +6832,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "Niet benoemd"
@@ -6842,7 +6887,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, fuzzy, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "Kan het bestand '%s': %s niet opslaan."
@@ -7191,75 +7236,75 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "Transactie formulier"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr ""
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
#, fuzzy
msgid "Col 1"
msgstr "Kol1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
#, fuzzy
msgid "Col 2"
msgstr "Kol2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
#, fuzzy
msgid "Col 3"
msgstr "Kol3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
#, fuzzy
msgid "Col 4"
msgstr "Kol4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
#, fuzzy
msgid "Col 5"
msgstr "Kol5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
#, fuzzy
msgid "Col 6"
msgstr "Kol6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
#, fuzzy
msgid "rows"
msgstr "Browse"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
#, fuzzy
msgid "columns"
msgstr "Rekeningen"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr ""
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7274,10 +7319,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "Automatisch"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "Kies een rekening"
@@ -7326,7 +7367,7 @@ msgstr "Transactie nummer"
msgid "Automatic/Manual"
msgstr "Automatisch"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Financiële jaren"
@@ -7656,7 +7697,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Nieuwe rekening maken"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
#, fuzzy
msgid "Sort for reconciliation"
msgstr "Controleer"
@@ -7884,7 +7925,7 @@ msgid "Execute transaction"
msgstr "Verwijder transactie"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, fuzzy, c-format
msgid "Total : %s (variance : %s)"
msgstr "Totaal: %s %s (%d transacties)"
@@ -8661,7 +8702,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "Gebruik categorieën."
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
#, fuzzy
msgid "Import associations"
msgstr "Actie"
@@ -9016,78 +9057,42 @@ msgstr "Geen sub-budgetregel"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "Transacties overschrijven naar "
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "Drie regels per transactie"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "Debug bestand"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "Er is een sigaction fout: het programma sluit zich af\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-#, fuzzy
-msgid "_File"
-msgstr "Bestand"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-#, fuzzy
-msgid "_New account file..."
-msgstr "Nieuw bestand"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-#, fuzzy
-msgid "_Open..."
-msgstr "_Open"
-
-#: ../src/menu.c:175 ../src/menu.c:183
-#, fuzzy
-msgid "_Recently opened files"
-msgstr "Recent geopend"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-#, fuzzy
-msgid "_Save"
-msgstr "Opslaan"
-
-#: ../src/menu.c:187
-#, fuzzy
-msgid "_Save as..."
-msgstr "Opslaan als"
-
-#: ../src/menu.c:189
-#, fuzzy
-msgid "_Import file..."
-msgstr "Exporteer bestand"
-
#: ../src/menu.c:191
#, fuzzy
msgid "_Export accounts as QIF/CSV file..."
@@ -9539,237 +9544,237 @@ msgid "Remove this report"
msgstr "Verwijder rapport"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
#, fuzzy
msgid "Grisbi preferences"
msgstr "Voorkeuren"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
#, fuzzy
msgid "Main"
msgstr "Spanje"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "Bestanden"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programma's"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "Controleer"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "Toon"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "Berichten & Waarschuwingen"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
#, fuzzy
msgid "Payees, categories and budgetaries"
msgstr "Vul aub een budgetregel in!"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
#, fuzzy
msgid "Messages before deleting"
msgstr "Berichten & Waarschuwingen"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
#, fuzzy
msgid "Content"
msgstr "Contact"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Bron"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
#, fuzzy
msgid "Currencies links"
msgstr "Valuta's"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
#, fuzzy
msgid "Balance estimate"
msgstr "Saldo's"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
#, fuzzy
msgid "Display following warnings messages"
msgstr "Waarschuwingsberichten"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
#, fuzzy
msgid "Message"
msgstr "Log berichten"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
#, fuzzy
msgid "Display following messages"
msgstr "Waarschuwingsberichten"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "Recent geopende bestanden onthouden:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "Reserve bestanden"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
#, fuzzy
msgid "Make a single backup file"
msgstr "Maak een reserve kopie van het bestand voor het opslaan"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "Maak een reserve kopie na het openen van een bestand."
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "Bestand opslaan"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
#, fuzzy
msgid "Scheduler warnings at Grisbi's opening"
msgstr "Waarschuwing voor geplande transacties"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
#, fuzzy
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr "Geplande transacties die over of bijna aan de vervaldatum zijn :"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
#, fuzzy
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "Geplande transacties die over of bijna aan de vervaldatum zijn :"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
#, fuzzy
msgid "Number of days before the warning or the execution: "
msgstr ""
"Het aantal dagen dat een waarschuwingsbericht van te \n"
"voren gegeven moet worden bij een geplande transactie:"
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
#, fuzzy
msgid "Sort option for transactions"
msgstr "Transactie formaat wordt aangepast"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
#, fuzzy
msgid "by number"
msgstr "het cheque nummer"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "Selecteer data"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "Begin saldo"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "Selecteer data"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "Kies een rekening"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "Exporteer rapport"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
#, fuzzy
msgid "Decimal point: "
msgstr "Selecteer data:"
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10480,13 +10485,13 @@ msgstr "Toon transacties"
#. this value should not be changed here, check later if i'm right,
#. * fo value should not be changed here, check later if i'm right, n :" " emote %s' " u)" ist_set. Îεν " ½Î±" ην " ι να " ÿ u{ã+ ª|ã+ ¥ã+ ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ r now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/pl.po b/po/pl.po
index 4b84964..d86d7e8 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2006-05-15 12:44+0200\n"
"Last-Translator: Ryszard Jeziorski <r.jeziorski at dart.kielce.pl>\n"
"Language-Team: Polish\n"
@@ -221,7 +221,7 @@ msgstr "Nazwa konta"
msgid "Currency"
msgstr "Waluta"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "Czcionki i logo"
@@ -267,7 +267,7 @@ msgstr "Sprawdzenie"
msgid "Back to default"
msgstr "PrzywrÃ³Ä ustawienia domyÅlne"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Adresy i nazwy"
@@ -513,7 +513,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr "Lista transakcji"
@@ -538,7 +538,7 @@ msgstr "MiesiÄ
ce"
msgid "Year"
msgstr "Rok"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "Ogólne"
@@ -578,7 +578,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "Opis konta"
@@ -880,14 +880,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "Drukarka"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "Drukarka"
@@ -953,12 +953,12 @@ msgstr "Akcja"
msgid "Credits"
msgstr "WpÅywy"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "Drukuj"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -969,7 +969,7 @@ msgstr "Eksport"
msgid "credit.csv"
msgstr "WpÅywy"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "Nie można zapisaÄ pliku."
@@ -1347,6 +1347,11 @@ msgstr ""
msgid "Start date: "
msgstr "PoczÄ
tek:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "Automatyczny"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1364,7 +1369,7 @@ msgid "Balance"
msgstr "Saldo"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1385,80 +1390,80 @@ msgstr "Saldo poczÄ
tkowe"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "Wybór danych"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "Wybór danych"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr "Kasowanie zaplanowanej transakcji"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "PrzeksztaÅÄ transakcjÄ w zaplanowanÄ
transakcjÄ"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
#, fuzzy
msgid "Insert the balance of a cash account"
msgstr "Nie można wykonaÄ transferu do zamkniÄtego konta "
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
#, fuzzy
msgid "Reset data"
msgstr "Data koÅcowa"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
#, fuzzy
msgid " (budget exceeded)"
msgstr "NieokreÅlona linia budżetowa"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
#, fuzzy
msgid "No data by default"
msgstr "PrzywrÃ³Ä ustawienia domyÅlne"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Brak kategorii"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Pusta linia budżetowa"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "Eksport linii budżetowych"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "Saldo"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1546,7 +1551,7 @@ msgstr "Podaj nazwÄ nowej podkategorii"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Import"
@@ -2217,7 +2222,7 @@ msgstr "Rok finansowy"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "Metody pÅatnoÅci"
@@ -2651,13 +2656,13 @@ msgid "Generalities"
msgstr "Ogólne"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "Transakcje"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "Waluty"
@@ -2701,7 +2706,7 @@ msgstr "ZawartoÅÄ listy transakcji"
msgid "Transactions display"
msgstr "Lista transakcji"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "Waluty"
@@ -3128,7 +3133,7 @@ msgstr "Podgrupa linii budżetowej"
msgid "Reconciliation number"
msgstr "Numer potwierdzenia"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "Strona gÅówna"
@@ -3146,7 +3151,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "Terminarz"
@@ -3335,6 +3340,46 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr "Plik \"%s\" nie zostaÅ zaimportowany."
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+#, fuzzy
+msgid "_File"
+msgstr "Plik"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+#, fuzzy
+msgid "_New account file..."
+msgstr "Nowy plik kont"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+#, fuzzy
+msgid "_Open..."
+msgstr "_Otwórz"
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+#, fuzzy
+msgid "_Recently opened files"
+msgstr "Ostatnio otwierane pliki"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+#, fuzzy
+msgid "_Import file..."
+msgstr "Eksport plików"
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+#, fuzzy
+msgid "_Save"
+msgstr "Zapisz"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+#, fuzzy
+msgid "_Save as..."
+msgstr "Zapisz jako"
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3504,7 +3549,7 @@ msgid "Report name"
msgstr "Nazwa raportu"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
#, fuzzy
msgid "Archives"
msgstr "WÅÄ
cz"
@@ -4033,7 +4078,7 @@ msgstr "Nazwa wÅaÅciciela:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -4121,12 +4166,12 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
#, fuzzy
msgid "Web"
msgstr "Strona www"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "PrzeglÄ
darka www:"
@@ -4136,46 +4181,46 @@ msgstr "PrzeglÄ
darka www:"
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "Ustawienia dla plików kont"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "Automatycznie wczytuj ostatnio otwarty plik"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "Automatycznie zapisuj przy wyjÅciu"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "Utwórz kopiÄ bezpieczeÅstwa przed zapisaniem pliku"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
#, fuzzy
msgid "Make a backup copy every "
msgstr "Utwórz kopiÄ bezpieczeÅstwa przed zapisaniem pliku"
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
#, fuzzy
msgid " minutes"
msgstr "opisie"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "Kopia bezpieczeÅstwa:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "Metody pÅatnoÅci"
@@ -4421,7 +4466,7 @@ msgstr "Nowy bank"
msgid "Contact name"
msgstr "Nazwisko osoby kontaktowej"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Banki"
@@ -6690,7 +6735,7 @@ msgstr ""
"\" opcjÄ poniżej."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "Wymuszaj zapis zablokowanych plików"
@@ -6722,7 +6767,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "bez nazwy"
@@ -6775,7 +6820,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, fuzzy, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "Nie można zapisaÄ pliku '%s': %s"
@@ -7118,75 +7163,75 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "Formularz transakcji"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr ""
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
#, fuzzy
msgid "Col 1"
msgstr "Kol1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
#, fuzzy
msgid "Col 2"
msgstr "Kol2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
#, fuzzy
msgid "Col 3"
msgstr "Kol3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
#, fuzzy
msgid "Col 4"
msgstr "Kol4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
#, fuzzy
msgid "Col 5"
msgstr "Kol5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
#, fuzzy
msgid "Col 6"
msgstr "Kol6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
#, fuzzy
msgid "rows"
msgstr "PrzeglÄ
daj"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
#, fuzzy
msgid "columns"
msgstr "Konta"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr ""
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7201,10 +7246,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "Automatyczny"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "Wybierz konto"
@@ -7253,7 +7294,7 @@ msgstr "Numer transakcji"
msgid "Automatic/Manual"
msgstr "Automatyczny"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Lata finansowe"
@@ -7570,7 +7611,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Twórz nowe konto"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
#, fuzzy
msgid "Sort for reconciliation"
msgstr "Metody pÅatnoÅci"
@@ -7796,7 +7837,7 @@ msgid "Execute transaction"
msgstr "UsuÅ transakcjÄ"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, fuzzy, c-format
msgid "Total : %s (variance : %s)"
msgstr "Razem %s: %s (%d transakcje)"
@@ -8563,7 +8604,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "Pokaż kategorie"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
#, fuzzy
msgid "Import associations"
msgstr "Akcja"
@@ -8912,79 +8953,43 @@ msgstr "Pusta podgrupa linii budżetowej"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "PrzenieÅ transakcje do"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "Transakcja w trzech wierszach"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "Napraw plik"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr ""
"BÅÄ
d podczas przechwytywania sygnaÅu: SIGSEGV nie bÄdzie przechwycony\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-#, fuzzy
-msgid "_File"
-msgstr "Plik"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-#, fuzzy
-msgid "_New account file..."
-msgstr "Nowy plik kont"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-#, fuzzy
-msgid "_Open..."
-msgstr "_Otwórz"
-
-#: ../src/menu.c:175 ../src/menu.c:183
-#, fuzzy
-msgid "_Recently opened files"
-msgstr "Ostatnio otwierane pliki"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-#, fuzzy
-msgid "_Save"
-msgstr "Zapisz"
-
-#: ../src/menu.c:187
-#, fuzzy
-msgid "_Save as..."
-msgstr "Zapisz jako"
-
-#: ../src/menu.c:189
-#, fuzzy
-msgid "_Import file..."
-msgstr "Eksport plików"
-
#: ../src/menu.c:191
#, fuzzy
msgid "_Export accounts as QIF/CSV file..."
@@ -9432,237 +9437,237 @@ msgid "Remove this report"
msgstr "UsuÅ raport"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
#, fuzzy
msgid "Grisbi preferences"
msgstr "Ustawienia"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
#, fuzzy
msgid "Main"
msgstr "Hiszpania"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "Pliki"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programy"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "Metody pÅatnoÅci"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "WyÅwietl"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "WiadomoÅci i ostrzeżenia"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
#, fuzzy
msgid "Payees, categories and budgetaries"
msgstr "ProszÄ podaÄ nazwÄ linii budżetowej"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
#, fuzzy
msgid "Messages before deleting"
msgstr "WiadomoÅci i ostrzeżenia"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
#, fuzzy
msgid "Content"
msgstr "Kontakt"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Zasoby"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
#, fuzzy
msgid "Currencies links"
msgstr "Waluty"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
#, fuzzy
msgid "Balance estimate"
msgstr "Salda"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
#, fuzzy
msgid "Display following warnings messages"
msgstr "Komunikaty ostrzeżeÅ"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
#, fuzzy
msgid "Message"
msgstr "Logowanie wiadomoÅci"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
#, fuzzy
msgid "Display following messages"
msgstr "Komunikaty ostrzeżeÅ"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "ZapamiÄtuj ostatnio otwarte pliki:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "Kopie bezpieczeÅstwa"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
#, fuzzy
msgid "Make a single backup file"
msgstr "Utwórz kopiÄ bezpieczeÅstwa przed zapisaniem pliku"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "Utwórz kopiÄ bezpieczeÅstwa po otwarciu pliku"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "Zapis pliku"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
#, fuzzy
msgid "Scheduler warnings at Grisbi's opening"
msgstr "Ostrzeżenia terminarza"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
#, fuzzy
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr "Najbliższe rÄczne zaplanowane transakcje "
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
#, fuzzy
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "Najbliższe rÄczne zaplanowane transakcje "
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
#, fuzzy
msgid "Number of days before the warning or the execution: "
msgstr ""
"Ile dni przed terminem zaplanowanej transakcji wyÅwietliÄ odpowiedni "
"komunikat:"
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
#, fuzzy
msgid "Sort option for transactions"
msgstr "Formatowanie transakcji"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
#, fuzzy
msgid "by number"
msgstr "numer czeku"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "Wybór danych"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "Saldo poczÄ
tkowe"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "Wybór danych"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "Wybierz konto"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "Eksportuj raport"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
#, fuzzy
msgid "Decimal point: "
msgstr "Wybór danych:"
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10371,13 +10376,13 @@ msgstr "Pokaż transakcje"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 6af21e1..2dcf93f 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pt_BR\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2005-12-19 09:07-0200\n"
"Last-Translator: \n"
"Language-Team: <pt at li.org>\n"
@@ -222,7 +222,7 @@ msgstr "Nome da conta"
msgid "Currency"
msgstr "Moeda"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "Fontes & Logotipo"
@@ -268,7 +268,7 @@ msgstr "Verificando"
msgid "Back to default"
msgstr "Voltar para padrões"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Endereços & TÃtulos"
@@ -514,7 +514,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
#, fuzzy
msgid "Transactions list cells"
msgstr "Prévia da lista de lançamentos"
@@ -540,7 +540,7 @@ msgstr "Meses"
msgid "Year"
msgstr "Ano"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "Gerais"
@@ -580,7 +580,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "Detalhes da conta"
@@ -880,14 +880,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "Impressora"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "Impressora"
@@ -953,12 +953,12 @@ msgstr "Ação"
msgid "Credits"
msgstr "Crédito"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "Imprimir"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -969,7 +969,7 @@ msgstr "Exportar"
msgid "credit.csv"
msgstr "Crédito"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "Não posso salvar arquivo."
@@ -1346,6 +1346,11 @@ msgstr ""
msgid "Start date: "
msgstr "Inicio:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "Automática"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1363,7 +1368,7 @@ msgid "Balance"
msgstr "Saldo"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1384,82 +1389,82 @@ msgstr "Saldo inicial"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "Seleção por data"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "Seleção por data"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr ""
"Apagar lançamento\n"
"selecionado da agenda"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "Converter lançamento para lançamentos agendados"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
#, fuzzy
msgid "Insert the balance of a cash account"
msgstr "Não é possÃvel efetuar uma transferência em uma conta fechada."
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
#, fuzzy
msgid "Reset data"
msgstr "Ãltima data"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
#, fuzzy
msgid " (budget exceeded)"
msgstr "Nenhum orçamento"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
#, fuzzy
msgid "No data by default"
msgstr "Voltar para padrões"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Nenhuma categoria"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Nenhum orçamento"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "Exportar orçamento"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "Saldo"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1547,7 +1552,7 @@ msgstr "Informe um nome para a nova sub-categoria"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Importar"
@@ -2219,7 +2224,7 @@ msgstr "Ano Contábil"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "Formas de pagamento"
@@ -2658,13 +2663,13 @@ msgid "Generalities"
msgstr "Gerais"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "Lançamentos"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "Moedas"
@@ -2708,7 +2713,7 @@ msgstr "Conteúdo da lista de lançamentos"
msgid "Transactions display"
msgstr "Lista de lançamentos"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "Total das moedas"
@@ -3138,7 +3143,7 @@ msgstr "Sub-orçamentos"
msgid "Reconciliation number"
msgstr "Reconciliação número"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "Página inicial"
@@ -3156,7 +3161,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "Agenda"
@@ -3347,6 +3352,46 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr "Arquivo \"%s\" não pode ser importado."
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+#, fuzzy
+msgid "_File"
+msgstr "Arquivo"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+#, fuzzy
+msgid "_New account file..."
+msgstr "Novo arquivo de conta"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+#, fuzzy
+msgid "_Open..."
+msgstr "_Abrir"
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+#, fuzzy
+msgid "_Recently opened files"
+msgstr "Arquivos abertos recentemente"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+#, fuzzy
+msgid "_Import file..."
+msgstr "Exportar para arquivos QIF"
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+#, fuzzy
+msgid "_Save"
+msgstr "Salvar"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+#, fuzzy
+msgid "_Save as..."
+msgstr "Salvar como"
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3516,7 +3561,7 @@ msgid "Report name"
msgstr "Nome do relatório"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
#, fuzzy
msgid "Archives"
msgstr "Ativado"
@@ -4045,7 +4090,7 @@ msgstr "Nome do titular:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -4133,12 +4178,12 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
#, fuzzy
msgid "Web"
msgstr "Website"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "Navegador Internet:"
@@ -4148,46 +4193,46 @@ msgstr "Navegador Internet:"
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "Manipulação dos arquivos de contas"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "Abrir último arquivo automaticamente ao iniciar"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "Salvar automaticamente ao sair"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "Fazer uma cópia de backup antes de salvar os arquivos"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
#, fuzzy
msgid "Make a backup copy every "
msgstr "Fazer uma cópia de backup antes de salvar os arquivos"
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
#, fuzzy
msgid " minutes"
msgstr "nota"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "Arquivo de backup:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "Reconciliação"
@@ -4434,7 +4479,7 @@ msgstr "Novo banco"
msgid "Contact name"
msgstr "Pessoa de contato"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Bancos"
@@ -6715,7 +6760,7 @@ msgstr ""
"Posteriormente mude \"%s\" opção abaixo."
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "Forçar salvando arquivos bloqueados"
@@ -6747,7 +6792,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "sem nome"
@@ -6799,7 +6844,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, fuzzy, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "Não posso salvar arquivo '%s': %s"
@@ -7143,65 +7188,65 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "Formulário de lançamentos"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr "Prévia da estrutura do formulário"
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
#, fuzzy
msgid "Col 1"
msgstr "Col 1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
#, fuzzy
msgid "Col 2"
msgstr "Col 2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
#, fuzzy
msgid "Col 3"
msgstr "Col 3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
#, fuzzy
msgid "Col 4"
msgstr "Col 4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
#, fuzzy
msgid "Col 5"
msgstr "Col 5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
#, fuzzy
msgid "Col 6"
msgstr "Col 6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
#, fuzzy
msgid "rows"
msgstr "Navegador"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
#, fuzzy
msgid "columns"
msgstr "Contas"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
@@ -7209,11 +7254,11 @@ msgstr ""
"Não é possÃvel colocar um elemento aqui. Você precisa informar um número de "
"linhas ou colunas para adicionar um elemento."
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr "A tabela está cheia"
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7228,10 +7273,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "Automática"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "Alterar a conta"
@@ -7280,7 +7321,7 @@ msgstr "Número da lançamento"
msgid "Automatic/Manual"
msgstr "Automática"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Anos contábeis"
@@ -7596,7 +7637,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Criar uma nova conta"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
#, fuzzy
msgid "Sort for reconciliation"
msgstr "Reconciliação"
@@ -7829,7 +7870,7 @@ msgid "Execute transaction"
msgstr "Apagar lançamento"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, fuzzy, c-format
msgid "Total : %s (variance : %s)"
msgstr "Total %s: %s (%d lançamentos)"
@@ -8601,7 +8642,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "Detalhes das categorias"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
#, fuzzy
msgid "Import associations"
msgstr "Ação"
@@ -8949,78 +8990,42 @@ msgstr "Nenhum sub-orçamento"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "Transferir os lançamentos para"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "Três linhas por lançamento"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "Depurar arquivo"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "Erro em sigaction: SIGSEGV não será prendido\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-#, fuzzy
-msgid "_File"
-msgstr "Arquivo"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-#, fuzzy
-msgid "_New account file..."
-msgstr "Novo arquivo de conta"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-#, fuzzy
-msgid "_Open..."
-msgstr "_Abrir"
-
-#: ../src/menu.c:175 ../src/menu.c:183
-#, fuzzy
-msgid "_Recently opened files"
-msgstr "Arquivos abertos recentemente"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-#, fuzzy
-msgid "_Save"
-msgstr "Salvar"
-
-#: ../src/menu.c:187
-#, fuzzy
-msgid "_Save as..."
-msgstr "Salvar como"
-
-#: ../src/menu.c:189
-#, fuzzy
-msgid "_Import file..."
-msgstr "Exportar para arquivos QIF"
-
#: ../src/menu.c:191
#, fuzzy
msgid "_Export accounts as QIF/CSV file..."
@@ -9470,235 +9475,235 @@ msgid "Remove this report"
msgstr "Nome do arquivo de contas"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
#, fuzzy
msgid "Grisbi preferences"
msgstr "Preferências"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
#, fuzzy
msgid "Main"
msgstr "Spain"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "Arquivos"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programas"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "Reconciliação"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "Exibir"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "Mensagens & Avisos"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
#, fuzzy
msgid "Payees, categories and budgetaries"
msgstr "Por favor, informe um orçamento!"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
#, fuzzy
msgid "Messages before deleting"
msgstr "Mensagens & Avisos"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
#, fuzzy
msgid "Content"
msgstr "Contato"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Recursos"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
#, fuzzy
msgid "Currencies links"
msgstr "Moedas"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
#, fuzzy
msgid "Balance estimate"
msgstr "Saldos"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
#, fuzzy
msgid "Display following warnings messages"
msgstr "Mensagens de atenção"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
#, fuzzy
msgid "Message"
msgstr "Histórico da menssagens"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
#, fuzzy
msgid "Display following messages"
msgstr "Mensagens de atenção"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "Memorizar últimos arquivos abertos:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "Backups"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
#, fuzzy
msgid "Make a single backup file"
msgstr "Fazer uma cópia de backup antes de salvar os arquivos"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "Fazer uma cópia de backup após abrir arquivos"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "Salvar arquivo"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
#, fuzzy
msgid "Scheduler warnings at Grisbi's opening"
msgstr "Mensagens da agenda"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
#, fuzzy
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr "Lançamentos manuais agendados até a data atual"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
#, fuzzy
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "Lançamentos manuais agendados até a data atual"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
#, fuzzy
msgid "Number of days before the warning or the execution: "
msgstr "Número de dias antes de exibir mensagens de lançamentos agendados:"
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
#, fuzzy
msgid "Sort option for transactions"
msgstr "Formatando lançamentos"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
#, fuzzy
msgid "by number"
msgstr "o cheque número"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "Seleção por data"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "Saldo inicial"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "Seleção por data"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "Alterar a conta"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "Exportar relatório"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
#, fuzzy
msgid "Decimal point: "
msgstr "Seleção por data:"
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10404,13 +10409,13 @@ msgstr "Exibir lançamentos"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/ro.po b/po/ro.po
index 41bc58f..570e3a5 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -38,7 +38,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ro\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2005-12-19 11:24+0100\n"
"Last-Translator: Mircea Aronovici <bucuresti at free.fr>\n"
"Language-Team: <bucuresti at free.fr>\n"
@@ -252,7 +252,7 @@ msgstr "Numele contului"
msgid "Currency"
msgstr "DevizÄ"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "PoliÅ£Ä & logo"
@@ -299,7 +299,7 @@ msgstr "Pontare"
msgid "Back to default"
msgstr "Restabilirea reglajelor de origine"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "Adrese Åi titluri"
@@ -545,7 +545,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr "Celule de la lista de tranzacţiuni"
@@ -570,7 +570,7 @@ msgstr "Luni"
msgid "Year"
msgstr "Anul"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "GeneralitÄÅ£i"
@@ -610,7 +610,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "Detalii a contului"
@@ -912,14 +912,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "ImprimantÄ"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "ImprimantÄ"
@@ -985,12 +985,12 @@ msgstr "Acţiune"
msgid "Credits"
msgstr "Credit"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "Imprimaţi"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -1001,7 +1001,7 @@ msgstr "Exportare"
msgid "credit.csv"
msgstr "Credit"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "Imposibil de a înregistra fiÅierul."
@@ -1379,6 +1379,11 @@ msgstr ""
msgid "Start date: "
msgstr "Ãnceput:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "Automatic"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1396,7 +1401,7 @@ msgid "Balance"
msgstr "Sold"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1417,80 +1422,80 @@ msgstr "Sold iniţial"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "Selecţia datelor"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "Selecţia datelor"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr "Återge o operaÅ£ie planificatÄ"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "Convertirea operaÅ£iunii în operaÅ£iune planificatÄ"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
#, fuzzy
msgid "Insert the balance of a cash account"
msgstr "Imposibil de a efectua un virament pe un cont închis"
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
#, fuzzy
msgid "Reset data"
msgstr "Ultima datÄ"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
#, fuzzy
msgid " (budget exceeded)"
msgstr "Nici'o imputaţie"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
#, fuzzy
msgid "No data by default"
msgstr "Restabilirea reglajelor de origine"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "Nici o categorie"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "Nici o imputaţie bugetara"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "Exporta imputaţiile bugetare"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "Sold"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1579,7 +1584,7 @@ msgstr "Intraţi numele noii sub-categorii."
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "Importare"
@@ -2249,7 +2254,7 @@ msgstr "Exerciţiu "
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "Moduri de platÄ"
@@ -2684,13 +2689,13 @@ msgid "Generalities"
msgstr "GeneralitÄÅ£i"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "Tranzacţiuni"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "Devize"
@@ -2734,7 +2739,7 @@ msgstr "Conţinutul listei de tranzacţiuni"
msgid "Transactions display"
msgstr "Liste de tranzacţii"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "Devize de totaluri"
@@ -3164,7 +3169,7 @@ msgstr "Sub-imputaţii bugetare"
msgid "Reconciliation number"
msgstr "NumÄr de apropiere"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "Pagina de primire"
@@ -3182,7 +3187,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "ScadenÅ£Ä"
@@ -3371,6 +3376,46 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr "FiÅierul \"%s\" nu poate fi importat"
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+#, fuzzy
+msgid "_File"
+msgstr "FiÅier"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+#, fuzzy
+msgid "_New account file..."
+msgstr "Nou fiÅier de cont"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+#, fuzzy
+msgid "_Open..."
+msgstr "Deschide"
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+#, fuzzy
+msgid "_Recently opened files"
+msgstr "Ultimile fiÅiere"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+#, fuzzy
+msgid "_Import file..."
+msgstr "Exporta fiÅiere"
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+#, fuzzy
+msgid "_Save"
+msgstr "ÃnregistraÅ£i"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+#, fuzzy
+msgid "_Save as..."
+msgstr "ÃnregistraÅ£i sub"
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3540,7 +3585,7 @@ msgid "Report name"
msgstr "Numele de stare"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
#, fuzzy
msgid "Archives"
msgstr "A activa"
@@ -4069,7 +4114,7 @@ msgstr "Numele titularului:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -4157,12 +4202,12 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
#, fuzzy
msgid "Web"
msgstr "Situl Web"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "Navigator web:"
@@ -4172,46 +4217,46 @@ msgstr "Navigator web:"
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "Gestiunea fiÅierelor de conturi"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "ÃncÄcarea automaticÄ a ultimului fiÅier consultat"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "Ãnregistra automatic închizând"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "Efectua o copie de salvare înainte de a înregistra fiÅierele"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
#, fuzzy
msgid "Make a backup copy every "
msgstr "Efectua o copie de salvare înainte de a înregistra fiÅierele"
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
#, fuzzy
msgid " minutes"
msgstr "notÄ"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "FiÅier de salvare:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "Apropiere"
@@ -4460,7 +4505,7 @@ msgstr "O nouÄ bancÄ"
msgid "Contact name"
msgstr "Corespondent"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "BÄnci"
@@ -6746,7 +6791,7 @@ msgstr ""
"Alternativ, alegeţi opţiunea \"%s\"dedesupt. "
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "ForÅ£aÅ£i înregistrarea fiÅierilor zÄvorite"
@@ -6778,7 +6823,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "fÄra nume"
@@ -6832,7 +6877,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, fuzzy, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "Imposibil de a salva fiÅierul '%s': %s"
@@ -7179,75 +7224,75 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "Formular de tranzacţie"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr ""
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
#, fuzzy
msgid "Col 1"
msgstr "Col1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
#, fuzzy
msgid "Col 2"
msgstr "Col2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
#, fuzzy
msgid "Col 3"
msgstr "Col3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
#, fuzzy
msgid "Col 4"
msgstr "Col4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
#, fuzzy
msgid "Col 5"
msgstr "Col5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
#, fuzzy
msgid "Col 6"
msgstr "Col6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
#, fuzzy
msgid "rows"
msgstr "A parcurge"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
#, fuzzy
msgid "columns"
msgstr "Conturi"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr ""
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7262,10 +7307,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "Automatic"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "Alegerea contului afectat"
@@ -7314,7 +7355,7 @@ msgstr "NumÄrul tranzacÅ£iei"
msgid "Automatic/Manual"
msgstr "Automatic"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "Exerciţiu"
@@ -7630,7 +7671,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "Creaţi un nou cont"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
#, fuzzy
msgid "Sort for reconciliation"
msgstr "Apropiere"
@@ -7862,7 +7903,7 @@ msgid "Execute transaction"
msgstr "Suprima operaţiunea"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, fuzzy, c-format
msgid "Total : %s (variance : %s)"
msgstr "Total %s : %s (%d operaţiuni)"
@@ -8630,7 +8671,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "Detailaţi categoriile utilizate"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
#, fuzzy
msgid "Import associations"
msgstr "Acţiune"
@@ -8979,78 +9020,42 @@ msgstr "Nici o sub-inputaţie"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "Transfera operaţiunile pe terţi"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "Trei linii pe tranzacţie"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "DebogaÅ£i fiÅierul"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "Eroare pe sigaction, semnalul SIGSEGV nu va fi deturnat\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-#, fuzzy
-msgid "_File"
-msgstr "FiÅier"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-#, fuzzy
-msgid "_New account file..."
-msgstr "Nou fiÅier de cont"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-#, fuzzy
-msgid "_Open..."
-msgstr "Deschide"
-
-#: ../src/menu.c:175 ../src/menu.c:183
-#, fuzzy
-msgid "_Recently opened files"
-msgstr "Ultimile fiÅiere"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-#, fuzzy
-msgid "_Save"
-msgstr "ÃnregistraÅ£i"
-
-#: ../src/menu.c:187
-#, fuzzy
-msgid "_Save as..."
-msgstr "ÃnregistraÅ£i sub"
-
-#: ../src/menu.c:189
-#, fuzzy
-msgid "_Import file..."
-msgstr "Exporta fiÅiere"
-
#: ../src/menu.c:191
#, fuzzy
msgid "_Export accounts as QIF/CSV file..."
@@ -9498,235 +9503,235 @@ msgid "Remove this report"
msgstr "Stergeţi starea"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
#, fuzzy
msgid "Grisbi preferences"
msgstr "Preferinţe"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
#, fuzzy
msgid "Main"
msgstr "Spania"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "FiÅiere"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "Programe"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "Apropiere"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "AfiÅare"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "Mesaje Åi alarme"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
#, fuzzy
msgid "Payees, categories and budgetaries"
msgstr "VÄ rugÄm intraÅ£i o imputaÅ£ie"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
#, fuzzy
msgid "Messages before deleting"
msgstr "Mesaje Åi alarme"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
#, fuzzy
msgid "Content"
msgstr "Corespondent"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "Resurse"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
#, fuzzy
msgid "Currencies links"
msgstr "Devize"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
#, fuzzy
msgid "Balance estimate"
msgstr "Solduri"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
#, fuzzy
msgid "Display following warnings messages"
msgstr "Mesaj de alarmÄ"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
#, fuzzy
msgid "Message"
msgstr "Mesaj de log"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
#, fuzzy
msgid "Display following messages"
msgstr "Mesaj de alarmÄ"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "Memorizarea ultimielor fiÅiere deschise:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "SalvÄri"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
#, fuzzy
msgid "Make a single backup file"
msgstr "Efectua o copie de salvare înainte de a înregistra fiÅierele"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "A efectua o copie de salvare dupÄ ce fiÅierele au fost deschise"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "ÃnregistraÅ£i fiÅierul."
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
#, fuzzy
msgid "Scheduler warnings at Grisbi's opening"
msgstr "AlarmÄ a scadenÅ£ei"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
#, fuzzy
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr "Operaţiunele planificate manual au ajuns la termen"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
#, fuzzy
msgid "Warn/Exe tres.c:1120 cate manual au ajuns la termen" iration date" " ): " %s' " u)" ist_set. Îεν " ½Î±" ην " ι να " ÿ u{ã+ ª|ã+ ¥ã+ ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ cute the scheduled transactions of the month"
msgstr "Operaţiunele planificate manual au ajuns la termen"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
#, fuzzy
msgid "Number of days before the warning or the execution: "
msgstr "NumÄrul de zile precedând rapelul unei operaÅ£iuni planificate:"
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
#, fuzzy
msgid "Sort option for transactions"
msgstr "Punerea în formÄ de operaÅ£iuni"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
#, fuzzy
msgid "by number"
msgstr "numÄrul de cec"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "Selecţia datelor"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "Sold iniţial"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "Selecţia datelor"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "Alegerea contului afectat"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "Exporta o stare"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
#, fuzzy
msgid "Decimal point: "
msgstr "Selecţia datelor:"
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10434,13 +10439,13 @@ msgstr "AfiÅarea tranzacÅ£iilor"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/ru.po b/po/ru.po
index a80121f..6458f38 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ru\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2010-02-11 19:06+0300\n"
"Last-Translator: Alexandre Prokoudine <alexandre.prokoudine at gmail.com>\n"
"Language-Team: Russian <ru at li.org>\n"
@@ -210,7 +210,7 @@ msgstr "Тип ÑÑÑÑа"
msgid "Currency"
msgstr "ÐалÑÑа"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "ШÑиÑÑÑ Ð¸ логоÑип"
@@ -251,7 +251,7 @@ msgstr ""
msgid "Back to default"
msgstr "СбÑоÑиÑÑ Ð´Ð¾ иÑÑ
однÑÑ
"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "ÐдÑеÑа и названиÑ"
@@ -487,7 +487,7 @@ msgstr ""
"ÐакÑималÑное ÑиÑло ÑлеменÑов в ÑаÑкÑÑваÑÑиÑ
ÑÑ ÑпиÑкаÑ
(Ð½Ð¾Ð»Ñ â беÑконеÑное):"
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr "ЯÑейки ÑпиÑка ÑÑанзакÑий"
@@ -511,7 +511,7 @@ msgstr "ÐеÑÑÑ"
msgid "Year"
msgstr "Ðод"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "ÐÑновнÑе паÑамеÑÑÑ"
@@ -549,7 +549,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "ÐодÑобнее о ÑÑÑÑе"
@@ -848,14 +848,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "ÐÑинÑеÑ"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "ÐÑинÑеÑ"
@@ -921,12 +921,12 @@ msgstr "СвÑзÑвание пÑи импоÑÑе"
msgid "Credits"
msgstr "ÐÑиÑ
од"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "ÐеÑаÑÑ"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -937,7 +937,7 @@ msgstr "ÐкÑпоÑÑиÑоваÑÑ"
msgid "credit.csv"
msgstr "ÐÑиÑ
од"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "Ðевозможно ÑоÑ
ÑаниÑÑ Ñайл"
@@ -1306,6 +1306,11 @@ msgstr ""
msgid "Start date: "
msgstr "ÐаÑало:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "ÐвÑомаÑиÑеÑки"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1323,7 +1328,7 @@ msgid "Balance"
msgstr "ÐаланÑ"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1344,78 +1349,78 @@ msgstr "ÐополниÑелÑнÑй баланÑ"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "ÐÑÐ±Ð¾Ñ Ð´Ð°Ñ"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "ÐÑÐ±Ð¾Ñ Ð´Ð°Ñ"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr "Удаление одной или более попавÑиÑ
ÑÑ Ð·Ð°Ð¿Ð»Ð°Ð½Ð¸ÑованнÑÑ
пÑоводок"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "ÐÑеобÑазоваÑÑ ÑÑанзакÑÐ¸Ñ Ð² _запланиÑованнÑÑ"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
msgid "Insert the balance of a cash account"
msgstr ""
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr ""
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
#, fuzzy
msgid " (still available)"
msgstr "ÐпиÑание недоÑÑÑпно"
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
msgid " (budget exceeded)"
msgstr ""
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
#, fuzzy
msgid "No data by default"
msgstr "СбÑоÑиÑÑ Ð´Ð¾ иÑÑ
однÑÑ
"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr ""
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr ""
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "ÐÐ¼Ñ Ñайла Ñо ÑÑеÑами"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "ÐаланÑ"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1498,7 +1503,7 @@ msgstr "СоздаÑÑ Ð½Ð¾Ð²ÑÑ Ð¿Ð¾Ð´ÐºÐ°ÑегоÑиÑ"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "ÐмпоÑÑиÑоваÑÑ"
@@ -2137,7 +2142,7 @@ msgstr "ФинанÑовÑй год"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "СпоÑÐ¾Ð±Ñ Ð¿Ð»Ð°Ñежа"
@@ -2545,13 +2550,13 @@ msgid "Generalities"
msgstr "ÐбобÑениÑ"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "ÐÑоводки"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "ÐалÑÑÑ"
@@ -2590,7 +2595,7 @@ msgstr "СодеÑжимое пÑоводки"
msgid "Transactions display"
msgstr "ÐÑобÑажение пÑоводок"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "ÐалÑÑÑ Ð´Ð»Ñ Ð¸ÑоговÑÑ
ÑÑмм"
@@ -3002,7 +3007,7 @@ msgstr "СÑббÑджеÑнÑе линии"
msgid "Reconciliation number"
msgstr "ÐÐ¾Ð¼ÐµÑ Ð²ÑвеÑки ÑÑеÑов"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "РезÑме"
@@ -3020,7 +3025,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "РаÑпиÑание"
@@ -3193,6 +3198,39 @@ msgstr "Файл «%s» ÑÑпеÑно ÑоÑ
ÑанÑн"
msgid "File '%s' could not be saved"
msgstr "Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ Ñайл «%s»."
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+msgid "_File"
+msgstr "_Файл"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+msgid "_New account file..."
+msgstr "_СоздаÑÑ Ñайл ÑÑÑÑа..."
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+msgid "_Open..."
+msgstr "_ÐÑкÑÑÑÑ"
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr "_Ðедавние ÑайлÑ"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+msgid "_Import file..."
+msgstr "_ÐмпоÑÑиÑоваÑÑ Ñайл..."
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+msgid "_Save"
+msgstr "Со_Ñ
ÑаниÑÑ"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+msgid "_Save as..."
+msgstr "СоÑ
ÑаниÑÑ _как"
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3358,7 +3396,7 @@ msgid "Report name"
msgstr "Ðазвание оÑÑÑÑа"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
msgid "Archives"
msgstr "ÐÑÑ
ивÑ"
@@ -3915,7 +3953,7 @@ msgstr "ÐÐ¼Ñ Ñайла:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr "ШиÑÑоваÑÑ Ñайл Grisbi"
@@ -4011,11 +4049,11 @@ msgid "General configuration of Grisbi"
msgstr "ÐбÑÐ°Ñ Ð½Ð°ÑÑÑойка Grisbi"
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
msgid "Web"
msgstr "ÐнÑеÑнеÑ"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "Ðоманда вÑзова бÑаÑзеÑа:"
@@ -4026,44 +4064,44 @@ msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
"ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ %s Ð´Ð»Ñ ÑаÑÑиÑÐµÐ½Ð¸Ñ URL, напÑимеÑ: 'firefox -remote %s'"
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "ÐбÑаÑение Ñ Ñайлами ÑÑеÑов"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "ÐвÑомаÑиÑеÑки загÑÑжаÑÑ Ð¿Ð¾Ñледний Ñайл пÑи запÑÑке"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "ÐвÑомаÑиÑеÑки ÑоÑ
ÑанÑÑÑ Ð¾ÑкÑÑÑÑй Ñайл пÑи вÑÑ
оде"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "СоздаваÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÐµÑед ÑоÑ
Ñанением Ñайлов"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr "СоздаваÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÐºÐ°Ð¶Ð´Ñе"
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
msgid " minutes"
msgstr " минÑÑ"
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "ÐаÑалог Ð´Ð»Ñ ÑезеÑвнÑÑ
копий:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr "ÐÑбÑаÑÑ Ð¸Ð»Ð¸ ÑоздаÑÑ ÐºÐ°Ñалог ÑезеÑвнÑÑ
копий"
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "ÐÑвеÑка ÑÑеÑов"
@@ -4300,7 +4338,7 @@ msgstr "ÐобавиÑÑ Ð½Ð¾Ð²Ñй банк"
msgid "Contact name"
msgstr "ÐонÑакÑное лиÑо"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "Ðанки"
@@ -6496,7 +6534,7 @@ msgid ""
msgstr ""
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "ÐÑинÑдиÑелÑно ÑоÑ
ÑанÑÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸ÑованнÑе ÑайлÑ"
@@ -6526,7 +6564,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr ""
@@ -6579,7 +6617,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr ""
@@ -6903,67 +6941,67 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "ФоÑмÑлÑÑ ÑÑанзакÑии"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr "ÐÑедпÑоÑмоÑÑ ÑÑÑÑкÑÑÑÑ ÑоÑмÑлÑÑа"
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr "СодеÑжимое ÑоÑмÑлÑÑа"
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr "СÑÐ¾Ð»Ð±ÐµÑ 1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr "СÑÐ¾Ð»Ð±ÐµÑ 2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr "СÑÐ¾Ð»Ð±ÐµÑ 3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr "СÑÐ¾Ð»Ð±ÐµÑ 4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr "СÑÐ¾Ð»Ð±ÐµÑ 5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr "СÑÐ¾Ð»Ð±ÐµÑ 6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr "ÑÑÑоки"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr "ÑÑолбÑÑ"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr ""
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -6978,10 +7016,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "ÐвÑомаÑиÑеÑки"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr ""
@@ -7028,7 +7062,7 @@ msgstr "ÐÐ¾Ð¼ÐµÑ ÑÑанзакÑии"
msgid "Automatic/Manual"
msgstr "ÐвÑомаÑиÑеÑки/ÐÑÑÑнÑÑ"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "ФинанÑовÑе года"
@@ -7316,7 +7350,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "СоздаÑÑ Ð½Ð¾Ð²ÑÑ Ð²ÑвеÑкÑ"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
msgid "Sort for reconciliation"
msgstr "СоÑÑиÑовка Ð´Ð»Ñ Ð²ÑвеÑки"
@@ -7522,7 +7556,7 @@ msgid "Execute transaction"
msgstr "ÐÑполниÑÑ Ð¿ÑоводкÑ"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, c-format
msgid "Total : %s (variance : %s)"
msgstr "ÐÑого: %s (колебание: %s)"
@@ -8241,7 +8275,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "УпÑавлением ÑвÑзÑванием пÑи импоÑÑе"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
msgid "Import associations"
msgstr "СвÑзÑвание пÑи импоÑÑе"
@@ -8570,72 +8604,43 @@ msgstr "СÑббÑджеÑÐ½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "ТÑи линии на ÑÑанзакÑиÑ"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "_ТÑи ÑÑÑоки на пÑоводкÑ"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "Режим оÑладки"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr ""
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr "ÐеÑÑÐ¸Ñ Grisbi %s, %s\n"
-#: ../src/main.c:1011
+#: ../src/main.c:1021
#, fuzzy
msgid "- Personnal finances manager"
msgstr "ÐбÑедоÑÑÑпное ÑпÑавление лиÑнÑми ÑинанÑовÑми ÑÑедÑÑвами\n"
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-msgid "_File"
-msgstr "_Файл"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-msgid "_New account file..."
-msgstr "_СоздаÑÑ Ñайл ÑÑÑÑа..."
-
-#: ../src/menu.c:173 ../src/menu.c:181
-msgid "_Open..."
-msgstr "_ÐÑкÑÑÑÑ"
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr "_Ðедавние ÑайлÑ"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-msgid "_Save"
-msgstr "Со_Ñ
ÑаниÑÑ"
-
-#: ../src/menu.c:187
-msgid "_Save as..."
-msgstr "СоÑ
ÑаниÑÑ _как"
-
-#: ../src/menu.c:189
-msgid "_Import file..."
-msgstr "_ÐмпоÑÑиÑоваÑÑ Ñайл..."
-
#: ../src/menu.c:191
msgid "_Export accounts as QIF/CSV file..."
msgstr "_ÐкÑпоÑÑиÑоваÑÑ ÑÑеÑа в Ñайл QIF/CSV..."
@@ -9047,138 +9052,138 @@ msgid "Remove this report"
msgstr "УдалиÑÑ Ð¾ÑÑÑÑ"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr "ÐаÑамеÑÑÑ Grisbi"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
msgid "Main"
msgstr "ÐÑновнÑе"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "ФайлÑ"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "ÐÑогÑаммÑ"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "ÐÑвеÑка ÑÑеÑов"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "Ðид"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "СообÑÐµÐ½Ð¸Ñ Ð¸ пÑедÑпÑеждениÑ"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
msgid "Payees, categories and budgetaries"
msgstr "ÐолÑÑаÑели, каÑегоÑии и бÑджеÑÑ"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr "Ðоведение ÑпиÑка"
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
msgid "Messages before deleting"
msgstr "СообÑÐµÐ½Ð¸Ñ Ð¿ÐµÑед Ñдалением"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
msgid "Content"
msgstr "СодеÑжимое"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr "Ðоведение"
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr "Ðаполнение"
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "РеÑÑÑÑÑ"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
msgid "Currencies links"
msgstr "ÐÑÑÑÑ Ð¾Ð±Ð¼ÐµÐ½Ð° валÑÑ"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
msgid "Balance estimate"
msgstr "ÐÑенка баланÑа"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr "Ð¡Ð¾Ð²ÐµÑ Ð´Ð½Ñ"
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr "ÐоказÑваÑÑ ÑÐ¾Ð²ÐµÑ Ð´Ð½Ñ"
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
msgid "Display following warnings messages"
msgstr "ÐоказÑваÑÑ ÑледÑÑÑие пÑедÑпÑедиÑелÑнÑе ÑообÑениÑ"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr "СообÑение"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
msgid "Display following messages"
msgstr "ÐоказÑваÑÑ ÑледÑÑÑие ÑообÑениÑ"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr "СжимаÑÑ Ñайл Grisbi"
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "Ðак много поÑледниÑ
Ñайлов помниÑÑ:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "РезеÑвнÑе копии"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
#, fuzzy
msgid "Make a single backup file"
msgstr "СоздаваÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÐºÐ°Ð¶Ð´Ñе"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr "СжимаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Grisbi"
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "СоздаваÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ð¾Ñле оÑкÑÑÑÐ¸Ñ Ñайлов"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "Файл CSV"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, fuzzy, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
@@ -9186,85 +9191,85 @@ msgid ""
msgstr ""
"ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ %s Ð´Ð»Ñ ÑаÑÑиÑÐµÐ½Ð¸Ñ URL, напÑимеÑ: 'firefox -remote %s'"
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr "ÐÑедÑпÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¾ ÑаÑпиÑании пÑи запÑÑке Grisbi"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr ""
"ÐÑедÑпÑеждаÑÑ Ð¾/ÐÑполнÑÑÑ Ð·Ð°Ð¿Ð»Ð°Ð½Ð¸ÑованнÑе пÑоводки Ñ Ð½Ð°Ð´Ð²Ð¸Ð³Ð°ÑÑимÑÑ ÑÑоком "
"иÑÑеÑениÑ"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "ÐÑедÑпÑеждаÑÑ Ð¾/ÐÑполнÑÑÑ Ð·Ð°Ð¿Ð»Ð°Ð½Ð¸ÑованнÑе на меÑÑÑ Ð¿Ñоводки"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
#, fuzzy
msgid "Number of days before the warning or the execution: "
msgstr "ÐолиÑеÑÑво дней пеÑед пÑедÑпÑеждением или вÑполнением:"
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
msgid "Sort option for transactions"
msgstr "ÐÑиÑеÑий ÑоÑÑиÑовки пÑоводок"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
msgid "by number"
msgstr "ÐомеÑ"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "ÐÑÐ±Ð¾Ñ Ð´Ð°Ñ"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "ÐополниÑелÑнÑй баланÑ"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "ÐÑÐ±Ð¾Ñ Ð´Ð°Ñ"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "ÐÑбÑаÑÑ Ñаблон Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ оÑÑÑÑа"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "ФоÑÐ¼Ð°Ñ Ñайла"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
#, fuzzy
msgid "Decimal point: "
msgstr "Разделение даннÑÑ
:"
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
#, fuzzy
msgid "Thousands separator: "
msgstr "ÐÑбеÑиÑе ÑазделиÑÐµÐ»Ñ CSV:"
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -9950,13 +9955,13 @@ msgstr "ÐоказÑваÑÑ ÑовеÑÑ Ð¿Ñи ÑледÑÑÑем запÑÑк
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/sv.po b/po/sv.po
index 652a17d..84fd0c5 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: sv\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
@@ -204,7 +204,7 @@ msgstr ""
msgid "Currency"
msgstr ""
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr ""
@@ -244,7 +244,7 @@ msgstr ""
msgid "Back to default"
msgstr ""
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr ""
@@ -468,7 +468,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr ""
@@ -490,7 +490,7 @@ msgstr ""
msgid "Year"
msgstr ""
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
msgid "General Options"
msgstr ""
@@ -524,7 +524,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
msgid "Accounts data"
msgstr ""
@@ -796,13 +796,13 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
msgid "Print the array"
msgstr ""
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
msgid "Export the array"
msgstr ""
@@ -861,12 +861,12 @@ msgstr ""
msgid "Credits"
msgstr ""
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr ""
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -876,7 +876,7 @@ msgstr ""
msgid "credit.csv"
msgstr ""
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr ""
@@ -1227,6 +1227,11 @@ msgstr ""
msgid "Start date: "
msgstr ""
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr ""
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1244,7 +1249,7 @@ msgid "Balance"
msgstr ""
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1264,70 +1269,70 @@ msgstr ""
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
msgid "Delete selection"
msgstr ""
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
msgid "Change selection"
msgstr ""
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
msgid "Delete all occurences of the selection"
msgstr ""
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
msgid "Convert selection to scheduled transaction"
msgstr ""
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
msgid "Insert the balance of a cash account"
msgstr ""
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
msgid "Reset data"
msgstr ""
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
msgid " (budget exceeded)"
msgstr ""
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
msgid "No data by default"
msgstr ""
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr ""
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr ""
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
msgid "Export the array of forecast"
msgstr ""
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
msgid "Balance at "
msgstr ""
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1405,7 +1410,7 @@ msgstr ""
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr ""
@@ -2029,7 +2034,7 @@ msgstr ""
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr ""
@@ -2432,13 +2437,13 @@ msgid "Generalities"
msgstr ""
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr ""
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr ""
@@ -2477,7 +2482,7 @@ msgstr ""
msgid "Transactions display"
msgstr ""
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr ""
@@ -2866,7 +2871,7 @@ msgstr ""
msgid "Reconciliation number"
msgstr ""
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr ""
@@ -2883,7 +2888,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr ""
@@ -3052,6 +3057,39 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr ""
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+msgid "_File"
+msgstr ""
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+msgid "_New account file..."
+msgstr ""
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+msgid "_Open..."
+msgstr ""
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+msgid "_Recently opened files"
+msgstr ""
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+msgid "_Import file..."
+msgstr ""
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+msgid "_Save"
+msgstr ""
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+msgid "_Save as..."
+msgstr ""
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3203,7 +3241,7 @@ msgid "Report name"
msgstr ""
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
msgid "Archives"
msgstr ""
@@ -3692,7 +3730,7 @@ msgstr ""
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -3774,11 +3812,11 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
msgid "Web"
msgstr ""
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
msgid "Web browser command: "
msgstr ""
@@ -3787,43 +3825,43 @@ msgstr ""
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr ""
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr ""
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr ""
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr ""
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
msgid "Make a backup copy every "
msgstr ""
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
msgid " minutes"
msgstr ""
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
msgid "Backup directory: "
msgstr ""
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr ""
@@ -4054,7 +4092,7 @@ msgstr ""
msgid "Contact name"
msgstr ""
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr ""
@@ -6212,7 +6250,7 @@ msgid ""
msgstr ""
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr ""
@@ -6242,7 +6280,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr ""
@@ -6294,7 +6332,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr ""
@@ -6612,67 +6650,67 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr ""
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr ""
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
msgid "Col 1"
msgstr ""
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
msgid "Col 2"
msgstr ""
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
msgid "Col 3"
msgstr ""
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
msgid "Col 4"
msgstr ""
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
msgid "Col 5"
msgstr ""
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
msgid "Col 6"
msgstr ""
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
msgid "rows"
msgstr ""
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
msgid "columns"
msgstr ""
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr ""
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -6687,10 +6725,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr ""
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr ""
@@ -6735,7 +6769,7 @@ msgstr ""
msgid "Automatic/Manual"
msgstr ""
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr ""
@@ -7011,7 +7045,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr ""
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
msgid "Sort for reconciliation"
msgstr ""
@@ -7214,7 +7248,7 @@ msgid "Execute transaction"
msgstr ""
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, c-format
msgid "Total : %s (variance : %s)"
msgstr ""
@@ -7910,7 +7944,7 @@ msgstr ""
msgid "Manage import associations"
msgstr ""
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
msgid "Import associations"
msgstr ""
@@ -8216,69 +8250,40 @@ msgstr ""
msgid "Transfer all transactions in another sub-budgetary line"
msgstr ""
-#: ../src/main.c:124
+#: ../src/main.c:125
msgid "Show the application's version"
msgstr ""
-#: ../src/main.c:126
+#: ../src/main.c:127
msgid "Debug mode: level 0-5"
msgstr ""
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr ""
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr ""
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-msgid "_File"
-msgstr ""
-
-#: ../src/menu.c:171 ../src/menu.c:179
-msgid "_New account file..."
-msgstr ""
-
-#: ../src/menu.c:173 ../src/menu.c:181
-msgid "_Open..."
-msgstr ""
-
-#: ../src/menu.c:175 ../src/menu.c:183
-msgid "_Recently opened files"
-msgstr ""
-
-#: ../src/menu.c:176 ../src/menu.c:184
-msgid "_Save"
-msgstr ""
-
-#: ../src/menu.c:187
-msgid "_Save as..."
-msgstr ""
-
-#: ../src/menu.c:189
-msgid "_Import file..."
-msgstr ""
-
#: ../src/menu.c:191
msgid "_Export accounts as QIF/CSV file..."
msgstr ""
@@ -8671,209 +8676,209 @@ msgid "Remove this report"
msgstr ""
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
msgid "Grisbi preferences"
msgstr ""
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
msgid "Main"
msgstr ""
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr ""
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr ""
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
msgid "Localization"
msgstr ""
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr ""
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr ""
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
msgid "Payees, categories and budgetaries"
msgstr ""
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
msgid "Messages before deleting"
msgstr ""
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
msgid "Content"
msgstr ""
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr ""
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
msgid "Currencies links"
msgstr ""
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
msgid "Balance estimate"
msgstr ""
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
msgid "Display following warnings messages"
msgstr ""
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
msgid "Message"
msgstr ""
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
msgid "Display following messages"
msgstr ""
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
msgid "Memorise last opened files: "
msgstr ""
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr ""
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
msgid "Make a single backup file"
msgstr ""
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr ""
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
msgid "Config file"
msgstr ""
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
msgid "Scheduler warnings at Grisbi's opening"
msgstr ""
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr ""
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
msgid "Warn/Execute the scheduled transactions of the month"
msgstr ""
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
msgid "Number of days before the warning or the execution: "
msgstr ""
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
msgid "Sort option for transactions"
msgstr ""
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
msgid "by number"
msgstr ""
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
msgid "Expand the line"
msgstr ""
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
msgid "Edit the line"
msgstr ""
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
msgid "Manage the line"
msgstr ""
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
msgid "Choose the date format"
msgstr ""
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
msgid "Date format"
msgstr ""
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
msgid "Decimal point: "
msgstr ""
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -9523,13 +9528,13 @@ msgstr ""
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 13c99ae..1dfb0a9 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: zh_CN\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-16 23:22+0100\n"
+"POT-Creation-Date: 2012-01-29 12:38+0100\n"
"PO-Revision-Date: 2005-12-19 11:25+0100\n"
"Last-Translator: Jianyu Tang <jianyunet at gmail.com>\n"
"Language-Team: zh_CN <LL at li.org>\n"
@@ -220,7 +220,7 @@ msgstr "è´¦æ·å称"
msgid "Currency"
msgstr "è´§å¸"
-#: ../src/affichage.c:119 ../src/parametres.c:386
+#: ../src/affichage.c:119 ../src/parametres.c:389
msgid "Fonts & logo"
msgstr "åä½åæ å¿"
@@ -265,7 +265,7 @@ msgstr ""
msgid "Back to default"
msgstr "æ¢å¤é»è®¤å¼"
-#: ../src/affichage.c:363 ../src/parametres.c:404
+#: ../src/affichage.c:363 ../src/parametres.c:407
msgid "Addresses & titles"
msgstr "å°ååå称æ¬å¤´"
@@ -511,7 +511,7 @@ msgid "Maximum items showed in drop down lists (0 for no limit): "
msgstr ""
#. Ã la base, on met une vbox
-#: ../src/affichage_liste.c:804 ../src/parametres.c:450
+#: ../src/affichage_liste.c:804 ../src/parametres.c:453
msgid "Transactions list cells"
msgstr "交ææ¸
ååå
æ ¼"
@@ -536,7 +536,7 @@ msgstr "æ"
msgid "Year"
msgstr "å¹´"
-#: ../src/bet_config.c:116 ../src/parametres.c:591
+#: ../src/bet_config.c:116 ../src/parametres.c:594
#, fuzzy
msgid "General Options"
msgstr "æ®éæ§"
@@ -576,7 +576,7 @@ msgstr ""
msgid "Note: This option is used if no starting date for forecasts."
msgstr ""
-#: ../src/bet_config.c:258 ../src/parametres.c:600
+#: ../src/bet_config.c:258 ../src/parametres.c:603
#, fuzzy
msgid "Accounts data"
msgstr "è´¦æ·æç»"
@@ -878,14 +878,14 @@ msgstr ""
#. Print list
#: ../src/bet_finance_ui.c:1035 ../src/bet_finance_ui.c:1850
-#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1529 ../src/bet_tab.c:2885
+#: ../src/bet_hist.c:1935 ../src/bet_tab.c:1530 ../src/bet_tab.c:2886
#, fuzzy
msgid "Print the array"
msgstr "æå°æº"
#. Export list
#: ../src/bet_finance_ui.c:1045 ../src/bet_finance_ui.c:1863
-#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1539
+#: ../src/bet_finance_ui.c:1889 ../src/bet_hist.c:1948 ../src/bet_tab.c:1540
#, fuzzy
msgid "Export the array"
msgstr "æå°æº"
@@ -951,12 +951,12 @@ msgstr "å¨ä½"
msgid "Credits"
msgstr "è´·æ¹"
-#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2882
+#: ../src/bet_finance_ui.c:1847 ../src/bet_hist.c:1932 ../src/bet_tab.c:2883
#: ../src/etats_onglet.c:177 ../src/gsb_transactions_list.c:381
msgid "Print"
msgstr "æå°"
-#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2895
+#: ../src/bet_finance_ui.c:1860 ../src/bet_hist.c:1945 ../src/bet_tab.c:2896
#: ../src/categories_onglet.c:562 ../src/etats_onglet.c:167
#: ../src/export.c:204 ../src/imputation_budgetaire.c:599
msgid "Export"
@@ -967,7 +967,7 @@ msgstr "导åº"
msgid "credit.csv"
msgstr "è´·æ¹"
-#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3019
+#: ../src/bet_finance_ui.c:1913 ../src/bet_hist.c:2040 ../src/bet_tab.c:3020
#: ../src/imputation_budgetaire.c:439
msgid "Cannot save file."
msgstr "ä¸è½ä¿åæ件"
@@ -1345,6 +1345,11 @@ msgstr ""
msgid "Start date: "
msgstr "å¼å§:"
+#: ../src/bet_tab.c:556 ../src/gsb_form_scheduler.c:152
+#: ../src/gsb_scheduler_list.c:1285
+msgid "Automatic"
+msgstr "èªå¨"
+
#: ../src/bet_tab.c:559
msgid "Check the box to automatically change start date"
msgstr ""
@@ -1362,7 +1367,7 @@ msgid "Balance"
msgstr "ä½é¢"
#: ../src/bet_tab.c:823 ../src/bet_tab.c:836 ../src/bet_tab.c:1028
-#: ../src/bet_tab.c:2497 ../src/bet_tab.c:2502
+#: ../src/bet_tab.c:2498 ../src/bet_tab.c:2503
#, fuzzy, c-format
msgid ""
"Transfer between account: %s\n"
@@ -1383,80 +1388,80 @@ msgstr "åå§ä½é¢"
msgid "Insert Row"
msgstr ""
-#: ../src/bet_tab.c:1407 ../src/bet_tab.c:1419 ../src/bet_tab.c:1440
-#: ../src/bet_tab.c:1499
+#: ../src/bet_tab.c:1406 ../src/bet_tab.c:1420 ../src/bet_tab.c:1441
+#: ../src/bet_tab.c:1500
#, fuzzy
msgid "Delete selection"
msgstr "æ°æ®éæ©"
-#: ../src/bet_tab.c:1430
+#: ../src/bet_tab.c:1431
#, fuzzy
msgid "Change selection"
msgstr "æ°æ®éæ©"
-#: ../src/bet_tab.c:1451
+#: ../src/bet_tab.c:1452
#, fuzzy
msgid "Delete all occurences of the selection"
msgstr "å é¤ä¸æ¡å®æ交æ"
-#: ../src/bet_tab.c:1466
+#: ../src/bet_tab.c:1467
#, fuzzy
msgid "Convert selection to scheduled transaction"
msgstr "转æ¢äº¤æ为计å交æ"
-#: ../src/bet_tab.c:1489
+#: ../src/bet_tab.c:1490
#, fuzzy
msgid "Insert the balance of a cash account"
msgstr "ä¸è½å¨ç»ç®è´¦æ·ä¸äº§ç交æã"
#. redo item
-#: ../src/bet_tab.c:1515
+#: ../src/bet_tab.c:1516
#, fuzzy
msgid "Reset data"
msgstr "æåæ¥æ"
-#: ../src/bet_tab.c:1858
+#: ../src/bet_tab.c:1859
msgid " (still available)"
msgstr ""
-#: ../src/bet_tab.c:1867 ../src/bet_tab.c:1889
+#: ../src/bet_tab.c:1868 ../src/bet_tab.c:1890
#, fuzzy
msgid " (budget exceeded)"
msgstr "没æé¢ç®è¡"
-#: ../src/bet_tab.c:1880
+#: ../src/bet_tab.c:1881
msgid " (yet to receive)"
msgstr ""
-#: ../src/bet_tab.c:2420 ../src/bet_tab.c:2470 ../src/bet_tab.c:2530
+#: ../src/bet_tab.c:2421 ../src/bet_tab.c:2471 ../src/bet_tab.c:2531
#, fuzzy
msgid "No data by default"
msgstr "æ¢å¤é»è®¤å¼"
-#: ../src/bet_tab.c:2428 ../src/bet_tab.c:2478 ../src/bet_tab.c:2536
+#: ../src/bet_tab.c:2429 ../src/bet_tab.c:2479 ../src/bet_tab.c:2537
#: ../src/etats_affiche.c:1864 ../src/etats_config.c:1340
#: ../src/etats_config.c:1475 ../src/gsb_data_category.c:161
#: ../src/meta_categories.c:70
msgid "No category"
msgstr "æªåç±»"
-#: ../src/bet_tab.c:2436 ../src/bet_tab.c:2486 ../src/bet_tab.c:2542
+#: ../src/bet_tab.c:2437 ../src/bet_tab.c:2487 ../src/bet_tab.c:2543
#: ../src/etats_affiche.c:2034 ../src/etats_config.c:1348
#: ../src/etats_config.c:1480 ../src/meta_budgetary.c:68
msgid "No budgetary line"
msgstr "没æé¢ç®è¡"
-#: ../src/bet_tab.c:2898 ../src/bet_tab.c:2995
+#: ../src/bet_tab.c:2899 ../src/bet_tab.c:2996
#, fuzzy
msgid "Export the array of forecast"
msgstr "导åºé¢ç®è¡"
-#: ../src/bet_tab.c:2953
+#: ../src/bet_tab.c:2954
#, fuzzy
msgid "Balance at "
msgstr "ä½é¢"
-#: ../src/bet_tab.c:3002
+#: ../src/bet_tab.c:3003
msgid "forecast.csv"
msgstr ""
@@ -1543,7 +1548,7 @@ msgstr "请è¾å
¥æ°å¢åç±»çå称"
#: ../src/categories_onglet.c:552 ../src/etats_onglet.c:158
#: ../src/import.c:442 ../src/import.c:3644 ../src/imputation_budgetaire.c:587
-#: ../src/parametres.c:322 ../src/utils_files.c:542
+#: ../src/parametres.c:325 ../src/utils_files.c:542
msgid "Import"
msgstr "导å
¥"
@@ -2211,7 +2216,7 @@ msgstr "财年"
#. Now we have a model, create view
#: ../src/etats_affiche.c:2458 ../src/etats_config_ui.c:437
#: ../src/etats_config_ui.c:2088 ../src/gsb_payment_method_config.c:132
-#: ../src/parametres.c:568
+#: ../src/parametres.c:571
msgid "Payment methods"
msgstr "æ¯ä»æ¹å¼"
@@ -2645,13 +2650,13 @@ msgid "Generalities"
msgstr "æ®éæ§"
#: ../src/etats_config_ui.c:473 ../src/export_csv.c:775
-#: ../src/fenetre_principale.c:253 ../src/parametres.c:432
+#: ../src/fenetre_principale.c:253 ../src/parametres.c:435
msgid "Transactions"
msgstr "交æ"
#. echange line label
#: ../src/etats_config_ui.c:478 ../src/gsb_currency.c:560
-#: ../src/gsb_currency_config.c:300 ../src/parametres.c:532
+#: ../src/gsb_currency_config.c:300 ../src/parametres.c:535
msgid "Currencies"
msgstr "è´§å¸"
@@ -2695,7 +2700,7 @@ msgstr "交ææ¸
åå
容"
msgid "Transactions display"
msgstr "交ææ¸
å"
-#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1152
+#: ../src/etats_config_ui.c:2952 ../src/parametres.c:1155
msgid "Totals currencies"
msgstr "ææè´§å¸"
@@ -3115,7 +3120,7 @@ msgstr "åç±»å«è¡"
msgid "Reconciliation number"
msgstr "è°æ´æ°é"
-#: ../src/fenetre_principale.c:239 ../src/parametres.c:368
+#: ../src/fenetre_principale.c:239 ../src/parametres.c:371
msgid "Main page"
msgstr "é¦é¡µ"
@@ -3133,7 +3138,7 @@ msgid "Amortization array"
msgstr ""
#: ../src/fenetre_principale.c:281 ../src/navigation.c:1952
-#: ../src/parametres.c:350 ../src/parametres.c:1110
+#: ../src/parametres.c:353 ../src/parametres.c:1113
msgid "Scheduler"
msgstr "æ¥ç¨"
@@ -3319,6 +3324,46 @@ msgstr ""
msgid "File '%s' could not be saved"
msgstr "æ件 \"%s\" ä¸è½å¯¼å
¥"
+#. File menu
+#: ../src/grisbi_ui.h:21 ../src/menu.c:169
+#, fuzzy
+msgid "_File"
+msgstr "æ件"
+
+#: ../src/grisbi_ui.h:23 ../src/grisbi_ui.h:30 ../src/menu.c:171
+#: ../src/menu.c:179
+#, fuzzy
+msgid "_New account file..."
+msgstr "æ°è´¦æ·æ件"
+
+#: ../src/grisbi_ui.h:25 ../src/grisbi_ui.h:32 ../src/menu.c:173
+#: ../src/menu.c:181
+#, fuzzy
+msgid "_Open..."
+msgstr "_æå¼"
+
+#: ../src/grisbi_ui.h:27 ../src/grisbi_ui.h:34 ../src/menu.c:175
+#: ../src/menu.c:183
+#, fuzzy
+msgid "_Recently opened files"
+msgstr "æè¿æå¼çæ件"
+
+#: ../src/grisbi_ui.h:36 ../src/menu.c:189
+#, fuzzy
+msgid "_Import file..."
+msgstr "导åºæ件"
+
+#: ../src/grisbi_ui.h:134 ../src/grisbi_ui.h:137 ../src/menu.c:176
+#: ../src/menu.c:184
+#, fuzzy
+msgid "_Save"
+msgstr "ä¿å"
+
+#: ../src/grisbi_ui.h:140 ../src/menu.c:187
+#, fuzzy
+msgid "_Save as..."
+msgstr "å¦å为"
+
#: ../src/gsb_account.c:168
#, c-format
msgid "Delete account \"%s\"?"
@@ -3486,7 +3531,7 @@ msgid "Report name"
msgstr "æ¥è¡¨å"
#. create the page
-#: ../src/gsb_archive_config.c:115 ../src/parametres.c:313
+#: ../src/gsb_archive_config.c:115 ../src/parametres.c:316
#, fuzzy
msgid "Archives"
msgstr "æ´»å¨"
@@ -4015,7 +4060,7 @@ msgstr "æ件:"
#. crypt the grisbi file
#: ../src/gsb_assistant_file.c:333 ../src/gsb_assistant_first.c:256
-#: ../src/parametres.c:890
+#: ../src/parametres.c:893
msgid "Encrypt Grisbi file"
msgstr ""
@@ -4102,12 +4147,12 @@ msgid "General configuration of Grisbi"
msgstr ""
#. configure the browser
-#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1058
+#: ../src/gsb_assistant_first.c:214 ../src/parametres.c:1061
#, fuzzy
msgid "Web"
msgstr "ç½ç«"
-#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1065
+#: ../src/gsb_assistant_first.c:221 ../src/parametres.c:1068
#, fuzzy
msgid "Web browser command: "
msgstr "Webæµè§å¨:"
@@ -4117,45 +4162,45 @@ msgstr "Webæµè§å¨:"
msgid "You may use %s to expand the URL - I.e: 'firefox -remote %s' "
msgstr ""
-#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:873
+#: ../src/gsb_assistant_first.c:239 ../src/parametres.c:876
msgid "Account files handling"
msgstr "è´¦æ·æ件å¤çé项"
#. Automatically load last file on startup?
-#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:876
+#: ../src/gsb_assistant_first.c:242 ../src/parametres.c:879
msgid "Automatically load last file on startup"
msgstr "å¯å¨æ¶èªå¨è½½å
¥æåä¸æ¬¡ä½¿ç¨çæ件"
#. automatically save file at closing
-#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:880
+#: ../src/gsb_assistant_first.c:248 ../src/parametres.c:883
msgid "Automatically save on exit"
msgstr "éåºæ¶èªå¨ä¿å"
#. Automatic backup ?
-#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:930
+#: ../src/gsb_assistant_first.c:270 ../src/parametres.c:933
msgid "Make a backup copy before saving files"
msgstr "ä¿åæ件æ¶å¶ä½ä¸ä»½å¤ä»½"
-#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:938
+#: ../src/gsb_assistant_first.c:280 ../src/parametres.c:941
#, fuzzy
msgid "Make a backup copy every "
msgstr "æå¼æ件æ¶ä¿åä¸ä»½å¤ä»½æ件"
-#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:948
+#: ../src/gsb_assistant_first.c:291 ../src/parametres.c:951
msgid " minutes"
msgstr ""
-#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:955
+#: ../src/gsb_assistant_first.c:300 ../src/parametres.c:958
#, fuzzy
msgid "Backup directory: "
msgstr "å¤ä»½æ件:"
-#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:962
+#: ../src/gsb_assistant_first.c:305 ../src/parametres.c:965
msgid "Select/Create backup directory"
msgstr ""
#: ../src/gsb_assistant_first.c:344 ../src/gsb_reconcile_config.c:112
-#: ../src/parametres.c:469
+#: ../src/parametres.c:472
msgid "Reconciliation"
msgstr "è°æ´"
@@ -4401,7 +4446,7 @@ msgstr "æ°å¢é¶è¡"
msgid "Contact name"
msgstr "è系人"
-#: ../src/gsb_bank.c:461 ../src/parametres.c:550
+#: ../src/gsb_bank.c:461 ../src/parametres.c:553
msgid "Banks"
msgstr "é¶è¡"
@@ -6658,7 +6703,7 @@ msgstr ""
"æè
éæ©ä¸é¢ç \"%s\" é项ã"
#. Warn if file is used by someone else?
-#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:885
+#: ../src/gsb_file.c:561 ../src/gsb_file.c:815 ../src/parametres.c:888
msgid "Force saving of locked files"
msgstr "强å¶ä¿åå éçæ件"
@@ -6690,7 +6735,7 @@ msgid ""
"cancel and save it with another name or activate the \"%s\" option in setup."
msgstr ""
-#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:821
+#: ../src/gsb_file.c:814 ../src/gsb_file.c:826 ../src/main.c:831
msgid "unnamed"
msgstr "æªå½å"
@@ -6742,7 +6787,7 @@ msgid ""
"%s ?</b>"
msgstr ""
-#: ../src/gsb_file_config.c:821
+#: ../src/gsb_file_config.c:816
#, fuzzy, c-format
msgid "Cannot save configuration file '%s': %s"
msgstr "ä¸è½ä¿åæ件 '%s': %s"
@@ -7087,75 +7132,75 @@ msgid ""
msgstr ""
#. propose to configure the form
-#: ../src/gsb_form.c:3650
+#: ../src/gsb_form.c:3653
msgid "Configure the form"
msgstr ""
-#: ../src/gsb_form_config.c:116 ../src/parametres.c:488
+#: ../src/gsb_form_config.c:117 ../src/parametres.c:491
msgid "Transaction form"
msgstr "交æè¡¨æ ¼"
#. create the paddingbox into the parent
-#: ../src/gsb_form_config.c:147
+#: ../src/gsb_form_config.c:148
msgid "Form structure preview"
msgstr ""
#. set the box with the buttons
-#: ../src/gsb_form_config.c:177
+#: ../src/gsb_form_config.c:178
msgid "Form structure content"
msgstr ""
-#: ../src/gsb_form_config.c:224
+#: ../src/gsb_form_config.c:225
#, fuzzy
msgid "Col 1"
msgstr "å1"
-#: ../src/gsb_form_config.c:225
+#: ../src/gsb_form_config.c:226
#, fuzzy
msgid "Col 2"
msgstr "å2"
-#: ../src/gsb_form_config.c:226
+#: ../src/gsb_form_config.c:227
#, fuzzy
msgid "Col 3"
msgstr "å3"
-#: ../src/gsb_form_config.c:227
+#: ../src/gsb_form_config.c:228
#, fuzzy
msgid "Col 4"
msgstr "å4"
-#: ../src/gsb_form_config.c:228
+#: ../src/gsb_form_config.c:229
#, fuzzy
msgid "Col 5"
msgstr "å5"
-#: ../src/gsb_form_config.c:229
+#: ../src/gsb_form_config.c:230
#, fuzzy
msgid "Col 6"
msgstr "å6"
-#: ../src/gsb_form_config.c:341
+#: ../src/gsb_form_config.c:342
#, fuzzy
msgid "rows"
msgstr "æµè§"
-#: ../src/gsb_form_config.c:388
+#: ../src/gsb_form_config.c:389
#, fuzzy
msgid "columns"
msgstr "è´¦æ·"
-#: ../src/gsb_form_config.c:671
+#: ../src/gsb_form_config.c:672
msgid ""
"There is no place enough to put the element. You need to increase the number "
"of rows or columns to add an element."
msgstr ""
-#: ../src/gsb_form_config.c:673 ../src/gsb_form_config.c:678
+#: ../src/gsb_form_config.c:674 ../src/gsb_form_config.c:679
msgid "The table is full"
msgstr ""
-#: ../src/gsb_form_config.c:675
+#: ../src/gsb_form_config.c:676
msgid ""
"There is no place enough to put the two elements (you have clicked on an "
"element which contains two). You need to increase the number of rows or "
@@ -7170,10 +7215,6 @@ msgid ""
"that warning."
msgstr ""
-#: ../src/gsb_form_scheduler.c:152 ../src/gsb_scheduler_list.c:1285
-msgid "Automatic"
-msgstr "èªå¨"
-
#: ../src/gsb_form_scheduler.c:165
msgid "Choose the account"
msgstr "éæ©è´¦æ·"
@@ -7222,7 +7263,7 @@ msgstr "交æç¼å·"
msgid "Automatic/Manual"
msgstr "èªå¨"
-#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:559
+#: ../src/gsb_fyear_config.c:104 ../src/parametres.c:562
msgid "Financial years"
msgstr "财年"
@@ -7534,7 +7575,7 @@ msgstr ""
msgid "Delete reconciliation"
msgstr "æ°å¢è´¦æ·"
-#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:478
+#: ../src/gsb_reconcile_sort_config.c:92 ../src/parametres.c:481
#, fuzzy
msgid "Sort for reconciliation"
msgstr "è°æ´"
@@ -7760,7 +7801,7 @@ msgid "Execute transaction"
msgstr "å é¤äº¤æ"
#: ../src/gsb_scheduler_list.c:2719 ../src/transaction_list.c:164
-#: ../src/transaction_list.c:1058 ../src/transaction_list.c:1968
+#: ../src/transaction_list.c:1059 ../src/transaction_list.c:1969
#, fuzzy, c-format
msgid "Total : %s (variance : %s)"
msgstr "æ»è®¡ %s: %s (%d 交æ)"
@@ -8520,7 +8561,7 @@ msgstr ""
msgid "Manage import associations"
msgstr "ç±»å«è¯¦æ
"
-#: ../src/import.c:3738 ../src/parametres.c:331
+#: ../src/import.c:3738 ../src/parametres.c:334
#, fuzzy
msgid "Import associations"
msgstr "å¨ä½"
@@ -8869,78 +8910,42 @@ msgstr "没æåé¢ç®è¡"
msgid "Transfer all transactions in another sub-budgetary line"
msgstr "转移è¿äºäº¤æå°"
-#: ../src/main.c:124
+#: ../src/main.c:125
#, fuzzy
msgid "Show the application's version"
msgstr "æ¯ç¬äº¤ææ¾ç¤º3è¡"
-#: ../src/main.c:126
+#: ../src/main.c:127
#, fuzzy
msgid "Debug mode: level 0-5"
msgstr "é¤é"
-#: ../src/main.c:128
+#: ../src/main.c:129
msgid "[FILE]"
msgstr ""
-#: ../src/main.c:641
+#: ../src/main.c:651
#, c-format
msgid "Error on sigaction: SIGSEGV won't be trapped\n"
msgstr "ä¿¡å·é误ï¼SIGSEGVä¸è½ææ\n"
-#: ../src/main.c:774 ../src/main.c:814 ../share/grisbi.desktop.in.h:1
+#: ../src/main.c:784 ../src/main.c:824 ../share/grisbi.desktop.in.h:1
msgid "Grisbi"
msgstr "Grisbi"
-#: ../src/main.c:945
+#: ../src/main.c:955
#, c-format
msgid "Grisbi version %s, %s\n"
msgstr ""
-#: ../src/main.c:1011
+#: ../src/main.c:1021
msgid "- Personnal finances manager"
msgstr ""
-#: ../src/main.c:1014
+#: ../src/main.c:1024
msgid "Grisbi can manage the accounts of a family or a small association."
msgstr ""
-#. File menu
-#: ../src/menu.c:169
-#, fuzzy
-msgid "_File"
-msgstr "æ件"
-
-#: ../src/menu.c:171 ../src/menu.c:179
-#, fuzzy
-msgid "_New account file..."
-msgstr "æ°è´¦æ·æ件"
-
-#: ../src/menu.c:173 ../src/menu.c:181
-#, fuzzy
-msgid "_Open..."
-msgstr "_æå¼"
-
-#: ../src/menu.c:175 ../src/menu.c:183
-#, fuzzy
-msgid "_Recently opened files"
-msgstr "æè¿æå¼çæ件"
-
-#: ../src/menu.c:176 ../src/menu.c:184
-#, fuzzy
-msgid "_Save"
-msgstr "ä¿å"
-
-#: ../src/menu.c:187
-#, fuzzy
-msgid "_Save as..."
-msgstr "å¦å为"
-
-#: ../src/menu.c:189
-#, fuzzy
-msgid "_Import file..."
-msgstr "导åºæ件"
-
#: ../src/menu.c:191
#, fuzzy
msgid "_Export accounts as QIF/CSV file..."
@@ -9386,235 +9391,235 @@ msgid "Remove this report"
msgstr "å é¤æ¥è¡¨"
#. Create dialog
-#: ../src/parametres.c:264
+#: ../src/parametres.c:267
#, fuzzy
msgid "Grisbi preferences"
msgstr "é项"
-#: ../src/parametres.c:294
+#: ../src/parametres.c:297
#, fuzzy
msgid "Main"
msgstr "Spain"
-#: ../src/parametres.c:303 ../src/parametres.c:869
+#: ../src/parametres.c:306 ../src/parametres.c:872
msgid "Files"
msgstr "æ件"
-#: ../src/parametres.c:341 ../src/parametres.c:1056
+#: ../src/parametres.c:344 ../src/parametres.c:1059
msgid "Programs"
msgstr "ç¨åº"
-#: ../src/parametres.c:359 ../src/parametres.c:1267
+#: ../src/parametres.c:362 ../src/parametres.c:1296
#, fuzzy
msgid "Localization"
msgstr "è°æ´"
-#: ../src/parametres.c:378
+#: ../src/parametres.c:381
msgid "Display"
msgstr "æ¾ç¤º"
-#: ../src/parametres.c:395 ../src/parametres.c:662
+#: ../src/parametres.c:398 ../src/parametres.c:665
msgid "Messages & warnings"
msgstr "æ¶æ¯åè¦å"
-#: ../src/parametres.c:413 ../src/parametres.c:1149
+#: ../src/parametres.c:416 ../src/parametres.c:1152
#, fuzzy
msgid "Payees, categories and budgetaries"
msgstr "请è¾å
¥ä¸ä¸ªé¢ç®è¡ï¼"
-#: ../src/parametres.c:422
+#: ../src/parametres.c:425
msgid "Toolbars - Navigation pane"
msgstr ""
-#: ../src/parametres.c:440
+#: ../src/parametres.c:443
msgid "List behavior"
msgstr ""
-#: ../src/parametres.c:460 ../src/parametres.c:747
+#: ../src/parametres.c:463 ../src/parametres.c:750
#, fuzzy
msgid "Messages before deleting"
msgstr "æ¶æ¯åè¦å"
-#: ../src/parametres.c:496
+#: ../src/parametres.c:499
#, fuzzy
msgid "Content"
msgstr "èç³»æ¹å¼"
-#: ../src/parametres.c:505
+#: ../src/parametres.c:508
msgid "Behavior"
msgstr ""
-#: ../src/parametres.c:514
+#: ../src/parametres.c:517
msgid "Completion"
msgstr ""
-#: ../src/parametres.c:524
+#: ../src/parametres.c:527
msgid "Resources"
msgstr "èµæº"
-#: ../src/parametres.c:541
+#: ../src/parametres.c:544
#, fuzzy
msgid "Currencies links"
msgstr "è´§å¸"
-#: ../src/parametres.c:583
+#: ../src/parametres.c:586
#, fuzzy
msgid "Balance estimate"
msgstr "ç»ä½"
#. Tip of the day
-#: ../src/parametres.c:665
+#: ../src/parametres.c:668
msgid "Tip of the day"
msgstr ""
#. Display or not tips
-#: ../src/parametres.c:668
+#: ../src/parametres.c:671
msgid "Display tip of the day"
msgstr ""
-#: ../src/parametres.c:675
+#: ../src/parametres.c:678
#, fuzzy
msgid "Display following warnings messages"
msgstr "è¦åä¿¡æ¯"
-#: ../src/parametres.c:696 ../src/parametres.c:775
+#: ../src/parametres.c:699 ../src/parametres.c:778
#, fuzzy
msgid "Message"
msgstr "æ¶æ¯æ¥å¿"
-#: ../src/parametres.c:751
+#: ../src/parametres.c:754
#, fuzzy
msgid "Display following messages"
msgstr "è¦åä¿¡æ¯"
#. Compression level of files
-#: ../src/parametres.c:895
+#: ../src/parametres.c:898
msgid "Compress Grisbi file"
msgstr ""
-#: ../src/parametres.c:903
+#: ../src/parametres.c:906
#, fuzzy
msgid "Memorise last opened files: "
msgstr "è®°ä½ä¸æ¬¡æå¼çæ件:"
#. Backups
-#: ../src/parametres.c:912
+#: ../src/parametres.c:915
msgid "Backups"
msgstr "å¤ä»½"
#. Single backup file
-#: ../src/parametres.c:915
+#: ../src/parametres.c:918
#, fuzzy
msgid "Make a single backup file"
msgstr "æå¼æ件æ¶ä¿åä¸ä»½å¤ä»½æ件"
#. Compression level of backups
-#: ../src/parametres.c:920
+#: ../src/parametres.c:923
msgid "Compress Grisbi backup"
msgstr ""
#. Backup at each opening?
-#: ../src/parametres.c:925
+#: ../src/parametres.c:928
msgid "Make a backup copy after opening files"
msgstr "æå¼æ件æ¶ä¿åä¸ä»½å¤ä»½æ件"
-#: ../src/parametres.c:979
+#: ../src/parametres.c:982
#, fuzzy
msgid "Config file"
msgstr "ä¿åæ件"
-#: ../src/parametres.c:984
+#: ../src/parametres.c:987
msgid "Use the config file of version stable as model"
msgstr ""
-#: ../src/parametres.c:1074
+#: ../src/parametres.c:1077
#, c-format
msgid ""
"You "" t ametres.c:1077 version stable as model" mall association." " ): " µÐ¼ запÑÑк ем:" ¾Ð´ÐºÐ¸" ÑÑ ÑÑоком " ÿ u{ã+ ª|ã+ ¥ã+ ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ may use %s to expand the URL I.e:\n"
"'firefox -remote %s'"
msgstr ""
-#: ../src/parametres.c:1115
+#: ../src/parametres.c:1118
#, fuzzy
msgid "Scheduler warnings at Grisbi's opening"
msgstr "计åè°åº¦å¨è¦å"
-#: ../src/parametres.c:1116
+#: ../src/parametres.c:1119
#, fuzzy
msgid "Warn/Execute the scheduled transactions arriving at expiration date"
msgstr "æå¨é¢å®çå°ææ¥äº¤æ"
-#: ../src/parametres.c:1117
+#: ../src/parametres.c:1120
#, fuzzy
msgid "Warn/Execute the scheduled transactions of the month"
msgstr "å½å
¥èªå¨é¢å®ç交æ"
-#: ../src/parametres.c:1125
+#: ../src/parametres.c:1128
#, fuzzy
msgid "Number of days before the warning or the execution: "
msgstr "计å交æçæéå°æåç天æ°:"
-#: ../src/parametres.c:1158
+#: ../src/parametres.c:1161
#, fuzzy
msgid "Sort option for transactions"
msgstr "导å
¥äº¤æ确认"
-#: ../src/parametres.c:1159
+#: ../src/parametres.c:1162
#, fuzzy
msgid "by number"
msgstr "æ¯ç¥¨ç¼å·"
-#: ../src/parametres.c:1160
+#: ../src/parametres.c:1163
msgid "by increasing date"
msgstr ""
-#: ../src/parametres.c:1161
+#: ../src/parametres.c:1164
msgid "by date descending"
msgstr ""
-#: ../src/parametres.c:1168
+#: ../src/parametres.c:1171
msgid "Action associated with a double click on a subdivision: "
msgstr ""
-#: ../src/parametres.c:1169
+#: ../src/parametres.c:1172
#, fuzzy
msgid "Expand the line"
msgstr "æ°æ®éæ©"
-#: ../src/parametres.c:1170
+#: ../src/parametres.c:1173
#, fuzzy
msgid "Edit the line"
msgstr "åå§ä½é¢"
-#: ../src/parametres.c:1171
+#: ../src/parametres.c:1174
#, fuzzy
msgid "Manage the line"
msgstr "æ°æ®éæ©"
-#: ../src/parametres.c:1309
+#: ../src/parametres.c:1338
#, fuzzy
msgid "Choose the date format"
msgstr "éæ©è´¦æ·"
-#: ../src/parametres.c:1315
+#: ../src/parametres.c:1344
#, fuzzy
msgid "Date format"
msgstr "导åºæ¥è¡¨"
-#: ../src/parametres.c:1381
+#: ../src/parametres.c:1410
#, fuzzy
msgid "Decimal point: "
msgstr "æ°æ®éæ©:"
-#: ../src/parametres.c:1394
+#: ../src/parametres.c:1423
msgid "Thousands separator: "
msgstr ""
-#: ../src/parametres.c:1411
+#: ../src/parametres.c:1440
msgid "Choose the decimal and thousands separator"
msgstr ""
-#: ../src/parametres.c:1417
+#: ../src/parametres.c:1446
msgid "Decimal and thousands separator"
msgstr ""
@@ -10317,13 +10322,13 @@ msgstr "æ¾ç¤ºäº¤æ"
#. this value should not be changed here, check later if i'm right,
#. * for now just show a message
-#: ../src/transaction_list.c:1599
+#: ../src/transaction_list.c:1600
msgid ""
"Try to change a visible line by transaction_list_set. It shouldn't append ! "
"Check that."
msgstr ""
-#: ../src/transaction_list.c:1794
+#: ../src/transaction_list.c:1795
#, c-format
msgid ""
"Trying to append the child number %d to the mother %d in the model, but no "
diff --git a/src/Makefile.am b/src/Makefile.am
index e081bd8..97d020e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -42,7 +42,10 @@ libgrisbi_la_SOURCES = \
fenetre_principale.c \
file_obfuscate.c \
file_obfuscate_qif.c \
+ grisbi_app.c \
grisbi_osx.c \
+ grisbi_ui.h \
+ grisbi_window.c \
gsb_account.c \
gsb_account_property.c \
gsb_archive_config.c \
@@ -130,6 +133,8 @@ libgrisbi_la_SOURCES = \
metatree.c \
navigation.c \
parametres.c \
+ parse_cmdline.c \
+ parametres_ui.c \
print_dialog_config.c \
print_report.c \
print_transactions_list.c \
@@ -182,7 +187,9 @@ libgrisbi_la_SOURCES = \
etats_html.h \
export.h \
export_csv.h \
+ grisbi_app.h \
grisbi_osx.h \
+ grisbi_window.h \
gsb_account.h \
gsb_account_property.h \
gsb_archive_config.h \
@@ -283,6 +290,8 @@ libgrisbi_la_SOURCES = \
mouse.h \
navigation.h \
parametres.h \
+ parse_cmdline.h \
+ parametres_ui.h \
print_dialog_config.h \
print_report.h \
print_transactions_list.h \
diff --git a/src/accueil.c b/src/accueil.c
index 12d7032..f7add3a 100644
--- a/src/accueil.c
+++ b/src/accueil.c
@@ -32,6 +32,7 @@
#include "classement_echeances.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_automem.h"
#include "gsb_color.h"
#include "gsb_data_account.h"
@@ -52,6 +53,7 @@
#include "structures.h"
#include "utils.h"
#include "utils_dates.h"
+#include "utils_gtkbuilder.h"
#include "utils_real.h"
#include "utils_str.h"
#include "erreur.h"
@@ -364,13 +366,16 @@ void update_liste_comptes_accueil ( gboolean force )
gint nb_comptes_bancaires=0, nb_comptes_passif=0, nb_comptes_actif=0;
gint new_comptes_bancaires=0, new_comptes_passif=0, new_comptes_actif=0;
gint soldes_mixtes = 0;
+ GrisbiAppConf *conf;
if ( !force
- &&
- !( mise_a_jour_liste_comptes_accueil
- &&
- gsb_data_account_get_accounts_amount ( ) ) )
- return;
+ &&
+ !( mise_a_jour_liste_comptes_accueil
+ &&
+ gsb_data_account_get_accounts_amount ( ) ) )
+ return;
+
+ conf = grisbi_app_get_conf ( );
mise_a_jour_liste_comptes_accueil = 0;
@@ -456,7 +461,7 @@ void update_liste_comptes_accueil ( gboolean force )
/* Creating the table which will store accounts with their balances. */
- if ( conf.balances_with_scheduled == FALSE )
+ if ( conf->balances_with_scheduled == FALSE )
tmpstr = g_strdup_printf ( _("Account balances in %s at %s"),
gsb_data_currency_get_name ( currency_number ),
gsb_date_today ( ) );
@@ -537,7 +542,7 @@ void update_liste_comptes_accueil ( gboolean force )
continue;
/* Creating the table which will store accounts with their balances */
- if ( conf.balances_with_scheduled == FALSE )
+ if ( conf->balances_with_scheduled == FALSE )
tmpstr = g_strdup_printf (_("Liabilities accounts balances in %s at %s"),
gsb_data_currency_get_name (currency_number),
gsb_date_today ( ) );
@@ -609,7 +614,7 @@ void update_liste_comptes_accueil ( gboolean force )
{
GSList *list_tmp;
gint currency_number;
- gchar* tmpstr;
+ gchar* tmpstr;
currency_number = gsb_data_currency_get_no_currency (devise -> data);
@@ -617,7 +622,7 @@ void update_liste_comptes_accueil ( gboolean force )
continue;
/* Creating the table which will store accounts with their balances */
- if ( conf.balances_with_scheduled == FALSE )
+ if ( conf->balances_with_scheduled == FALSE )
tmpstr = g_strdup_printf (_("Assets accounts balances in %s at %s"),
gsb_data_currency_get_name (currency_number),
gsb_date_today ( ) );
@@ -693,7 +698,7 @@ void update_liste_comptes_accueil ( gboolean force )
tmp_str_2 = g_strdup ( _("Additional balance") );
else
tmp_str_2 = g_strdup ( _("Additional balances") );
- if ( conf.balances_with_scheduled == FALSE )
+ if ( conf->balances_with_scheduled == FALSE )
{
tmpstr = g_strconcat ( tmp_str_2, _(" at "), gsb_date_today (), NULL );
g_free ( tmp_str_2 );
@@ -1084,19 +1089,22 @@ void affiche_solde_des_comptes ( GtkWidget *table,
{
GtkWidget *label;
gchar *tmpstr;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* on commence par une ligne vide */
label = gtk_label_new ( chaine_espace );
gtk_size_group_add_widget ( GTK_SIZE_GROUP ( size_group_accueil ), label );
gtk_misc_set_alignment ( GTK_MISC ( label ), MISC_RIGHT, MISC_VERT_CENTER );
- gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 0, 1, i, i+1 );
- gtk_widget_show ( label );
+ gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 0, 1, i, i+1 );
+ gtk_widget_show ( label );
i ++;
- /* Première colonne */
+ /* Première colonne */
if ( nb_comptes == 1 )
label = gtk_label_new ( _("Global balance: ") );
- else if ( conf.pluriel_final )
+ else if ( conf->pluriel_final )
label = gtk_label_new ( ("Soldes finaux: ") );
else
label = gtk_label_new ( _("Global balances: ") );
@@ -1499,15 +1507,17 @@ void update_soldes_minimaux ( gboolean force )
GSList *liste_voulu;
GSList *liste_autorise_et_voulu;
GSList *list_tmp;
-
+ GrisbiAppConf *conf;
if ( !force
- &&
- !mise_a_jour_soldes_minimaux )
- return;
+ &&
+ !mise_a_jour_soldes_minimaux )
+ return;
devel_debug ( "update_soldes_minimaux" );
+ conf = grisbi_app_get_conf ( );
+
mise_a_jour_soldes_minimaux = 0;
liste_autorise = NULL;
@@ -1533,7 +1543,7 @@ void update_soldes_minimaux ( gboolean force )
i = gsb_data_account_get_no_account ( list_tmp -> data );
- if ( gsb_data_account_get_closed_account ( i ) && !etat.show_closed_accounts )
+ if ( gsb_data_account_get_closed_account ( i ) && !conf->show_closed_accounts )
{
list_tmp = list_tmp -> next;
continue;
@@ -1801,20 +1811,23 @@ void update_fin_comptes_passifs ( gboolean force )
GSList *liste_tmp;
GSList *pointeur;
GSList *list_tmp;
+ GrisbiAppConf *conf;
if ( !force
- &&
- !mise_a_jour_fin_comptes_passifs )
- return;
+ &&
+ !mise_a_jour_fin_comptes_passifs )
+ return;
devel_debug (NULL);
+ conf = grisbi_app_get_conf ( );
+
mise_a_jour_fin_comptes_passifs = 0;
gtk_notebook_remove_page ( GTK_NOTEBOOK(frame_etat_fin_compte_passif), 0 );
hide_paddingbox ( frame_etat_fin_compte_passif );
- if ( !etat.show_closed_accounts )
+ if ( !conf->show_closed_accounts )
return;
list_tmp = gsb_data_account_get_list_accounts ();
@@ -1962,6 +1975,9 @@ GtkWidget *onglet_accueil (void)
static GtkTargetEntry row_targets[] = {
{ "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, 0 }
};
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
vbox_pref = new_vbox_with_title_and_icon ( _("Configuration of the main page"),
"title.png" );
@@ -1978,7 +1994,7 @@ GtkWidget *onglet_accueil (void)
gtk_box_pack_start ( GTK_BOX ( paddingbox ),
gsb_automem_radiobutton_new ( "Soldes finals",
"Soldes finaux",
- &conf.pluriel_final,
+ &conf->pluriel_final,
G_CALLBACK (gsb_gui_navigation_update_home_page), NULL ),
FALSE, FALSE, 0 );
}
@@ -1992,7 +2008,7 @@ GtkWidget *onglet_accueil (void)
button = gsb_automem_checkbutton_new (
_("Take into account the scheduled operations "
"in the calculation of balances"),
- &conf.balances_with_scheduled,
+ &conf->balances_with_scheduled,
G_CALLBACK ( gsb_config_scheduler_switch_balances_with_scheduled ),
NULL );
diff --git a/src/affichage.c b/src/affichage.c
index 1090a3d..a9e6a83 100644
--- a/src/affichage.c
+++ b/src/affichage.c
@@ -33,6 +33,7 @@
#include "accueil.h"
#include "custom_list.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_automem.h"
#include "gsb_color.h"
#include "gsb_data_account.h"
@@ -115,6 +116,9 @@ GtkWidget * onglet_display_fonts ( void )
GtkWidget *button;
GtkWidget *color_combobox;
GtkWidget *color_button;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
vbox_pref = new_vbox_with_title_and_icon ( _("Fonts & logo"), "fonts.png" );
@@ -127,8 +131,7 @@ GtkWidget * onglet_display_fonts ( void )
check_button = gtk_check_button_new_with_label ( _("Display a logo"));
gtk_box_pack_start ( GTK_BOX ( hbox ), check_button, FALSE, FALSE, 0 );
- gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( check_button ),
- etat.utilise_logo );
+ gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( check_button ), etat.utilise_logo );
hbox = gtk_hbox_new ( FALSE, 5 );
gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox, FALSE, FALSE, 0 );
@@ -143,7 +146,7 @@ GtkWidget * onglet_display_fonts ( void )
logo_button = gtk_button_new ();
gtk_button_set_relief ( GTK_BUTTON ( logo_button ), GTK_RELIEF_NONE );
- pixbuf = gsb_select_icon_get_logo_pixbuf ( );
+ pixbuf = gsb_select_icon_get_logo_pixbuf ( );
if (!pixbuf)
{
@@ -168,8 +171,10 @@ GtkWidget * onglet_display_fonts ( void )
}
gtk_container_add (GTK_CONTAINER(logo_button), preview);
- g_signal_connect_swapped ( G_OBJECT ( logo_button ), "clicked",
- G_CALLBACK ( modification_logo_accueil ), NULL );
+ g_signal_connect_swapped ( G_OBJECT ( logo_button ),
+ "clicked",
+ G_CALLBACK ( modification_logo_accueil ),
+ NULL );
gtk_box_pack_start ( GTK_BOX ( hbox ), logo_button, FALSE, FALSE, 0 );
label = gtk_label_new ( _("Click on preview to change logo") );
@@ -185,25 +190,26 @@ GtkWidget * onglet_display_fonts ( void )
_("Use a custom font for the transactions: "));
gtk_box_pack_start ( GTK_BOX ( hbox ), check_button, FALSE, FALSE, 0 );
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( check_button ),
- conf.utilise_fonte_listes );
+ conf->utilise_fonte_listes );
/* on crée la vbox qui contiendra la font button et le raz */
vbox = gtk_vbox_new ( FALSE, 10 );
gtk_box_pack_start ( GTK_BOX ( hbox ), vbox, FALSE, FALSE, 0 );
- gtk_widget_set_sensitive ( vbox, conf.utilise_fonte_listes );
- g_signal_connect ( G_OBJECT ( check_button ), "toggled",
- G_CALLBACK ( change_choix_utilise_fonte_liste ), vbox );
-
+ gtk_widget_set_sensitive ( vbox, conf->utilise_fonte_listes );
+ g_signal_connect ( G_OBJECT ( check_button ),
+ "toggled",
+ G_CALLBACK ( change_choix_utilise_fonte_liste ),
+ vbox );
/* Create font button */
- font_button = utils_font_create_button ( &conf.font_string,
- G_CALLBACK (update_fonte_listes), NULL);
+ font_button = utils_font_create_button ( &conf->font_string,
+ G_CALLBACK (update_fonte_listes), NULL );
gtk_box_pack_start ( GTK_BOX (vbox), font_button, FALSE, FALSE, 0 );
- if ( !gsb_data_account_get_accounts_amount () )
+ if ( !gsb_data_account_get_accounts_amount ( ) )
{
- gtk_widget_set_sensitive ( vbox_pref, FALSE );
+ gtk_widget_set_sensitive ( vbox_pref, FALSE );
}
/* change colors */
@@ -216,36 +222,30 @@ GtkWidget * onglet_display_fonts ( void )
gtk_box_pack_start ( GTK_BOX ( vbox ), hbox, FALSE, FALSE, 10 );
color_combobox = gsb_color_create_color_combobox ( );
- gtk_box_pack_start ( GTK_BOX (hbox),
- color_combobox,
- FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX ( hbox ), color_combobox, FALSE, FALSE, 0 );
color_button = gtk_color_button_new ();
- gtk_color_button_set_title ( GTK_COLOR_BUTTON(color_button), _("Choosing color") );
- g_signal_connect ( G_OBJECT (color_button),
- "color-set",
- G_CALLBACK (preferences_view_color_changed),
- G_OBJECT (color_combobox));
- gtk_box_pack_start ( GTK_BOX (hbox),
- color_button,
- FALSE, FALSE, 0);
+ gtk_color_button_set_title ( GTK_COLOR_BUTTON ( color_button ), _("Choosing color") );
+ g_signal_connect ( G_OBJECT ( color_button ),
+ "color-set",
+ G_CALLBACK ( preferences_view_color_changed ),
+ G_OBJECT ( color_combobox ) );
+ gtk_box_pack_start ( GTK_BOX (hbox), color_button, FALSE, FALSE, 0) ;
/* connect the color button to the combobox if changed */
- g_signal_connect ( G_OBJECT (color_combobox),
- "changed",
- G_CALLBACK (preferences_view_color_combobox_changed),
- G_OBJECT (color_button));
-
- button = gtk_button_new_with_label (_("Back to default"));
- g_signal_connect ( G_OBJECT (button),
- "clicked",
- G_CALLBACK (preferences_view_color_default),
- G_OBJECT (color_combobox));
- gtk_box_pack_start ( GTK_BOX (vbox),
- button,
- FALSE, FALSE, 0);
-
- gtk_combo_box_set_active ( GTK_COMBO_BOX (color_combobox), 0);
+ g_signal_connect ( G_OBJECT ( color_combobox ),
+ "changed",
+ G_CALLBACK ( preferences_view_color_combobox_changed ),
+ G_OBJECT ( color_button ) );
+
+ button = gtk_button_new_with_label ( _("Back to default") );
+ g_signal_connect ( G_OBJECT ( button ),
+ "clicked",
+ G_CALLBACK ( preferences_view_color_default ),
+ G_OBJECT ( color_combobox ) );
+ gtk_box_pack_start ( GTK_BOX (vbox), button, FALSE, FALSE, 0 );
+
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( color_combobox ), 0 );
return vbox_pref;
}
@@ -309,11 +309,14 @@ gboolean change_choix_utilise_logo ( GtkWidget *check_button,
gboolean change_choix_utilise_fonte_liste ( GtkWidget *check_button,
GtkWidget *vbox )
{
- conf.utilise_fonte_listes = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( check_button ));
- gtk_widget_set_sensitive ( vbox,
- conf.utilise_fonte_listes );
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
- update_fonte_listes ( conf.font_string, NULL );
+ conf->utilise_fonte_listes = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( check_button ) );
+ gtk_widget_set_sensitive ( vbox, conf->utilise_fonte_listes );
+
+ update_fonte_listes ( conf->font_string, NULL );
return ( FALSE );
}
@@ -332,17 +335,20 @@ void update_fonte_listes ( gchar *fontname,
{
GValue value = {0,};
gchar *font;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
devel_debug (NULL);
- if ( conf.utilise_fonte_listes )
- font = fontname;
+ if ( conf->utilise_fonte_listes )
+ font = fontname;
else
- font = NULL;
+ font = NULL;
- g_value_init (&value, G_TYPE_STRING);
- g_value_set_string (&value, font);
- transaction_list_update_column (CUSTOM_MODEL_FONT, &value);
+ g_value_init ( &value, G_TYPE_STRING );
+ g_value_set_string ( &value, font );
+ transaction_list_update_column ( CUSTOM_MODEL_FONT, &value );
}
@@ -359,9 +365,11 @@ GtkWidget *onglet_display_addresses ( void )
GtkWidget *paddingbox;
GtkWidget *entry;
GtkWidget *radio, *radiogroup;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
- vbox_pref = new_vbox_with_title_and_icon ( _("Addresses & titles"),
- "addresses.png" );
+ vbox_pref = new_vbox_with_title_and_icon ( _("Addresses & titles"), "addresses.png" );
/* Account file title */
paddingbox = new_paddingbox_with_title ( vbox_pref, FALSE, _("Titles") );
@@ -372,100 +380,91 @@ GtkWidget *onglet_display_addresses ( void )
/* Choice of title type */
hbox = gtk_hbox_new ( FALSE, 6 );
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox, FALSE, FALSE, 0 );
radiogroup = gtk_radio_button_new_with_label ( NULL, _("Accounts file title") );
g_object_set_data ( G_OBJECT ( radiogroup ), "display", GINT_TO_POINTER ( GSB_ACCOUNTS_TITLE ) );
- if ( conf.display_grisbi_title == GSB_ACCOUNTS_TITLE )
+ if ( conf->display_grisbi_title == GSB_ACCOUNTS_TITLE )
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( radiogroup ), TRUE );
- g_signal_connect ( G_OBJECT ( radiogroup ),
+ g_signal_connect ( G_OBJECT ( radiogroup ),
"toggled",
- G_CALLBACK ( change_grisbi_title_type ),
+ G_CALLBACK ( change_grisbi_title_type ),
entry );
gtk_box_pack_start ( GTK_BOX( hbox ), radiogroup, FALSE, FALSE, 0 );
- radio = gtk_radio_button_new_with_label_from_widget (
+ radio = gtk_radio_button_new_with_label_from_widget (
GTK_RADIO_BUTTON ( radiogroup ),
_("Account owner name") );
g_object_set_data ( G_OBJECT ( radio ), "display", GINT_TO_POINTER ( GSB_ACCOUNT_HOLDER ) );
- if ( conf.display_grisbi_title == GSB_ACCOUNT_HOLDER )
+ if ( conf->display_grisbi_title == GSB_ACCOUNT_HOLDER )
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( radio ), TRUE );
- g_signal_connect ( G_OBJECT ( radio ),
- "toggled",
- G_CALLBACK ( change_grisbi_title_type ),
- entry );
+ g_signal_connect ( G_OBJECT ( radio ),
+ "toggled",
+ G_CALLBACK ( change_grisbi_title_type ),
+ entry );
gtk_box_pack_start ( GTK_BOX( hbox ), radio, FALSE, FALSE, 0 );
- radio = gtk_radio_button_new_with_label_from_widget (
+ radio = gtk_radio_button_new_with_label_from_widget (
GTK_RADIO_BUTTON ( radiogroup ),
_("Filename") );
g_object_set_data ( G_OBJECT ( radio ), "display", GINT_TO_POINTER ( GSB_ACCOUNTS_FILE ) );
- if ( conf.display_grisbi_title == GSB_ACCOUNTS_FILE )
+ if ( conf->display_grisbi_title == GSB_ACCOUNTS_FILE )
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( radio ), TRUE );
- g_signal_connect ( G_OBJECT ( radio ),
+ g_signal_connect ( G_OBJECT ( radio ),
"toggled",
- G_CALLBACK ( change_grisbi_title_type ),
+ G_CALLBACK ( change_grisbi_title_type ),
entry );
gtk_box_pack_start ( GTK_BOX( hbox ), radio, FALSE, FALSE, 0 );
hbox = gtk_hbox_new ( FALSE, 6 );
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox,
- FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox, FALSE, FALSE, 0 );
label = gtk_label_new ( _("Accounts file title: ") );
- gtk_box_pack_start ( GTK_BOX ( hbox ), label,
- FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX ( hbox ), label, FALSE, FALSE, 0 );
- if ( conf.display_grisbi_title == GSB_ACCOUNTS_TITLE )
+ if ( conf->display_grisbi_title == GSB_ACCOUNTS_TITLE )
gtk_widget_set_sensitive ( entry, TRUE);
else
gtk_widget_set_sensitive ( entry, FALSE);
- gtk_box_pack_start ( GTK_BOX ( hbox ), entry,
- TRUE, TRUE, 0);
+ gtk_box_pack_start ( GTK_BOX ( hbox ), entry, TRUE, TRUE, 0 );
/* Addresses */
- paddingbox = new_paddingbox_with_title ( vbox_pref, FALSE,
- _("Addresses") );
+ paddingbox = new_paddingbox_with_title ( vbox_pref, FALSE, _("Addresses") );
/* Common address */
label = gtk_label_new ( _("Common address: ") );
gtk_misc_set_alignment (GTK_MISC (label), 0, 1);
gtk_label_set_justify ( GTK_LABEL(label), GTK_JUSTIFY_RIGHT );
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), label,
- TRUE, TRUE, 0);
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), label, TRUE, TRUE, 0 );
+
scrolled_window = gtk_scrolled_window_new ( NULL, NULL );
gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scrolled_window ),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC );
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), scrolled_window,
- FALSE, FALSE, 0);
- gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW(scrolled_window),
- GTK_SHADOW_IN );
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC );
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), scrolled_window, FALSE, FALSE, 0 );
+
+ gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW ( scrolled_window ), GTK_SHADOW_IN );
entry = gsb_automem_textview_new ( &adresse_commune, NULL, NULL );
- gtk_container_add ( GTK_CONTAINER ( scrolled_window ),
- entry );
+ gtk_container_add ( GTK_CONTAINER ( scrolled_window ), entry );
/* Secondary address */
- /** \note This is not implemented yet */
label = gtk_label_new ( _("Secondary address: ") );
gtk_misc_set_alignment (GTK_MISC (label), 0, 1);
gtk_label_set_justify ( GTK_LABEL(label), GTK_JUSTIFY_RIGHT );
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), label,
- TRUE, TRUE, 0);
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), label, TRUE, TRUE, 0 );
+
scrolled_window = gtk_scrolled_window_new ( NULL, NULL );
gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scrolled_window ),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC );
- gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW(scrolled_window),
- GTK_SHADOW_IN );
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), scrolled_window,
- FALSE, FALSE, 0);
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC );
+ gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW ( scrolled_window ), GTK_SHADOW_IN );
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), scrolled_window, FALSE, FALSE, 0 );
+
entry = gsb_automem_textview_new ( &adresse_secondaire, NULL, NULL );
- gtk_container_add ( GTK_CONTAINER ( scrolled_window ),
- entry );
+ gtk_container_add ( GTK_CONTAINER ( scrolled_window ), entry );
if ( !gsb_data_account_get_accounts_amount () )
- gtk_widget_set_sensitive ( vbox_pref, FALSE );
+ gtk_widget_set_sensitive ( vbox_pref, FALSE );
return ( vbox_pref );
}
@@ -672,6 +671,9 @@ gboolean update_homepage_title (GtkEntry *entry, gchar *value,
*/
gboolean change_toolbar_display_mode ( GtkRadioButton *button )
{
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* Do not execute this callback twice,
* as it is triggered for both unselected button and newly selected one.
* We keep the call for the newly selected radio button */
@@ -679,7 +681,7 @@ gboolean change_toolbar_display_mode ( GtkRadioButton *button )
return FALSE;
/* save the new parameter */
- etat.display_toolbar = GPOINTER_TO_INT (g_object_get_data ( G_OBJECT(button), "display" ));
+ conf->display_toolbar = GPOINTER_TO_INT (g_object_get_data ( G_OBJECT(button), "display" ));
/* update toolbars */
gsb_gui_update_all_toolbars ( );
@@ -700,54 +702,61 @@ GtkWidget *tab_display_toolbar ( void )
GtkWidget * vbox_pref, * paddingbox, * radio, * radiogroup;
GtkWidget *vbox;
GtkWidget *button;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
vbox_pref = new_vbox_with_title_and_icon ( _("Toolbars"), "toolbar.png" );
paddingbox = new_paddingbox_with_title ( vbox_pref, FALSE,
- _("Display toolbar buttons as") );
+ _("Display toolbar buttons as") );
radiogroup = radio = gtk_radio_button_new_with_label ( NULL, _("Text") );
g_object_set_data ( G_OBJECT(radio), "display", GINT_TO_POINTER(GSB_BUTTON_TEXT) );
gtk_box_pack_start ( GTK_BOX(paddingbox), radio, FALSE, FALSE, 0 );
- if ( etat.display_toolbar == GSB_BUTTON_TEXT )
- gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (radio), TRUE );
- g_signal_connect ( G_OBJECT(radio), "toggled",
- G_CALLBACK(change_toolbar_display_mode), NULL );
-
- radio = gtk_radio_button_new_with_label_from_widget ( GTK_RADIO_BUTTON(radiogroup),
- _("Icons") );
- g_object_set_data ( G_OBJECT(radio), "display", GINT_TO_POINTER(GSB_BUTTON_ICON) );
+ if ( conf->display_toolbar == GSB_BUTTON_TEXT )
+ gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( radio ), TRUE );
+ g_signal_connect ( G_OBJECT(radio),
+ "toggled",
+ G_CALLBACK ( change_toolbar_display_mode ),
+ NULL );
+
+ radio = gtk_radio_button_new_with_label_from_widget ( GTK_RADIO_BUTTON ( radiogroup ), _("Icons") );
+ g_object_set_data ( G_OBJECT(radio), "display", GINT_TO_POINTER ( GSB_BUTTON_ICON ) );
gtk_box_pack_start ( GTK_BOX(paddingbox), radio, FALSE, FALSE, 0 );
- if ( etat.display_toolbar == GSB_BUTTON_ICON )
- gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (radio), TRUE );
- g_signal_connect ( G_OBJECT(radio), "toggled",
- G_CALLBACK(change_toolbar_display_mode), NULL );
-
- radio = gtk_radio_button_new_with_label_from_widget ( GTK_RADIO_BUTTON(radiogroup),
- _("Both") );
- g_object_set_data ( G_OBJECT(radio), "display", GINT_TO_POINTER(GSB_BUTTON_BOTH) );
+ if ( conf->display_toolbar == GSB_BUTTON_ICON )
+ gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (radio), TRUE );
+ g_signal_connect ( G_OBJECT(radio),
+ "toggled",
+ G_CALLBACK ( change_toolbar_display_mode ),
+ NULL );
+
+ radio = gtk_radio_button_new_with_label_from_widget ( GTK_RADIO_BUTTON ( radiogroup ), ("Both") );
+ g_object_set_data ( G_OBJECT(radio), "display", GINT_TO_POINTER ( GSB_BUTTON_BOTH ) );
gtk_box_pack_start ( GTK_BOX(paddingbox), radio, FALSE, FALSE, 0 );
- if ( etat.display_toolbar == GSB_BUTTON_BOTH )
- gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (radio), TRUE );
- g_signal_connect ( G_OBJECT(radio), "toggled",
- G_CALLBACK(change_toolbar_display_mode), NULL );
+ if ( conf->display_toolbar == GSB_BUTTON_BOTH )
+ gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (radio), TRUE );
+ g_signal_connect ( G_OBJECT(radio),
+ "toggled",
+ G_CALLBACK ( change_toolbar_display_mode ),
+ NULL );
gtk_widget_show_all ( vbox_pref );
if ( !gsb_data_account_get_accounts_amount () )
- gtk_widget_set_sensitive ( vbox_pref, FALSE );
+ gtk_widget_set_sensitive ( vbox_pref, FALSE );
- gtk_box_pack_start ( GTK_BOX ( vbox_pref ),
- gsb_automem_checkbutton_new ( _("Display headings bar"),
- &(etat.show_headings_bar),
- G_CALLBACK (preferences_switch_headings_bar), NULL ),
- FALSE, FALSE, 0 );
+ button = gsb_automem_checkbutton_new ( _("Display headings bar"),
+ &conf->show_headings_bar,
+ G_CALLBACK (preferences_switch_headings_bar),
+ NULL );
+ gtk_box_pack_start ( GTK_BOX ( vbox_pref ), button, FALSE, FALSE, 0 );
vbox = new_vbox_with_title_and_icon ( _("Navigation pane"), "organization.png" );
gtk_box_pack_start ( GTK_BOX ( vbox_pref ), vbox, TRUE, TRUE, 0 );
button = gsb_automem_checkbutton_new (_("Add mouse scrolling support on the navigation pane"),
- &conf.active_scrolling_left_pane,
+ &conf->active_scrolling_left_pane,
G_CALLBACK ( preferences_active_mouse_scrolling_left_pane ),
NULL);
gtk_box_pack_start ( GTK_BOX ( vbox ), button, FALSE, FALSE, 5 );
@@ -786,7 +795,11 @@ gboolean preferences_switch_headings_bar ( GtkWidget *toggle_button,
gboolean preferences_active_mouse_scrolling_left_pane ( GtkWidget *toggle_button,
gpointer null )
{
- if ( conf.active_scrolling_left_pane )
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
+ if ( conf->active_scrolling_left_pane )
g_signal_handlers_unblock_by_func ( gsb_gui_navigation_get_tree_view ( ),
G_CALLBACK ( gsb_gui_navigation_check_scroll ),
NULL );
@@ -929,13 +942,17 @@ static gboolean preferences_view_color_default ( GtkWidget *button,
*/
gboolean change_grisbi_title_type ( GtkRadioButton *button, GtkWidget *entry )
{
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( button ) ) )
{
- conf.display_grisbi_title = GPOINTER_TO_INT ( g_object_get_data
+ conf->display_grisbi_title = GPOINTER_TO_INT ( g_object_get_data
( G_OBJECT ( button ), "display" ) );
}
- switch ( conf.display_grisbi_title )
+ switch ( conf->display_grisbi_title )
{
case GSB_ACCOUNTS_TITLE:
gtk_widget_set_sensitive ( entry, TRUE );
diff --git a/src/affichage_liste.c b/src/affichage_liste.c
index dc60cdb..8df554f 100644
--- a/src/affichage_liste.c
+++ b/src/affichage_liste.c
@@ -32,6 +32,7 @@
#include "affichage_liste.h"
#include "custom_list.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_automem.h"
#include "gsb_color.h"
#include "gsb_data_account.h"
@@ -148,6 +149,9 @@ GtkWidget *onglet_affichage_operations ( void )
_("Sort by date and then by transaction number"),
};
gint i;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
vbox_pref = new_vbox_with_title_and_icon ( _("Transaction list behavior"),
"transaction-list.png" );
@@ -214,14 +218,14 @@ GtkWidget *onglet_affichage_operations ( void )
gtk_box_pack_start ( GTK_BOX ( paddingbox ),
gsb_automem_checkbutton_new (
_("Use simple click to select transactions"),
- &conf.show_transaction_selected_in_form,
+ &conf->show_transaction_selected_in_form,
NULL, NULL ),
FALSE, FALSE, 0 );
gtk_box_pack_start ( GTK_BOX ( paddingbox ),
gsb_automem_checkbutton_new (
_("Highlights the transaction that gives the balance today"),
- &conf.show_transaction_gives_balance,
+ &conf->show_transaction_gives_balance,
G_CALLBACK ( gsb_transactions_list_display_show_gives_balance ), NULL ),
FALSE, FALSE, 0 );
@@ -236,13 +240,13 @@ GtkWidget *onglet_affichage_operations ( void )
g_signal_connect ( G_OBJECT ( button ),
"changed",
G_CALLBACK ( gsb_transactions_list_display_sort_changed ),
- &conf.transactions_list_primary_sorting );
+ &conf->transactions_list_primary_sorting );
for ( i = 0 ; i < 2 ; i++ )
{
gtk_combo_box_text_append_text ( GTK_COMBO_BOX_TEXT ( button ), options_tri_primaire[i] );
}
- gtk_combo_box_set_active ( GTK_COMBO_BOX ( button ), conf.transactions_list_primary_sorting );
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( button ), conf->transactions_list_primary_sorting );
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
/* Secondary sorting option for the transactions */
@@ -256,13 +260,13 @@ GtkWidget *onglet_affichage_operations ( void )
g_signal_connect ( G_OBJECT ( button ),
"changed",
G_CALLBACK ( gsb_transactions_list_display_sort_changed ),
- &conf.transactions_list_secondary_sorting );
+ &conf->transactions_list_secondary_sorting );
for ( i = 0 ; i < 4 ; i++ )
{
gtk_combo_box_text_append_text ( GTK_COMBO_BOX_TEXT ( button ), options_tri_secondaire[i] );
}
- gtk_combo_box_set_active ( GTK_COMBO_BOX ( button ), conf.transactions_list_secondary_sorting );
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( button ), conf->transactions_list_secondary_sorting );
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
/* Account distinction */
@@ -513,23 +517,25 @@ void recuperation_noms_colonnes_et_tips ( void )
GtkWidget *onglet_diverse_form_and_lists ( void )
{
GtkWidget *vbox_pref, *paddingbox, *radiogroup;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
- vbox_pref = new_vbox_with_title_and_icon ( _("Form behavior"),
- "form.png" );
+ vbox_pref = new_vbox_with_title_and_icon ( _("Form behavior"), "form.png" );
/* What to do if RETURN is pressed into transaction form */
radiogroup = gsb_automem_radiobutton_new_with_title (vbox_pref,
_("Pressing RETURN in transaction form"),
_("selects next field"),
_("terminates transaction"),
- &conf.entree, NULL, NULL);
+ &conf->entree, NULL, NULL);
/* How to display financial year */
radiogroup = gsb_automem_radiobutton_new_with_title (vbox_pref,
_("Automatic financial year is set"),
_("according to transaction date"),
_("according to transaction value date"),
- &etat.affichage_exercice_automatique,
+ &conf->affichage_exercice_automatique,
NULL, NULL);
/* automatic amount separatior fields */
@@ -560,14 +566,17 @@ GtkWidget *onglet_form_completion ( void )
GtkWidget *vbox_pref;
GtkWidget *hbox, *label, *entry;
GtkWidget *button;
- gchar* tmpstr;
+ gchar* tmpstr;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
vbox_pref = new_vbox_with_title_and_icon ( _("Form completion"), "form.png" );
gtk_box_pack_start ( GTK_BOX ( vbox_pref ),
gsb_automem_checkbutton_new (
_("Automatic filling transactions from payee"),
- &conf.automatic_completion_payee,
+ &conf->automatic_completion_payee,
G_CALLBACK ( gsb_transactions_list_display_update_auto_checkbutton ),
vbox_pref ),
FALSE, FALSE, 0 );
@@ -577,11 +586,11 @@ GtkWidget *onglet_form_completion ( void )
button = gsb_automem_checkbutton_new (
_("Erase the credit and debit fields"),
- &conf.automatic_erase_credit_debit,
+ &conf->automatic_erase_credit_debit,
NULL,
NULL );
g_object_set_data ( G_OBJECT ( vbox_pref ), "button_3", button );
- gtk_widget_set_sensitive ( button, conf.automatic_completion_payee );
+ gtk_widget_set_sensitive ( button, conf->automatic_completion_payee );
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 20 );
hbox = gtk_hbox_new ( FALSE, 5 );
@@ -589,11 +598,11 @@ GtkWidget *onglet_form_completion ( void )
button = gsb_automem_checkbutton_new (
_("Automatically recover the children of the associated transaction"),
- &conf.automatic_recover_splits,
+ &conf->automatic_recover_splits,
NULL,
NULL );
g_object_set_data ( G_OBJECT ( vbox_pref ), "button_1", button );
- gtk_widget_set_sensitive ( button, conf.automatic_completion_payee );
+ gtk_widget_set_sensitive ( button, conf->automatic_completion_payee );
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 20 );
hbox = gtk_hbox_new ( FALSE, 5 );
@@ -601,10 +610,10 @@ GtkWidget *onglet_form_completion ( void )
button = gsb_automem_checkbutton_new (
_("Limit the filling with payees belonging to the current account"),
- &conf.limit_completion_to_current_account,
+ &conf->limit_completion_to_current_account,
NULL, NULL);
g_object_set_data ( G_OBJECT ( vbox_pref ), "button_2", button );
- gtk_widget_set_sensitive ( button, conf.automatic_completion_payee );
+ gtk_widget_set_sensitive ( button, conf->automatic_completion_payee );
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 20 );
gtk_box_pack_start ( GTK_BOX (vbox_pref),
@@ -654,8 +663,8 @@ GtkWidget *onglet_form_completion ( void )
gtk_widget_set_sensitive ( vbox_pref, FALSE );
}
+ /* return */
return vbox_pref;
-
}
diff --git a/src/bet_config.c b/src/bet_config.c
index 4ea28ea..dbaed7c 100644
--- a/src/bet_config.c
+++ b/src/bet_config.c
@@ -36,6 +36,7 @@
#include "bet_hist.h"
#include "bet_tab.h"
#include "dialog.h"
+#include "fenetre_principale.h"
#include "gsb_account.h"
#include "gsb_automem.h"
#include "gsb_calendar_entry.h"
@@ -86,7 +87,6 @@ static void bet_config_initialise_select_historical_data ( gint account_number,
/*END_STATIC*/
/*START_EXTERN*/
-extern GtkWidget *account_page;
extern GtkTreeModel *bet_fyear_model;
extern GtkTreeModel *bet_fyear_model_filter;
/*END_EXTERN*/
@@ -224,7 +224,7 @@ gboolean bet_config_general_cash_account_option_clicked ( GtkWidget *checkbutton
{
GtkWidget *combo;
- combo = g_object_get_data ( G_OBJECT ( account_page ), "account_combo" );
+ combo = g_object_get_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "account_combo" );
if ( combo )
{
gint account_number;
@@ -268,7 +268,7 @@ GtkWidget *bet_config_account_create_account_page ( void )
gtk_notebook_set_show_tabs ( GTK_NOTEBOOK ( notebook ), FALSE );
gtk_notebook_set_scrollable ( GTK_NOTEBOOK ( notebook ), TRUE );
gtk_box_pack_start ( GTK_BOX ( vbox_pref ), notebook, FALSE, FALSE, 0 );
- g_object_set_data ( G_OBJECT ( account_page ), "config_notebook", notebook );
+ g_object_set_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "config_notebook", notebook );
gtk_widget_show ( notebook );
/* Data for the account of type GSB_TYPE_BANK, GSB_TYPE_CASH */
@@ -278,12 +278,12 @@ GtkWidget *bet_config_account_create_account_page ( void )
/* Data for the forecast */
widget = bet_config_account_get_forecast_data ( _("Data for the forecast") );
- g_object_set_data ( G_OBJECT ( account_page ), "Data_for_forecast", widget );
+ g_object_set_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "Data_for_forecast", widget );
gtk_box_pack_start ( GTK_BOX ( vbox ), widget, FALSE, FALSE, 0 );
/* Sources of historical data */
widget = bet_config_account_get_select_historical_data ( _("Sources of historical data") );
- g_object_set_data ( G_OBJECT ( account_page ), "Data_for_historical", widget );
+ g_object_set_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "Data_for_historical", widget );
gtk_box_pack_start ( GTK_BOX ( vbox ), widget, FALSE, FALSE, 0 );
/* Data for the account of type GSB_TYPE_LIABILITIES */
@@ -293,11 +293,11 @@ GtkWidget *bet_config_account_create_account_page ( void )
/* Data for the credit */
widget = bet_config_account_get_finance_data ( _("Credit Data") );
- g_object_set_data ( G_OBJECT ( account_page ), "Data_for_credit", widget );
+ g_object_set_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "Data_for_credit", widget );
gtk_box_pack_start ( GTK_BOX ( vbox ), widget, FALSE, FALSE, 0 );
/* mettre à jour les données du compte */
- widget = g_object_get_data ( G_OBJECT ( account_page ), "account_combo" );
+ widget = g_object_get_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "account_combo" );
bet_config_change_account ( widget );
return vbox_pref;
@@ -335,7 +335,7 @@ GtkWidget *bet_config_account_get_select_account ( gchar *title )
combo = gsb_account_create_combo_list ( G_CALLBACK ( bet_config_change_account ),
NULL, FALSE );
- g_object_set_data ( G_OBJECT ( account_page ), "account_combo", combo );
+ g_object_set_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "account_combo", combo );
if ( ( account_number = gsb_gui_navigation_get_current_account ( ) ) == -1 )
gtk_combo_box_set_active ( GTK_COMBO_BOX ( combo ), 0 );
else
@@ -396,6 +396,7 @@ GtkWidget *bet_config_get_duration_widget ( gint origin )
GtkWidget *widget = NULL;
GtkWidget *hbox;
GtkWidget *previous = NULL;
+ GtkWidget *account_page;
gpointer pointeur = NULL;
gint iduration;
@@ -445,9 +446,10 @@ GtkWidget *bet_config_get_duration_widget ( gint origin )
spin_button );
}
+ account_page = gsb_gui_on_account_get_notebook ( );
+
if ( origin == SPP_ORIGIN_CONFIG )
{
-
g_object_set_data ( G_OBJECT ( spin_button ), "bet_origin_signal", pointeur );
g_object_set_data ( G_OBJECT ( account_page ), "bet_config_account_previous",
previous );
@@ -489,10 +491,13 @@ void bet_config_initialise_duration_widget ( gint account_number,
{
GtkWidget *widget = NULL;
GtkWidget *button = NULL;
+ GtkWidget *account_page;
gpointer ptr = NULL;
gint param;
gint months;
+ account_page = gsb_gui_on_account_get_notebook ( );
+
param = gsb_data_account_get_bet_spin_range ( account_number );
months = gsb_data_account_get_bet_months ( account_number );
button = g_object_get_data ( G_OBJECT ( account_page ), "bet_config_account_spin_button" );
@@ -655,7 +660,7 @@ GtkWidget *bet_config_account_get_select_historical_data ( gchar *title )
vbox = gtk_vbox_new ( FALSE, 0 );
paddingbox = new_paddingbox_with_title ( vbox, FALSE, _(title) );
- hbox = bet_config_get_select_historical_data ( paddingbox, account_page );
+ hbox = bet_config_get_select_historical_data ( paddingbox, gsb_gui_on_account_get_notebook ( ) );
return vbox;
}
@@ -899,6 +904,7 @@ gboolean bet_config_duration_number_changed ( GtkWidget *spin_button,
* */
void bet_config_origin_data_clicked ( GtkWidget *togglebutton, GdkEventButton *event, gpointer data )
{
+ GtkWidget *account_page;
GtkTreeViewColumn *column;
const gchar *name;
gchar *title;
@@ -912,6 +918,8 @@ void bet_config_origin_data_clicked ( GtkWidget *togglebutton, GdkEventButton *e
else
account_number = gsb_gui_navigation_get_current_account ( );
+ account_page = gsb_gui_on_account_get_notebook ( );
+
name = gtk_widget_get_name ( GTK_WIDGET ( togglebutton ) );
if ( g_strcmp0 ( name, "bet_hist_button_1" ) == 0 )
@@ -989,6 +997,7 @@ void bet_config_fyear_clicked ( GtkWidget *combo, gpointer data )
* */
gboolean bet_config_change_account ( GtkWidget *combo )
{
+ GtkWidget *account_page;
GtkWidget *notebook;
GtkWidget *widget = NULL;
gint account_number;
@@ -1029,6 +1038,8 @@ gboolean bet_config_change_account ( GtkWidget *combo )
if ( etat.bet_deb_cash_account_option == 1 && kind == GSB_TYPE_CASH )
kind = GSB_TYPE_BANK;
+ account_page = gsb_gui_on_account_get_notebook ( );
+
notebook = g_object_get_data ( G_OBJECT ( account_page ), "config_notebook" );
switch ( kind )
{
@@ -1067,7 +1078,7 @@ gint bet_config_get_account_from_combo ( void )
GtkWidget *combo;
gint account_number = -1;
- combo = g_object_get_data ( G_OBJECT ( account_page ), "account_combo" );
+ combo = g_object_get_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "account_combo" );
account_number = gsb_account_get_combo_account_number ( combo );
return account_number;
@@ -1117,6 +1128,9 @@ gboolean bet_config_select_label_changed ( GtkWidget *checkbutton,
void bet_config_sensitive_account_parameters ( gint account_number, gboolean sensitive )
{
GtkWidget *widget = NULL;
+ GtkWidget *account_page;
+
+ account_page = gsb_gui_on_account_get_notebook ( );
if ( sensitive )
{
@@ -1196,6 +1210,9 @@ void bet_config_use_budget_toggle ( GtkToggleButton *button, GtkWidget *combo )
}
else
{
+ GtkWidget *account_page;
+
+ account_page = gsb_gui_on_account_get_notebook ( );
bet_data_remove_all_bet_data ( account_number );
gsb_data_account_set_bet_use_budget ( account_number, 0 );
widget = g_object_get_data ( G_OBJECT ( account_page ), "Data_for_forecast" );
diff --git a/src/bet_data.c b/src/bet_data.c
index 03336a8..30b25d1 100644
--- a/src/bet_data.c
+++ b/src/bet_data.c
@@ -72,7 +72,6 @@ static SH *struct_initialise_bet_historical ( void );
/*START_EXTERN*/
-extern GtkWidget *account_page;
extern gsb_real null_real;
/*END_EXTERN*/
@@ -102,6 +101,7 @@ static gint transfert_number;
*/
void bet_data_select_bet_pages ( gint account_number )
{
+ GtkWidget *account_page;
GtkWidget *page;
kind_account kind;
gint current_page;
@@ -110,7 +110,10 @@ void bet_data_select_bet_pages ( gint account_number )
devel_debug_int ( account_number );
kind = gsb_data_account_get_kind ( account_number );
+
+ account_page = gsb_gui_on_account_get_notebook ( );
current_page = gtk_notebook_get_current_page ( GTK_NOTEBOOK ( account_page ) );
+
bet_use_budget = gsb_data_account_get_bet_use_budget ( account_number );
if ( bet_use_budget <= 0 )
kind = GSB_TYPE_ASSET;
@@ -197,7 +200,7 @@ void bet_data_update_bet_module ( gint account_number, guint page )
if ( page == -1 && gsb_gui_navigation_get_current_page ( ) == GSB_ACCOUNT_PAGE )
- page = gtk_notebook_get_current_page ( GTK_NOTEBOOK ( account_page ) );
+ page = gtk_notebook_get_current_page ( GTK_NOTEBOOK ( gsb_gui_on_account_get_notebook ( ) ) );
switch ( page )
{
diff --git a/src/bet_finance_ui.c b/src/bet_finance_ui.c
index 07e3a7b..1ee5466 100644
--- a/src/bet_finance_ui.c
+++ b/src/bet_finance_ui.c
@@ -34,6 +34,7 @@
#include "dialog.h"
#include "export_csv.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_automem.h"
#include "gsb_color.h"
#include "gsb_combo_box.h"
@@ -100,7 +101,6 @@ static void bet_finance_update_simulator_toolbar ( void );
/*END_STATIC*/
/*START_EXTERN*/
-extern GtkWidget *account_page;
/*END_EXTERN*/
/* notebook pour la simulation de crédits */
@@ -1513,9 +1513,12 @@ GtkWidget *bet_finance_create_account_page ( void )
GtkWidget *label_title;
GtkWidget *label;
GtkWidget *tree_view;
+ GtkWidget *account_page;
devel_debug (NULL);
+ account_page = gsb_gui_on_account_get_notebook ( );
+
page = gtk_vbox_new ( FALSE, 5 );
/* titre de la page */
@@ -1523,7 +1526,9 @@ GtkWidget *bet_finance_create_account_page ( void )
gtk_box_pack_start ( GTK_BOX ( page ), align, FALSE, FALSE, 5);
label_title = gtk_label_new ( _("Amortization Table") );
- g_object_set_data ( G_OBJECT ( account_page ), "bet_finance_amortization_title", label_title );
+ g_object_set_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ),
+ "bet_finance_amortization_title",
+ label_title );
gtk_container_add ( GTK_CONTAINER ( align ), label_title );
/* Choix des données sources */
@@ -1600,6 +1605,7 @@ GtkWidget *bet_finance_create_account_page ( void )
* */
void bet_finance_ui_update_amortization_tab ( gint account_number )
{
+ GtkWidget *account_page;
GtkWidget *label;
GtkWidget *tree_view;
GtkTreeModel *store;
@@ -1625,6 +1631,7 @@ void bet_finance_ui_update_amortization_tab ( gint account_number )
s_amortissement -> origin = SPP_ORIGIN_FINANCE;
/* récupère le tableau d'amortissement */
+ account_page = gsb_gui_on_account_get_notebook ( );
tree_view = g_object_get_data ( G_OBJECT ( account_page ), "bet_finance_tree_view" );
amortization_initial_date = GPOINTER_TO_INT ( g_object_get_data (
G_OBJECT ( tree_view ), "amortization_initial_date" ) );
@@ -1770,6 +1777,9 @@ GtkWidget *bet_finance_create_simulator_toolbar ( GtkWidget *parent,
GtkWidget *hbox;
GtkWidget *button;
GtkTreeSelection *selection;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* Hbox */
hbox = gtk_hbox_new ( FALSE, 0 );
@@ -1777,7 +1787,7 @@ GtkWidget *bet_finance_create_simulator_toolbar ( GtkWidget *parent,
if ( simulator )
{
/* création du bouton calculer */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_EXECUTE,
_("Calculate"),
NULL,
@@ -1792,7 +1802,7 @@ GtkWidget *bet_finance_create_simulator_toolbar ( GtkWidget *parent,
/* création du bouton afficher le tableau d'amortissement */
selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( tree_view ) );
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("Amortization"),
"ac_liability_16.png",
NULL,
@@ -1807,7 +1817,7 @@ GtkWidget *bet_finance_create_simulator_toolbar ( GtkWidget *parent,
else if ( amortization )
{
/* création du bouton afficher le simulateur de crédits */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("Credits"),
"ac_liability_16.png",
NULL,
@@ -1824,7 +1834,7 @@ GtkWidget *bet_finance_create_simulator_toolbar ( GtkWidget *parent,
gboolean amortization_initial_date = FALSE;
/* création du bouton afficher le simulateur de crédits */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("Amortization"),
"ac_liability_16.png",
NULL,
@@ -1842,7 +1852,7 @@ GtkWidget *bet_finance_create_simulator_toolbar ( GtkWidget *parent,
}
/* création du bouton print */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_PRINT,
_("Print"),
NULL,
@@ -1855,7 +1865,7 @@ GtkWidget *bet_finance_create_simulator_toolbar ( GtkWidget *parent,
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 5 );
/* Export button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_SAVE,
_("Export"),
NULL,
@@ -1887,7 +1897,7 @@ void bet_finance_ui_export_tab ( GtkWidget *menu_item, GtkTreeView *tree_view )
gchar *filename;
dialog = gtk_file_chooser_dialog_new ( _("Export the array"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_OK,
diff --git a/src/bet_future.c b/src/bet_future.c
index fadf321..76b29d9 100644
--- a/src/bet_future.c
+++ b/src/bet_future.c
@@ -37,30 +37,32 @@
#include "bet_tab.h"
#include "dialog.h"
#include "fenetre_principale.h"
-#include "utils_dates.h"
+#include "grisbi_app.h"
#include "gsb_calendar_entry.h"
#include "gsb_combo_box.h"
#include "gsb_data_account.h"
#include "gsb_data_budget.h"
#include "gsb_data_category.h"
#include "gsb_data_currency_link.h"
+#include "gsb_data_form.h"
#include "gsb_data_partial_balance.h"
#include "gsb_data_payee.h"
+#include "gsb_data_payment.h"
#include "gsb_form.h"
#include "gsb_form_scheduler.h"
#include "gsb_form_widget.h"
#include "gsb_fyear.h"
-#include "navigation.h"
#include "gsb_payment_method.h"
#include "gsb_real.h"
-#include "utils_editables.h"
#include "gtk_combofix.h"
+#include "navigation.h"
+#include "structures.h"
#include "utils.h"
+#include "utils_dates.h"
+#include "utils_editables.h"
+#include "utils_gtkbuilder.h"
#include "utils_real.h"
#include "utils_str.h"
-#include "structures.h"
-#include "gsb_data_payment.h"
-#include "gsb_data_form.h"
#include "erreur.h"
/*END_INCLUDE*/
@@ -253,7 +255,6 @@ dialog_return:
GtkWidget *bet_future_create_dialog ( gint account_number )
{
GtkWidget *dialog;
- GtkWidget *vbox;
GtkWidget *table;
static GtkBuilder *dialog_builder = NULL;
@@ -262,41 +263,18 @@ GtkWidget *bet_future_create_dialog ( gint account_number )
dialog_builder = gtk_builder_new ( );
if ( dialog_builder == NULL )
- return FALSE;
+ return FALSE;
/* Chargement du XML dans etats_config_builder */
if ( !utils_gtkbuilder_merge_ui_data_in_builder ( dialog_builder, "dlg_bet_future.ui" ) )
- return FALSE;
+ return FALSE;
dialog = GTK_WIDGET ( gtk_builder_get_object ( dialog_builder, "dialog_bet_future_create" ) );
table = GTK_WIDGET ( gtk_builder_get_object ( dialog_builder, "table" ) );
- /*dialog = gtk_dialog_new_with_buttons ( _("Enter a budget line"),
- GTK_WINDOW ( run.window ),
- GTK_DIALOG_MODAL,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OK, GTK_RESPONSE_OK,
- NULL );
-
- gtk_window_set_position ( GTK_WINDOW ( dialog ), GTK_WIN_POS_CENTER_ON_PARENT );
- gtk_window_set_resizable ( GTK_WINDOW ( dialog ), TRUE );
- gtk_dialog_set_default_response ( GTK_DIALOG ( dialog ), GTK_RESPONSE_OK );
-
- vbox = gtk_vbox_new ( FALSE, 0 );
- gtk_box_pack_start ( GTK_BOX ( dialog_get_content_area ( dialog ) ), vbox, TRUE, TRUE, 0 );
- gtk_container_set_border_width ( GTK_CONTAINER ( vbox ), 12 );
-
-
- table = gtk_table_new ( BET_SCHEDULED_HEIGHT, BET_SCHEDULED_WIDTH, FALSE );
- gtk_table_set_col_spacings ( GTK_TABLE ( table ), 6 );
- gtk_widget_show ( table );
- gtk_box_pack_start ( GTK_BOX ( vbox ), table, FALSE, FALSE, 5 );*/
-
bet_form_create_scheduler_part ( dialog, table );
bet_form_create_current_form ( dialog, table, account_number );
- //gtk_widget_show ( vbox );
-
return dialog;
}
@@ -1209,12 +1187,15 @@ gboolean bet_form_key_press_event ( GtkWidget *widget,
gint element_number;
gint account_number;
GtkWidget *widget_prov;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
element_number = GPOINTER_TO_INT (ptr_origin);
account_number = gsb_form_get_account_number ();
- /* if conf.entree = 1, entry finish the transaction, else does as tab */
- if ( !conf.entree
+ /* if conf->entree = 1, entry finish the transaction, else does as tab */
+ if ( !conf->entree
&&
( ev -> keyval == GDK_KEY_Return
||
@@ -1925,7 +1906,7 @@ GtkWidget *bet_transfert_create_dialog ( gint account_number )
/* Create the dialog */
dialog = gtk_dialog_new_with_buttons ( _("Select an account"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK,
diff --git a/src/bet_graph.c b/src/bet_graph.c
index 65762c2..160e19f 100644
--- a/src/bet_graph.c
+++ b/src/bet_graph.c
@@ -35,6 +35,7 @@
#include "bet_data.h"
#include "bet_hist.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_automem.h"
#include "gsb_data_account.h"
#include "gsb_data_fyear.h"
@@ -394,7 +395,9 @@ void bet_graph_sectors_graph_new ( GtkWidget *button,
/* Création de la fenêtre de dialogue pour le graph */
dialog = GTK_WIDGET ( gtk_builder_get_object ( bet_graph_builder, "bet_graph_dialog" ) );
- gtk_window_set_transient_for ( GTK_WINDOW ( dialog ), GTK_WINDOW ( run.window ) );
+ gtk_window_set_transient_for ( GTK_WINDOW ( dialog ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ) );
+
gtk_widget_set_size_request ( dialog, PAGE_WIDTH+30, PAGE_HEIGHT+70 );
g_signal_connect ( G_OBJECT ( dialog ),
"destroy",
@@ -634,7 +637,8 @@ void bet_graph_line_graph_new ( GtkWidget *button, GtkTreeView *tree_view )
/* Création de la fenêtre de dialogue pour le graph */
dialog = GTK_WIDGET ( gtk_builder_get_object ( bet_graph_builder, "bet_graph_dialog" ) );
- gtk_window_set_transient_for ( GTK_WINDOW ( dialog ), GTK_WINDOW ( run.window ) );
+ gtk_window_set_transient_for ( GTK_WINDOW ( dialog ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ) );
gtk_widget_set_size_request ( dialog, PAGE_WIDTH+30, PAGE_HEIGHT+70 );
g_signal_connect ( G_OBJECT ( dialog ),
"destroy",
@@ -1113,6 +1117,9 @@ void bet_graph_popup_choix_graph_activate ( GtkMenuItem *menuitem,
{
GtkWidget *parent;
GList *tmp_list;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
parent = gtk_widget_get_parent ( self->box );
tmp_list = g_object_get_data ( G_OBJECT ( parent ), "button_list" );
@@ -1135,7 +1142,7 @@ void bet_graph_popup_choix_graph_activate ( GtkMenuItem *menuitem,
gtk_container_foreach ( GTK_CONTAINER ( self->box ), ( GtkCallback ) gtk_widget_destroy, NULL );
self->is_visible = TRUE;
- self->button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ self->button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
self->name,
self->filename,
NULL,
diff --git a/src/bet_hist.c b/src/bet_hist.c
index 4542901..7eb1938 100644
--- a/src/bet_hist.c
+++ b/src/bet_hist.c
@@ -37,6 +37,7 @@
#include "dialog.h"
#include "export_csv.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_automem.h"
#include "gsb_color.h"
#include "gsb_data_account.h"
@@ -150,6 +151,7 @@ GtkTreeModel *bet_fyear_model_filter = NULL;
* */
GtkWidget *bet_historical_create_page ( void )
{
+ GtkWidget *account_page;
GtkWidget *widget;
GtkWidget *page;
GtkWidget *hbox;
@@ -160,6 +162,9 @@ GtkWidget *bet_historical_create_page ( void )
gpointer pointeur;
devel_debug (NULL);
+
+ account_page = gsb_gui_on_account_get_notebook ( );
+
page = gtk_vbox_new ( FALSE, 5 );
gtk_widget_set_name ( page, "historical_page" );
@@ -499,6 +504,7 @@ void bet_historical_div_cell_edited (GtkCellRendererText *cell,
* */
GtkWidget *bet_historical_get_data_tree_view ( GtkWidget *container )
{
+ GtkWidget *account_page;
GtkWidget *scrolled_window;
GtkWidget *tree_view;
GtkTreeStore *tree_model;
@@ -507,6 +513,8 @@ GtkWidget *bet_historical_get_data_tree_view ( GtkWidget *container )
GtkTreeViewColumn *column;
gchar *title;
+ account_page = gsb_gui_on_account_get_notebook ( );
+
/* devel_debug (NULL); */
tree_view = gtk_tree_view_new ( );
gtk_tree_view_set_rules_hint ( GTK_TREE_VIEW (tree_view), FALSE );
@@ -706,7 +714,7 @@ void bet_historical_populate_data ( gint account_number )
GHashTable *list_div;
devel_debug_int ( account_number );
- tree_view = g_object_get_data (G_OBJECT ( account_page ), "bet_historical_treeview" );
+ tree_view = g_object_get_data (G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "bet_historical_treeview" );
if ( GTK_IS_TREE_VIEW ( tree_view ) == FALSE )
return;
@@ -1135,7 +1143,7 @@ void bet_historical_refresh_data ( GtkTreeModel *tab_model,
GtkTreeIter fils_iter;
devel_debug (NULL);
- tree_view = g_object_get_data ( G_OBJECT ( account_page ), "bet_historical_treeview" );
+ tree_view = g_object_get_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "bet_historical_treeview" );
model = gtk_tree_view_get_model ( GTK_TREE_VIEW ( tree_view ) );
if ( gtk_tree_model_get_iter_first ( GTK_TREE_MODEL ( model ), &iter ) )
@@ -1268,7 +1276,7 @@ gboolean bet_historical_set_full_sub_div ( GtkTreeModel *model, GtkTreeIter *par
if ( edited )
{
- tree_view = g_object_get_data ( G_OBJECT ( account_page ),
+ tree_view = g_object_get_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ),
"bet_historical_treeview" );
gtk_tree_view_collapse_row ( tree_view,
gtk_tree_model_get_path ( model, parent ) );
@@ -1426,11 +1434,11 @@ void bet_historical_row_collapse_all ( GtkTreeView *tree_view,
GtkTreeModel *model )
{
if ( tree_view == NULL )
- tree_view = g_object_get_data ( G_OBJECT ( account_page ), "bet_historical_treeview" );
+ tree_view = g_object_get_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ),
+ "bet_historical_treeview" );
gtk_tree_view_collapse_row ( tree_view,
- gtk_tree_model_get_path ( model, iter ) );
- gtk_tree_selection_select_iter ( gtk_tree_view_get_selection (
- tree_view ), iter );
+ gtk_tree_model_get_path ( model, iter ) );
+ gtk_tree_selection_select_iter ( gtk_tree_view_get_selection ( tree_view ), iter );
}
@@ -1618,6 +1626,7 @@ void bet_historical_add_average_amount ( GtkWidget *menu_item,
* */
gboolean bet_historical_initializes_account_settings ( gint account_number )
{
+ GtkWidget *account_page;
GtkWidget *button = NULL;
GtkWidget *combo = NULL;
GtkTreeViewColumn *column;
@@ -1626,6 +1635,8 @@ gboolean bet_historical_initializes_account_settings ( gint account_number )
gint origin;
gpointer pointeur;
+ account_page = gsb_gui_on_account_get_notebook ( );
+
/* set data origin */
origin = gsb_data_account_get_bet_hist_data ( account_number );
if ( origin )
@@ -1733,12 +1744,15 @@ gboolean bet_historical_set_background_color ( GtkWidget *tree_view )
* */
void bet_historical_g_signal_block_tree_view ( void )
{
+ GtkWidget *account_page;
GtkTreeView *tree_view;
gpointer cell;
GtkTreeModel *tree_model;
+ account_page = gsb_gui_on_account_get_notebook ( );
+
hist_block_signal = TRUE;
- tree_view = g_object_get_data ( G_OBJECT ( account_page ), "hist_tree_view" );
+ tree_view = g_object_get_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "hist_tree_view" );
tree_model = gtk_tree_view_get_model ( GTK_TREE_VIEW ( tree_view ) );
cell = g_object_get_data ( G_OBJECT ( account_page ), "toggle_cell" );
@@ -1757,6 +1771,7 @@ void bet_historical_g_signal_block_tree_view ( void )
* */
void bet_historical_g_signal_unblock_tree_view ( void )
{
+ GtkWidget *account_page;
GtkTreeView *tree_view;
gpointer cell;
GtkTreeModel *tree_model;
@@ -1764,6 +1779,8 @@ void bet_historical_g_signal_unblock_tree_view ( void )
if ( hist_block_signal == FALSE )
return;
+ account_page = gsb_gui_on_account_get_notebook ( );
+
hist_block_signal = FALSE;
tree_view = g_object_get_data ( G_OBJECT ( account_page ), "hist_tree_view" );
tree_model = gtk_tree_view_get_model ( GTK_TREE_VIEW ( tree_view ) );
@@ -1803,7 +1820,8 @@ void bet_historical_set_page_title ( gint account_number )
gsb_data_fyear_get_name ( result ),
gsb_data_account_get_name ( account_number ) );
- widget = GTK_WIDGET ( g_object_get_data ( G_OBJECT ( account_page ), "bet_hist_title") );
+ widget = GTK_WIDGET ( g_object_get_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ),
+ "bet_hist_title") );
gtk_label_set_label ( GTK_LABEL ( widget ), title );
g_free ( hist_srce_name );
@@ -1922,12 +1940,15 @@ GtkWidget *bet_historical_create_toolbar ( GtkWidget *parent,
{
GtkWidget *hbox;
GtkWidget *button;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* Hbox */
hbox = gtk_hbox_new ( FALSE, 0 );
/* print button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_PRINT,
_("Print"),
NULL,
@@ -1940,7 +1961,7 @@ GtkWidget *bet_historical_create_toolbar ( GtkWidget *parent,
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 5 );
/* Export button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_SAVE,
_("Export"),
NULL,
@@ -1953,7 +1974,7 @@ GtkWidget *bet_historical_create_toolbar ( GtkWidget *parent,
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 5 );
/* graph button */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("Data graph"),
"graph-sectors.png",
NULL,
@@ -2014,7 +2035,7 @@ void bet_historical_export_tab ( GtkWidget *menu_item,
gchar *filename;
dialog = gtk_file_chooser_dialog_new ( _("Export the historical data"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_OK,
diff --git a/src/bet_tab.c b/src/bet_tab.c
index c9ec8f2..f9a34e8 100644
--- a/src/bet_tab.c
+++ b/src/bet_tab.c
@@ -39,6 +39,7 @@
#include "dialog.h"
#include "export_csv.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_automem.h"
#include "gsb_calendar_entry.h"
#include "gsb_color.h"
@@ -355,6 +356,7 @@ static gboolean bet_array_update_average_column ( GtkTreeModel *model,
*/
void bet_array_refresh_estimate_tab ( gint account_number )
{
+ GtkWidget *account_page;
GtkWidget *widget;
GtkWidget *tree_view;
GtkTreeIter iter;
@@ -376,6 +378,7 @@ void bet_array_refresh_estimate_tab ( gint account_number )
gint currency_number;
devel_debug (NULL);
+ account_page = gsb_gui_on_account_get_notebook ( );
tmp_range = struct_initialise_bet_range ( );
@@ -516,8 +519,11 @@ GtkWidget *bet_array_create_page ( void )
GtkWidget *label_title;
GtkWidget *label;
GtkWidget *tree_view;
+ GtkWidget *account_page;
devel_debug (NULL);
+ account_page = gsb_gui_on_account_get_notebook ( );
+
page = gtk_vbox_new ( FALSE, 5 );
gtk_widget_set_name ( page, "forecast_page" );
@@ -553,7 +559,7 @@ GtkWidget *bet_array_create_page ( void )
g_object_set_data ( G_OBJECT ( account_page ), "bet_initial_date", initial_date );
gtk_box_pack_start ( GTK_BOX (hbox), initial_date, FALSE, FALSE, 0 );
- widget = gtk_check_button_new ( );
+ widget = gtk_check_button_new_with_label ( _("Automatic") );
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( widget ), FALSE );
gtk_widget_set_tooltip_text ( GTK_WIDGET ( widget ),
_("Check the box to automatically change start date") );
@@ -600,155 +606,155 @@ GtkWidget *bet_array_create_tree_view ( GtkWidget *container )
/* create the estimate treeview */
tree_view = gtk_tree_view_new ( );
gtk_tree_view_set_rules_hint ( GTK_TREE_VIEW ( tree_view ), FALSE );
- g_object_set_data ( G_OBJECT ( account_page ), "bet_estimate_treeview", tree_view );
- g_object_set_data ( G_OBJECT ( tree_view ), "origin_data_model",
- GINT_TO_POINTER ( SPP_ESTIMATE_TREE_ORIGIN_DATA ) );
- g_object_set_data ( G_OBJECT ( tree_view ), "color_data_model",
- GINT_TO_POINTER ( SPP_ESTIMATE_TREE_COLOR_STRING ) );
-
- /* set the color of selected row */
- utils_set_tree_view_selection_and_text_color ( tree_view );
-
- /* create the model */
- tree_model = gtk_tree_store_new ( SPP_ESTIMATE_TREE_NUM_COLUMNS,
- G_TYPE_BOOLEAN, /* SPP_ESTIMATE_TREE_SELECT_COLUMN */
- G_TYPE_INT, /* SPP_ESTIMATE_TREE_ORIGIN_DATA */
- G_TYPE_INT, /* SPP_ESTIMATE_TREE_DIVISION_COLUMN */
- G_TYPE_INT, /* SPP_ESTIMATE_TREE_SUB_DIV_COLUMN */
- G_TYPE_STRING, /* SPP_ESTIMATE_TREE_DATE_COLUMN */
- G_TYPE_STRING, /* SPP_ESTIMATE_TREE_DESC_COLUMN */
- G_TYPE_STRING, /* SPP_ESTIMATE_TREE_DEBIT_COLUMN */
- G_TYPE_STRING, /* SPP_ESTIMATE_TREE_CREDIT_COLUMN */
- G_TYPE_STRING, /* SPP_ESTIMATE_TREE_BALANCE_COLUMN */
- G_TYPE_DATE, /* SPP_ESTIMATE_TREE_SORT_DATE_COLUMN */
- G_TYPE_STRING, /* SPP_ESTIMATE_TREE_AMOUNT_COLUMN */
- G_TYPE_STRING, /* SPP_ESTIMATE_TREE_BALANCE_COLOR */
- GDK_TYPE_COLOR, /* SPP_ESTIMATE_TREE_BACKGROUND_COLOR */
- G_TYPE_STRING ); /* SPP_ESTIMATE_TREE_COLOR_STRING */
-
- gtk_tree_view_set_model ( GTK_TREE_VIEW ( tree_view ), GTK_TREE_MODEL ( tree_model ) );
- g_object_unref ( G_OBJECT ( tree_model ) );
-
- /* sort by date */
- sortable = gtk_tree_model_sort_new_with_model ( GTK_TREE_MODEL ( tree_model ) );
- gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( tree_model ),
- SPP_ESTIMATE_TREE_SORT_DATE_COLUMN,
- (GtkTreeIterCompareFunc) bet_array_date_sort_function,
- NULL,
- NULL );
- gtk_tree_sortable_set_sort_column_id ( GTK_TREE_SORTABLE ( tree_model ),
- SPP_ESTIMATE_TREE_SORT_DATE_COLUMN,
- GTK_SORT_DESCENDING );
-
- scrolled_window = gtk_scrolled_window_new ( NULL, NULL );
- gtk_widget_show ( scrolled_window );
- gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scrolled_window ),
- GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC );
- gtk_container_add ( GTK_CONTAINER ( scrolled_window ), tree_view );
- gtk_box_pack_start ( GTK_BOX ( container ), scrolled_window, TRUE, TRUE, 5 );
-
- /* create columns */
- i = 0;
- /* Date column */
- cell = gtk_cell_renderer_text_new ();
- g_object_set ( G_OBJECT ( GTK_CELL_RENDERER ( cell ) ), "xalign", 0.5, NULL );
-
- bet_array_tree_view_columns[i] = gtk_tree_view_column_new_with_attributes (
- _("Date"), cell,
- "text", SPP_ESTIMATE_TREE_DATE_COLUMN,
- "cell-background-gdk", SPP_ESTIMATE_TREE_BACKGROUND_COLOR,
- NULL);
-
- gtk_tree_view_column_set_alignment ( bet_array_tree_view_columns[i], 0.5 );
- gtk_tree_view_append_column( GTK_TREE_VIEW ( tree_view ), bet_array_tree_view_columns[i] );
- gtk_tree_view_column_set_sizing ( bet_array_tree_view_columns[i], GTK_TREE_VIEW_COLUMN_FIXED );
- gtk_tree_view_column_set_resizable ( bet_array_tree_view_columns[i], TRUE );
- g_object_set_data ( G_OBJECT ( bet_array_tree_view_columns[i] ), "num_col_model",
- GINT_TO_POINTER ( SPP_ESTIMATE_TREE_DATE_COLUMN ) );
-
- i++;
- /* Description column */
- cell = gtk_cell_renderer_text_new ();
-
- bet_array_tree_view_columns[i] = gtk_tree_view_column_new_with_attributes (
- _("Description"), cell,
- "text", SPP_ESTIMATE_TREE_DESC_COLUMN,
- "cell-background-gdk", SPP_ESTIMATE_TREE_BACKGROUND_COLOR,
- NULL);
-
- gtk_tree_view_append_column (GTK_TREE_VIEW ( tree_view ), bet_array_tree_view_columns[i] );
- gtk_tree_view_column_set_sizing ( bet_array_tree_view_columns[i], GTK_TREE_VIEW_COLUMN_FIXED );
- gtk_tree_view_column_set_resizable ( bet_array_tree_view_columns[i], TRUE );
- g_object_set_data ( G_OBJECT ( bet_array_tree_view_columns[i] ), "num_col_model",
- GINT_TO_POINTER ( SPP_ESTIMATE_TREE_DESC_COLUMN ) );
-
- i++;
- /* Debit column */
- cell = gtk_cell_renderer_text_new ();
- g_object_set ( G_OBJECT ( GTK_CELL_RENDERER ( cell ) ), "xalign", 1.0, NULL );
-
- bet_array_tree_view_columns[i] = gtk_tree_view_column_new_with_attributes (
- _("Debit"), cell,
- "text", SPP_ESTIMATE_TREE_DEBIT_COLUMN,
- "cell-background-gdk", SPP_ESTIMATE_TREE_BACKGROUND_COLOR,
- NULL);
-
- gtk_tree_view_column_set_alignment ( bet_array_tree_view_columns[i], 1 );
- gtk_tree_view_append_column (GTK_TREE_VIEW ( tree_view ), bet_array_tree_view_columns[i] );
- gtk_tree_view_column_set_sizing ( bet_array_tree_view_columns[i], GTK_TREE_VIEW_COLUMN_GROW_ONLY );
- gtk_tree_view_column_set_resizable ( bet_array_tree_view_columns[i], TRUE );
- g_object_set_data ( G_OBJECT ( bet_array_tree_view_columns[i] ), "num_col_model",
- GINT_TO_POINTER ( SPP_ESTIMATE_TREE_DEBIT_COLUMN ) );
-
- i++;
- /* Credit column */
- cell = gtk_cell_renderer_text_new ();
- g_object_set ( G_OBJECT ( GTK_CELL_RENDERER ( cell ) ), "xalign", 1.0, NULL );
-
- bet_array_tree_view_columns[i] = gtk_tree_view_column_new_with_attributes (
- _("Credit"), cell,
- "text", SPP_ESTIMATE_TREE_CREDIT_COLUMN,
- "cell-background-gdk", SPP_ESTIMATE_TREE_BACKGROUND_COLOR,
- NULL);
-
- gtk_tree_view_column_set_alignment ( bet_array_tree_view_columns[i], 1 );
- gtk_tree_view_append_column (GTK_TREE_VIEW ( tree_view ), bet_array_tree_view_columns[i] );
- gtk_tree_view_column_set_sizing ( bet_array_tree_view_columns[i], GTK_TREE_VIEW_COLUMN_GROW_ONLY );
- gtk_tree_view_column_set_resizable ( bet_array_tree_view_columns[i], TRUE );
- g_object_set_data ( G_OBJECT ( bet_array_tree_view_columns[i] ), "num_col_model",
- GINT_TO_POINTER ( SPP_ESTIMATE_TREE_CREDIT_COLUMN ) );
-
- i++;
- /* Balance column */
- cell = gtk_cell_renderer_text_new ();
- g_object_set ( G_OBJECT ( GTK_CELL_RENDERER ( cell ) ), "xalign", 1.0, NULL );
-
- bet_array_tree_view_columns[i] = gtk_tree_view_column_new_with_attributes (
- _("Balance"), cell,
- "text", SPP_ESTIMATE_TREE_BALANCE_COLUMN,
- "foreground", SPP_ESTIMATE_TREE_BALANCE_COLOR,
- "cell-background-gdk", SPP_ESTIMATE_TREE_BACKGROUND_COLOR,
- NULL);
-
- gtk_tree_view_column_set_alignment ( bet_array_tree_view_columns[i], 1 );
- gtk_tree_view_append_column (GTK_TREE_VIEW ( tree_view ), bet_array_tree_view_columns[i] );
- gtk_tree_view_column_set_sizing ( bet_array_tree_view_columns[i], GTK_TREE_VIEW_COLUMN_GROW_ONLY );
- gtk_tree_view_column_set_resizable ( bet_array_tree_view_columns[i], TRUE );
- g_object_set_data ( G_OBJECT ( bet_array_tree_view_columns[i] ), "num_col_model",
- GINT_TO_POINTER ( SPP_ESTIMATE_TREE_BALANCE_COLUMN ) );
-
- /* signals of tree_view */
- g_signal_connect ( G_OBJECT ( tree_view ),
- "button-press-event",
- G_CALLBACK ( bet_array_list_button_press ),
- NULL );
-
- g_signal_connect ( G_OBJECT ( tree_view ),
- "size_allocate",
- G_CALLBACK ( bet_array_list_size_allocate ),
- NULL );
-
- gtk_widget_show_all ( scrolled_window );
+ g_object_set_data ( G_OBJECT ( gsb_gui_on_account_get_notebook ( ) ), "bet_estimate_treeview", tree_view );
+ g_object_set_data ( G_OBJECT ( tree_view ), "origin_data_model",
+ GINT_TO_POINTER ( SPP_ESTIMATE_TREE_ORIGIN_DATA ) );
+ g_object_set_data ( G_OBJECT ( tree_view ), "color_data_model",
+ GINT_TO_POINTER ( SPP_ESTIMATE_TREE_COLOR_STRING ) );
+
+ /* set the color of selected row */
+ utils_set_tree_view_selection_and_text_color ( tree_view );
+
+ /* create the model */
+ tree_model = gtk_tree_store_new ( SPP_ESTIMATE_TREE_NUM_COLUMNS,
+ G_TYPE_BOOLEAN, /* SPP_ESTIMATE_TREE_SELECT_COLUMN */
+ G_TYPE_INT, /* SPP_ESTIMATE_TREE_ORIGIN_DATA */
+ G_TYPE_INT, /* SPP_ESTIMATE_TREE_DIVISION_COLUMN */
+ G_TYPE_INT, /* SPP_ESTIMATE_TREE_SUB_DIV_COLUMN */
+ G_TYPE_STRING, /* SPP_ESTIMATE_TREE_DATE_COLUMN */
+ G_TYPE_STRING, /* SPP_ESTIMATE_TREE_DESC_COLUMN */
+ G_TYPE_STRING, /* SPP_ESTIMATE_TREE_DEBIT_COLUMN */
+ G_TYPE_STRING, /* SPP_ESTIMATE_TREE_CREDIT_COLUMN */
+ G_TYPE_STRING, /* SPP_ESTIMATE_TREE_BALANCE_COLUMN */
+ G_TYPE_DATE, /* SPP_ESTIMATE_TREE_SORT_DATE_COLUMN */
+ G_TYPE_STRING, /* SPP_ESTIMATE_TREE_AMOUNT_COLUMN */
+ G_TYPE_STRING, /* SPP_ESTIMATE_TREE_BALANCE_COLOR */
+ GDK_TYPE_COLOR, /* SPP_ESTIMATE_TREE_BACKGROUND_COLOR */
+ G_TYPE_STRING ); /* SPP_ESTIMATE_TREE_COLOR_STRING */
+
+ gtk_tree_view_set_model ( GTK_TREE_VIEW ( tree_view ), GTK_TREE_MODEL ( tree_model ) );
+ g_object_unref ( G_OBJECT ( tree_model ) );
+
+ /* sort by date */
+ sortable = gtk_tree_model_sort_new_with_model ( GTK_TREE_MODEL ( tree_model ) );
+ gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( tree_model ),
+ SPP_ESTIMATE_TREE_SORT_DATE_COLUMN,
+ (GtkTreeIterCompareFunc) bet_array_date_sort_function,
+ NULL,
+ NULL );
+ gtk_tree_sortable_set_sort_column_id ( GTK_TREE_SORTABLE ( tree_model ),
+ SPP_ESTIMATE_TREE_SORT_DATE_COLUMN,
+ GTK_SORT_DESCENDING );
+
+ scrolled_window = gtk_scrolled_window_new ( NULL, NULL );
+ gtk_widget_show ( scrolled_window );
+ gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scrolled_window ),
+ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC );
+ gtk_container_add ( GTK_CONTAINER ( scrolled_window ), tree_view );
+ gtk_box_pack_start ( GTK_BOX ( container ), scrolled_window, TRUE, TRUE, 5 );
+
+ /* create columns */
+ i = 0;
+ /* Date column */
+ cell = gtk_cell_renderer_text_new ();
+ g_object_set ( G_OBJECT ( GTK_CELL_RENDERER ( cell ) ), "xalign", 0.5, NULL );
+
+ bet_array_tree_view_columns[i] = gtk_tree_view_column_new_with_attributes (
+ _("Date"), cell,
+ "text", SPP_ESTIMATE_TREE_DATE_COLUMN,
+ "cell-background-gdk", SPP_ESTIMATE_TREE_BACKGROUND_COLOR,
+ NULL );
+
+ gtk_tree_view_column_set_alignment ( bet_array_tree_view_columns[i], 0.5 );
+ gtk_tree_view_append_column( GTK_TREE_VIEW ( tree_view ), bet_array_tree_view_columns[i] );
+ gtk_tree_view_column_set_sizing ( bet_array_tree_view_columns[i], GTK_TREE_VIEW_COLUMN_FIXED );
+ gtk_tree_view_column_set_resizable ( bet_array_tree_view_columns[i], TRUE );
+ g_object_set_data ( G_OBJECT ( bet_array_tree_view_columns[i] ), "num_col_model",
+ GINT_TO_POINTER ( SPP_ESTIMATE_TREE_DATE_COLUMN ) );
+
+ i++;
+ /* Description column */
+ cell = gtk_cell_renderer_text_new ();
+
+ bet_array_tree_view_columns[i] = gtk_tree_view_column_new_with_attributes (
+ _("Description"), cell,
+ "text", SPP_ESTIMATE_TREE_DESC_COLUMN,
+ "cell-background-gdk", SPP_ESTIMATE_TREE_BACKGROUND_COLOR,
+ NULL );
+
+ gtk_tree_view_append_column (GTK_TREE_VIEW ( tree_view ), bet_array_tree_view_columns[i] );
+ gtk_tree_view_column_set_sizing ( bet_array_tree_view_columns[i], GTK_TREE_VIEW_COLUMN_FIXED );
+ gtk_tree_view_column_set_resizable ( bet_array_tree_view_columns[i], TRUE );
+ g_object_set_data ( G_OBJECT ( bet_array_tree_view_columns[i] ), "num_col_model",
+ GINT_TO_POINTER ( SPP_ESTIMATE_TREE_DESC_COLUMN ) );
+
+ i++;
+ /* Debit column */
+ cell = gtk_cell_renderer_text_new ();
+ g_object_set ( G_OBJECT ( GTK_CELL_RENDERER ( cell ) ), "xalign", 1.0, NULL );
+
+ bet_array_tree_view_columns[i] = gtk_tree_view_column_new_with_attributes (
+ _("Debit"), cell,
+ "text", SPP_ESTIMATE_TREE_DEBIT_COLUMN,
+ "cell-background-gdk", SPP_ESTIMATE_TREE_BACKGROUND_COLOR,
+ NULL );
+
+ gtk_tree_view_column_set_alignment ( bet_array_tree_view_columns[i], 1 );
+ gtk_tree_view_append_column (GTK_TREE_VIEW ( tree_view ), bet_array_tree_view_columns[i] );
+ gtk_tree_view_column_set_sizing ( bet_array_tree_view_columns[i], GTK_TREE_VIEW_COLUMN_GROW_ONLY );
+ gtk_tree_view_column_set_resizable ( bet_array_tree_view_columns[i], TRUE );
+ g_object_set_data ( G_OBJECT ( bet_array_tree_view_columns[i] ), "num_col_model",
+ GINT_TO_POINTER ( SPP_ESTIMATE_TREE_DEBIT_COLUMN ) );
+
+ i++;
+ /* Credit column */
+ cell = gtk_cell_renderer_text_new ();
+ g_object_set ( G_OBJECT ( GTK_CELL_RENDERER ( cell ) ), "xalign", 1.0, NULL );
+
+ bet_array_tree_view_columns[i] = gtk_tree_view_column_new_with_attributes (
+ _("Credit"), cell,
+ "text", SPP_ESTIMATE_TREE_CREDIT_COLUMN,
+ "cell-background-gdk", SPP_ESTIMATE_TREE_BACKGROUND_COLOR,
+ NULL );
+
+ gtk_tree_view_column_set_alignment ( bet_array_tree_view_columns[i], 1 );
+ gtk_tree_view_append_column (GTK_TREE_VIEW ( tree_view ), bet_array_tree_view_columns[i] );
+ gtk_tree_view_column_set_sizing ( bet_array_tree_view_columns[i], GTK_TREE_VIEW_COLUMN_GROW_ONLY );
+ gtk_tree_view_column_set_resizable ( bet_array_tree_view_columns[i], TRUE );
+ g_object_set_data ( G_OBJECT ( bet_array_tree_view_columns[i] ), "num_col_model",
+ GINT_TO_POINTER ( SPP_ESTIMATE_TREE_CREDIT_COLUMN ) );
+
+ i++;
+ /* Balance column */
+ cell = gtk_cell_renderer_text_new ();
+ g_object_set ( G_OBJECT ( GTK_CELL_RENDERER ( cell ) ), "xalign", 1.0, NULL );
+
+ bet_array_tree_view_columns[i] = gtk_tree_view_column_new_with_attributes (
+ _("Balance"), cell,
+ "text", SPP_ESTIMATE_TREE_BALANCE_COLUMN,
+ "foreground", SPP_ESTIMATE_TREE_BALANCE_COLOR,
+ "cell-background-gdk", SPP_ESTIMATE_TREE_BACKGROUND_COLOR,
+ NULL );
+
+ gtk_tree_view_column_set_alignment ( bet_array_tree_view_columns[i], 1 );
+ gtk_tree_view_append_column (GTK_TREE_VIEW ( tree_view ), bet_array_tree_view_columns[i] );
+ gtk_tree_view_column_set_sizing ( bet_array_tree_view_columns[i], GTK_TREE_VIEW_COLUMN_GROW_ONLY );
+ gtk_tree_view_column_set_resizable ( bet_array_tree_view_columns[i], TRUE );
+ g_object_set_data ( G_OBJECT ( bet_array_tree_view_columns[i] ), "num_col_model",
+ GINT_TO_POINTER ( SPP_ESTIMATE_TREE_BALANCE_COLUMN ) );
+
+ /* signals of tree_view */
+ g_signal_connect ( G_OBJECT ( tree_view ),
+ "button-press-event",
+ G_CALLBACK ( bet_array_list_button_press ),
+ NULL );
+
+ g_signal_connect ( G_OBJECT ( tree_view ),
+ "size_allocate",
+ G_CALLBACK ( bet_array_list_size_allocate ),
+ NULL );
+
+ gtk_widget_show_all ( scrolled_window );
return tree_view;
}
@@ -1303,8 +1309,8 @@ gboolean bet_array_refresh_futur_data ( GtkTreeModel *tab_model,
gboolean bet_array_list_button_press ( GtkWidget *tree_view,
GdkEventButton *ev )
{
- /* show the popup */
- if ( ev -> button == RIGHT_BUTTON )
+ /* show the popup */
+ if ( ev -> button == RIGHT_BUTTON )
{
GtkTreePath *path = NULL;
@@ -1401,13 +1407,12 @@ void bet_array_list_context_menu ( GtkWidget *tree_view,
switch ( origine )
{
case SPP_ORIGIN_TRANSACTION:
- case SPP_ORIGIN_SCHEDULED:
if ( g_date_compare ( date, date_jour ) > 0 )
{
menu_item = gtk_image_menu_item_new_with_label ( _("Delete selection") );
gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
gtk_image_new_from_stock ( GTK_STOCK_DELETE,
- GTK_ICON_SIZE_MENU ) );
+ GTK_ICON_SIZE_MENU ) );
g_signal_connect ( G_OBJECT ( menu_item ),
"activate",
G_CALLBACK ( bet_array_list_delete_menu ),
@@ -1415,11 +1420,13 @@ void bet_array_list_context_menu ( GtkWidget *tree_view,
gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
}
break;
+ case SPP_ORIGIN_SCHEDULED:
+ break;
case SPP_ORIGIN_HISTORICAL:
menu_item = gtk_image_menu_item_new_with_label ( _("Delete selection") );
gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
gtk_image_new_from_stock ( GTK_STOCK_DELETE,
- GTK_ICON_SIZE_MENU ) );
+ GTK_ICON_SIZE_MENU ) );
g_signal_connect ( G_OBJECT ( menu_item ),
"activate",
G_CALLBACK ( bet_array_list_delete_menu ),
@@ -1430,7 +1437,7 @@ void bet_array_list_context_menu ( GtkWidget *tree_view,
menu_item = gtk_image_menu_item_new_with_label ( _("Change selection") );
gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
gtk_image_new_from_stock ( GTK_STOCK_EDIT,
- GTK_ICON_SIZE_MENU ) );
+ GTK_ICON_SIZE_MENU ) );
g_signal_connect ( G_OBJECT ( menu_item ),
"activate",
G_CALLBACK ( bet_array_list_change_menu ),
@@ -1440,7 +1447,7 @@ void bet_array_list_context_menu ( GtkWidget *tree_view,
menu_item = gtk_image_menu_item_new_with_label ( _("Delete selection") );
gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
gtk_image_new_from_stock ( GTK_STOCK_DELETE,
- GTK_ICON_SIZE_MENU ) );
+ GTK_ICON_SIZE_MENU ) );
g_signal_connect ( G_OBJECT ( menu_item ),
"activate",
G_CALLBACK ( bet_array_list_delete_menu ),
@@ -1451,7 +1458,7 @@ void bet_array_list_context_menu ( GtkWidget *tree_view,
_("Delete all occurences of the selection") );
gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
gtk_image_new_from_stock ( GTK_STOCK_DELETE,
- GTK_ICON_SIZE_MENU ) );
+ GTK_ICON_SIZE_MENU ) );
g_signal_connect ( G_OBJECT ( menu_item ),
"activate",
G_CALLBACK ( bet_array_list_delete_all_menu ),
@@ -1499,7 +1506,7 @@ void bet_array_list_context_menu ( GtkWidget *tree_view,
menu_item = gtk_image_menu_item_new_with_label ( _("Delete selection") );
gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
gtk_image_new_from_stock ( GTK_STOCK_DELETE,
- GTK_ICON_SIZE_MENU ) );
+ GTK_ICON_SIZE_MENU ) );
g_signal_connect ( G_OBJECT ( menu_item ),
"activate",
G_CALLBACK ( bet_array_list_delete_menu ),
@@ -1515,7 +1522,7 @@ void bet_array_list_context_menu ( GtkWidget *tree_view,
menu_item = gtk_image_menu_item_new_with_label ( _("Reset data") );
gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
gtk_image_new_from_stock ( GTK_STOCK_REFRESH,
- GTK_ICON_SIZE_MENU ) );
+ GTK_ICON_SIZE_MENU ) );
g_signal_connect ( G_OBJECT ( menu_item ),
"activate",
G_CALLBACK ( bet_array_list_redo_menu ),
@@ -1601,7 +1608,7 @@ void bet_array_list_change_menu ( GtkWidget *menu_item,
if ( origine == SPP_ORIGIN_TRANSACTION )
{
- gtk_notebook_set_current_page ( GTK_NOTEBOOK ( account_page ), 0 );
+ gtk_notebook_set_current_page ( GTK_NOTEBOOK ( gsb_gui_on_account_get_notebook ( ) ), 0 );
transaction_list_select ( number );
gsb_transactions_list_edit_transaction ( number );
}
@@ -2051,7 +2058,7 @@ gboolean bet_array_list_set_background_color ( GtkWidget *tree_view )
gboolean absent = TRUE;
if ( !tree_view )
- return FALSE;
+ return FALSE;
model = gtk_tree_view_get_model ( GTK_TREE_VIEW ( tree_view ) );
@@ -2060,13 +2067,14 @@ gboolean bet_array_list_set_background_color ( GtkWidget *tree_view )
GtkTreeIter *prev = NULL;
gint origine;
gint current_color = 0;
+ GrisbiAppConf *conf;
do
{
gtk_tree_model_get ( GTK_TREE_MODEL ( model ),
- &iter,
- SPP_ESTIMATE_TREE_ORIGIN_DATA, &origine,
- -1 );
+ &iter,
+ SPP_ESTIMATE_TREE_ORIGIN_DATA, &origine,
+ -1 );
switch ( origine )
{
@@ -2111,7 +2119,9 @@ gboolean bet_array_list_set_background_color ( GtkWidget *tree_view )
}
/* gestion de la date du jour */
- if ( conf.show_transaction_gives_balance && absent )
+
+ conf = grisbi_app_get_conf ( );
+ if ( conf->show_transaction_gives_balance && absent )
{
GValue date_value = {0,};
GDate* date;
@@ -2155,6 +2165,7 @@ gboolean bet_array_list_set_background_color ( GtkWidget *tree_view )
* */
gboolean bet_array_initializes_account_settings ( gint account_number )
{
+ GtkWidget *account_page;
GtkWidget *widget = NULL;
GtkWidget *button = NULL;
GtkWidget *toggled = NULL;
@@ -2162,6 +2173,8 @@ gboolean bet_array_initializes_account_settings ( gint account_number )
gint param;
gint months;
+ account_page = gsb_gui_on_account_get_notebook ( );
+
/* devel_debug_int ( account_number ); */
button = g_object_get_data ( G_OBJECT ( account_page ), "bet_account_spin_button" );
@@ -2873,12 +2886,15 @@ GtkWidget *bet_array_list_create_toolbar ( GtkWidget *parent, GtkWidget *tree_vi
{
GtkWidget *hbox;
GtkWidget *button;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* Hbox */
hbox = gtk_hbox_new ( FALSE, 0 );
/* print button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_PRINT,
_("Print"),
NULL,
@@ -2891,7 +2907,7 @@ GtkWidget *bet_array_list_create_toolbar ( GtkWidget *parent, GtkWidget *tree_vi
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 5 );
/* Export button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_SAVE,
_("Export"),
NULL,
@@ -2904,7 +2920,7 @@ GtkWidget *bet_array_list_create_toolbar ( GtkWidget *parent, GtkWidget *tree_vi
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 5 );
/* graph button */
- button = bet_graph_button_menu_new ( etat.display_toolbar,
+ button = bet_graph_button_menu_new ( conf->display_toolbar,
"forecast_graph",
G_CALLBACK ( bet_graph_line_graph_new ),
tree_view );
@@ -2994,7 +3010,7 @@ void bet_array_export_tab ( GtkWidget *menu_item, GtkTreeView *tree_view )
gchar *filename;
dialog = gtk_file_chooser_dialog_new ( _("Export the array of forecast"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_OK,
diff --git a/src/categories_onglet.c b/src/categories_onglet.c
index e4bb225..8da6a90 100644
--- a/src/categories_onglet.c
+++ b/src/categories_onglet.c
@@ -32,6 +32,7 @@
#include "categories_onglet.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_autofunc.h"
#include "gsb_automem.h"
#include "gsb_data_category.h"
@@ -49,6 +50,7 @@
#include "utils.h"
#include "utils_buttons.h"
#include "utils_file_selection.h"
+#include "utils_gtkbuilder.h"
#include "utils_str.h"
#include "erreur.h"
/*END_INCLUDE*/
@@ -100,7 +102,7 @@ GtkWidget *categories_create_list ( void )
GtkTreeDragDestIface * dst_iface;
GtkTreeDragSourceIface * src_iface;
static GtkTargetEntry row_targets[] = {
- { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, 0 }
+ { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, 0 }
};
MetatreeInterface *category_interface;
@@ -388,7 +390,7 @@ void categories_exporter_list ( void )
gchar *nom_categ;
dialog = gtk_file_chooser_dialog_new ( _("Export categories"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_OK,
@@ -429,7 +431,7 @@ void categories_importer_list ( void )
GtkFileFilter * filter;
dialog = gtk_file_chooser_dialog_new ( _("Import categories"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OPEN, GTK_RESPONSE_OK,
@@ -495,17 +497,16 @@ void categories_importer_list ( void )
if ( !last_transaction_number )
gsb_data_category_init_variables ();
- case 1 :
- if ( !gsb_file_others_load_category ( category_name ))
- {
- return;
- }
- break;
-
+ case 1 :
+ if ( !gsb_file_others_load_category ( category_name ))
+ {
+ return;
+ }
+ break;
default :
return;
- break;
+ break;
}
}
@@ -521,11 +522,15 @@ void categories_importer_list ( void )
GtkWidget *creation_barre_outils_categ ( void )
{
GtkWidget *hbox, *button;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
/* hbox */
hbox = gtk_hbox_new ( FALSE, 0 );
/* New category button */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("New\ncategory"),
"new-categ.png",
G_CALLBACK ( appui_sur_ajout_category ),
@@ -536,7 +541,7 @@ GtkWidget *creation_barre_outils_categ ( void )
g_object_set_data ( G_OBJECT ( button ), "type", GINT_TO_POINTER (1) );
/* New sub category button */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("New sub\ncategory"),
"new-sub-categ.png",
G_CALLBACK (appui_sur_ajout_category),
@@ -549,7 +554,7 @@ GtkWidget *creation_barre_outils_categ ( void )
g_object_set_data ( G_OBJECT ( button ), "type", GINT_TO_POINTER (2) );
/* Import button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_OPEN,
_("Import"),
G_CALLBACK ( categories_importer_list ),
@@ -559,7 +564,7 @@ GtkWidget *creation_barre_outils_categ ( void )
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
/* Export button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_SAVE,
_("Export"),
G_CALLBACK ( categories_exporter_list ),
@@ -569,7 +574,7 @@ GtkWidget *creation_barre_outils_categ ( void )
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
/* Delete button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_DELETE, _("Delete"),
G_CALLBACK ( supprimer_division ), arbre_categ );
metatree_register_widget_as_linked ( GTK_TREE_MODEL ( categ_tree_model ), button, "selection" );
@@ -578,7 +583,7 @@ GtkWidget *creation_barre_outils_categ ( void )
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
/* Properties button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_EDIT, _("Edit"),
G_CALLBACK ( edit_category ), arbre_categ );
metatree_register_widget_as_linked ( GTK_TREE_MODEL ( categ_tree_model ), button, "selection" );
@@ -587,7 +592,7 @@ GtkWidget *creation_barre_outils_categ ( void )
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
/* View button */
- button = gsb_automem_stock_button_menu_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_menu_new ( conf->display_toolbar,
GTK_STOCK_SELECT_COLOR,
_("View"),
G_CALLBACK ( popup_category_view_mode_menu ),
@@ -654,15 +659,17 @@ gboolean popup_category_view_mode_menu ( GtkWidget *button )
gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
menu_item = gtk_image_menu_item_new_with_label ( _("Complete view") );
- g_signal_connect ( G_OBJECT(menu_item), "activate",
- G_CALLBACK(expand_arbre_division), (gpointer) 2 );
+ g_signal_connect ( G_OBJECT(menu_item),
+ "activate",
+ G_CALLBACK(expand_arbre_division),
+ (gpointer) 2 );
g_object_set_data ( G_OBJECT(menu_item), "tree-view", arbre_categ );
gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
gtk_widget_show_all ( menu );
gtk_menu_popup ( GTK_MENU(menu), NULL, button, set_popup_position, button, 1,
- gtk_get_current_event_time());
+ gtk_get_current_event_time());
return FALSE;
}
@@ -691,134 +698,137 @@ gboolean edit_category ( GtkTreeView *tree_view )
selection = gtk_tree_view_get_selection ( tree_view );
if ( selection && gtk_tree_selection_get_selected ( selection, &model, &iter ) )
{
- gtk_tree_model_get ( model, &iter,
- META_TREE_NO_DIV_COLUMN, &category_number,
- META_TREE_NO_SUB_DIV_COLUMN, &sub_category_number,
- -1 );
+ gtk_tree_model_get ( model, &iter,
+ META_TREE_NO_DIV_COLUMN, &category_number,
+ META_TREE_NO_SUB_DIV_COLUMN, &sub_category_number,
+ -1 );
}
if ( !selection || category_number <= 0 )
- return FALSE;
+ return FALSE;
if ( sub_category_number > 0 )
- title = g_strdup_printf ( _("Properties for %s"), gsb_data_category_get_sub_category_name ( category_number,
- sub_category_number,
- _("No sub-category defined" )));
+ title = g_strdup_printf ( _("Properties for %s"),
+ gsb_data_category_get_sub_category_name ( category_number,
+ sub_category_number,
+ _("No sub-category defined" )));
else
- title = g_strdup_printf ( _("Properties for %s"), gsb_data_category_get_name ( category_number,
- 0,
- _("No category defined") ));
+ title = g_strdup_printf ( _("Properties for %s"),
+ gsb_data_category_get_name ( category_number,
+ 0,
+ _("No category defined") ));
/* New GtkBuilder Creation*/
widget_builder = gtk_builder_new ( );
if ( widget_builder == NULL )
- return NULL;
-
+ return FALSE;
if ( sub_category_number > 0 )
{
- /* widget paddingbox XML loading */
- if ( !utils_gtkbuilder_merge_ui_data_in_builder ( widget_builder, "dlg_edit_without_radio.ui" ) )
- return NULL;
+ /* widget paddingbox XML loading */
+ if ( !utils_gtkbuilder_merge_ui_data_in_builder ( widget_builder, "dlg_edit_without_radio.ui" ) )
+ return FALSE;
- entry = GTK_WIDGET (gtk_builder_get_object ( widget_builder, "entry" ));
+ entry = GTK_WIDGET ( gtk_builder_get_object ( widget_builder, "entry" ) );
- gtk_entry_set_text ( GTK_ENTRY ( entry ),
- gsb_data_category_get_sub_category_name ( category_number,
- sub_category_number,
- NULL ) );
+ gtk_entry_set_text ( GTK_ENTRY ( entry ),
+ gsb_data_category_get_sub_category_name ( category_number,
+ sub_category_number,
+ NULL ) );
}
else
{
- /* widget paddingbox XML loading */
- if ( !utils_gtkbuilder_merge_ui_data_in_builder ( widget_builder, "dlg_edit_with_radio.ui" ) )
- return NULL;
-
- entry = GTK_WIDGET (gtk_builder_get_object ( widget_builder, "entry" ));
-
- gtk_entry_set_text ( GTK_ENTRY ( entry ),
- gsb_data_category_get_name ( category_number, 0, NULL ) );
+ /* widget paddingbox XML loading */
+ if ( !utils_gtkbuilder_merge_ui_data_in_builder ( widget_builder, "dlg_edit_with_radio.ui" ) )
+ return FALSE;
- if (gsb_data_category_get_type (category_number))
- gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( gtk_builder_get_object ( widget_builder, "Debit_radiobutton" ) ), TRUE );
- else
- gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( gtk_builder_get_object ( widget_builder, "Credit_radiobutton" ) ), TRUE );
+ entry = GTK_WIDGET ( gtk_builder_get_object ( widget_builder, "entry" ) );
- g_object_set_data (G_OBJECT (gtk_builder_get_object ( widget_builder, "Debit_radiobutton" )),
- "number_for_func", GINT_TO_POINTER (category_number));
+ gtk_entry_set_text ( GTK_ENTRY ( entry ),
+ gsb_data_category_get_name ( category_number, 0, NULL ) );
- g_signal_connect ( G_OBJECT (gtk_builder_get_object ( widget_builder, "Debit_radiobutton" )), "toggled",
- G_CALLBACK (gsb_autofunc_checkbutton_changed), G_CALLBACK (gsb_data_category_set_type));
- }
+ if ( gsb_data_category_get_type ( category_number ) )
+ gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (
+ gtk_builder_get_object ( widget_builder, "Debit_radiobutton" ) ), TRUE );
+ else
+ gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (
+ gtk_builder_get_object ( widget_builder, "Credit_radiobutton" ) ), TRUE );
- /* Get the needed widgets*/
- dialog = GTK_WIDGET (gtk_builder_get_object ( widget_builder, "dialog_edit_category" ));
- label = GTK_WIDGET (gtk_builder_get_object ( widget_builder, "label" ));
+ g_object_set_data ( G_OBJECT ( gtk_builder_get_object ( widget_builder, "Debit_radiobutton" ) ),
+ "number_for_func", GINT_TO_POINTER ( category_number ) );
+ g_signal_connect ( gtk_builder_get_object ( widget_builder, "Debit_radiobutton" ),
+ "toggled",
+ G_CALLBACK ( gsb_autofunc_checkbutton_changed ),
+ G_CALLBACK ( gsb_data_category_set_type ) );
+ }
+ /* Get the needed widgets */
+ dialog = GTK_WIDGET ( gtk_builder_get_object ( widget_builder, "dialog_edit_category" ) );
+ label = GTK_WIDGET ( gtk_builder_get_object ( widget_builder, "label" ) );
- //Set Title
- gtk_label_set_label(GTK_LABEL(label),title);
+ /* Set Title */
+ gtk_label_set_label ( GTK_LABEL ( label ),title );
g_free ( title );
gtk_widget_show_all ( dialog );
while ( 1 )
{
- if ( gtk_dialog_run ( GTK_DIALOG(dialog) ) != GTK_RESPONSE_OK )
- {
- sortie_edit_category = TRUE;
- gtk_widget_destroy ( GTK_WIDGET ( dialog ) );
- return FALSE;
- }
+ if ( gtk_dialog_run ( GTK_DIALOG ( dialog ) ) != GTK_RESPONSE_OK )
+ {
+ sortie_edit_category = TRUE;
+ gtk_widget_destroy ( GTK_WIDGET ( dialog ) );
+ return FALSE;
+ }
- if ( ( sub_category_number > 0 &&
- gsb_data_category_get_sub_category_number_by_name ( category_number,
- gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
- FALSE ) &&
- gsb_data_category_get_sub_category_number_by_name ( category_number,
- gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
- FALSE ) != sub_category_number ) ||
- ( sub_category_number <= 0 &&
- gsb_data_category_get_number_by_name ( gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
- FALSE, 0 ) &&
- gsb_data_category_get_number_by_name ( gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
- FALSE, 0 ) != category_number ) )
- {
- gchar * message;
- if ( sub_category_number > 0 )
- {
- message = g_strdup_printf ( _("You tried to rename current sub-category to '%s' "
- "but this sub-category already exists. Please "
- "choose another name."),
- gtk_entry_get_text ( GTK_ENTRY ( entry ) ) );
- }
- else
- {
- message = g_strdup_printf ( _("You tried to rename current category to '%s' "
- "but this category already exists. Please "
- "choose another name."),
- gtk_entry_get_text ( GTK_ENTRY ( entry ) ) );
- }
- dialogue_warning_hint ( message, _("Category already exists") );
- g_free ( message );
- }
- else
- {
- if ( sub_category_number > 0 )
- {
- gsb_data_category_set_sub_category_name ( category_number,
- sub_category_number,
- gtk_entry_get_text ( GTK_ENTRY (entry)));
- }
- else
- {
- gsb_data_category_set_name ( category_number,
- gtk_entry_get_text ( GTK_ENTRY (entry)));
- }
- break;
- }
+ if ( ( sub_category_number > 0 &&
+ gsb_data_category_get_sub_category_number_by_name ( category_number,
+ gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
+ FALSE ) &&
+ gsb_data_category_get_sub_category_number_by_name ( category_number,
+ gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
+ FALSE ) != sub_category_number ) ||
+ ( sub_category_number <= 0 &&
+ gsb_data_category_get_number_by_name ( gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
+ FALSE, 0 ) &&
+ gsb_data_category_get_number_by_name ( gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
+ FALSE, 0 ) != category_number ) )
+ {
+ gchar * message;
+ if ( sub_category_number > 0 )
+ {
+ message = g_strdup_printf ( _("You tried to rename current sub-category to '%s' "
+ "but this sub-category already exists. Please "
+ "choose another name."),
+ gtk_entry_get_text ( GTK_ENTRY ( entry ) ) );
+ }
+ else
+ {
+ message = g_strdup_printf ( _("You tried to rename current category to '%s' "
+ "but this category already exists. Please "
+ "choose another name."),
+ gtk_entry_get_text ( GTK_ENTRY ( entry ) ) );
+ }
+ dialogue_warning_hint ( message, _("Category already exists") );
+ g_free ( message );
+ }
+ else
+ {
+ if ( sub_category_number > 0 )
+ {
+ gsb_data_category_set_sub_category_name ( category_number,
+ sub_category_number,
+ gtk_entry_get_text ( GTK_ENTRY (entry)));
+ }
+ else
+ {
+ gsb_data_category_set_name ( category_number,
+ gtk_entry_get_text ( GTK_ENTRY (entry)));
+ }
+ break;
+ }
}
gtk_widget_destroy ( dialog );
@@ -827,18 +837,18 @@ gboolean edit_category ( GtkTreeView *tree_view )
if ( sub_category_number > 0 )
{
- div_iter = get_iter_from_div ( model, category_number, sub_category_number );
- fill_sub_division_row ( model, category_interface,
- div_iter,
- category_number,
- sub_category_number);
+ div_iter = get_iter_from_div ( model, category_number, sub_category_number );
+ fill_sub_division_row ( model, category_interface,
+ div_iter,
+ category_number,
+ sub_category_number);
}
else
{
- div_iter = get_iter_from_div ( model, category_number, 0 );
- fill_division_row ( model, category_interface,
- div_iter,
- category_number );
+ div_iter = get_iter_from_div ( model, category_number, 0 );
+ fill_division_row ( model, category_interface,
+ div_iter,
+ category_number );
}
gtk_tree_iter_free (div_iter);
@@ -995,6 +1005,9 @@ gboolean category_list_button_press ( GtkWidget *tree_view,
GtkTreeIter iter;
GtkTreePath *path = NULL;
enum meta_tree_row_type type_division;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
type_division = metatree_get_row_type_from_tree_view ( tree_view );
if ( type_division == META_TREE_TRANSACTION )
@@ -1004,7 +1017,7 @@ gboolean category_list_button_press ( GtkWidget *tree_view,
if ( selection && gtk_tree_selection_get_selected (selection, &model, &iter ) )
path = gtk_tree_model_get_path ( model, &iter);
- if ( conf.metatree_action_2button_press == 0 || type_division == META_TREE_DIV )
+ if ( conf->metatree_action_2button_press == 0 || type_division == META_TREE_DIV )
{
if ( gtk_tree_view_row_expanded ( GTK_TREE_VIEW ( tree_view ), path ) )
gtk_tree_view_collapse_row ( GTK_TREE_VIEW ( tree_view ), path );
@@ -1014,7 +1027,7 @@ gboolean category_list_button_press ( GtkWidget *tree_view,
gtk_tree_path_free ( path );
return FALSE;
}
- else if ( conf.metatree_action_2button_press == 1 )
+ else if ( conf->metatree_action_2button_press == 1 )
{
edit_category ( GTK_TREE_VIEW ( tree_view ) );
diff --git a/src/dialog.c b/src/dialog.c
index 1a866c0..8f0e8d4 100644
--- a/src/dialog.c
+++ b/src/dialog.c
@@ -30,6 +30,7 @@
/*START_INCLUDE*/
#include "dialog.h"
+#include "grisbi_app.h"
#include "parametres.h"
#include "structures.h"
/*END_INCLUDE*/
@@ -203,7 +204,7 @@ void dialogue_special ( GtkMessageType param, gchar *text )
{
GtkWidget *dialog;
- dialog = gtk_message_dialog_new ( GTK_WINDOW ( run.window ),
+ dialog = gtk_message_dialog_new ( GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_DESTROY_WITH_PARENT,
param, GTK_BUTTONS_CLOSE,
NULL );
@@ -229,9 +230,9 @@ GtkWidget *dialogue_special_no_run ( GtkMessageType param,
{
GtkWidget *dialog;
- if ( GTK_IS_WINDOW ( run.window ) )
+ if ( GTK_IS_WINDOW ( grisbi_app_get_active_window ( NULL ) ) )
{
- dialog = gtk_message_dialog_new ( GTK_WINDOW ( run.window ),
+ dialog = gtk_message_dialog_new ( GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_DESTROY_WITH_PARENT || GTK_DIALOG_MODAL,
param, buttons,
NULL );
@@ -323,7 +324,7 @@ GtkDialog *dialogue_conditional_new ( gchar *text,
}
}
- dialog = gtk_message_dialog_new ( GTK_WINDOW ( run.window ),
+ dialog = gtk_message_dialog_new ( GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_DESTROY_WITH_PARENT,
type, buttons,
NULL );
@@ -436,7 +437,7 @@ gboolean question_yes_no ( gchar *text, gint default_answer )
GtkWidget *dialog;
gint response;
- dialog = gtk_message_dialog_new ( GTK_WINDOW ( run.window ),
+ dialog = gtk_message_dialog_new ( GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_YES_NO,
@@ -520,7 +521,7 @@ gboolean question_conditional_yes_no_with_struct ( struct conditional_message *m
return message -> default_answer;
text = make_hint ( _(message -> hint), message -> message );
- dialog = gtk_message_dialog_new ( GTK_WINDOW ( run.window ),
+ dialog = gtk_message_dialog_new ( GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_YES_NO,
@@ -734,7 +735,7 @@ const gchar *dialogue_hint_with_entry ( gchar *text, gchar *hint, gchar *entry_d
format_text = make_hint ( hint, text );
- dialog = gtk_message_dialog_new ( GTK_WINDOW ( run.window ),
+ dialog = gtk_message_dialog_new ( GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
diff --git a/src/erreur.c b/src/erreur.c
index 366d870..9fcf992 100644
--- a/src/erreur.c
+++ b/src/erreur.c
@@ -35,6 +35,8 @@
/*START_INCLUDE*/
#include "erreur.h"
#include "dialog.h"
+#include "grisbi_app.h"
+#include "grisbi_window.h"
#include "gsb_dirs.h"
#include "gsb_file.h"
#include "gsb_file_save.h"
@@ -86,13 +88,59 @@ void traitement_sigsegv ( gint signal_nb )
#ifdef HAVE_BACKTRACE
GtkWidget * expander;
#endif
+ GrisbiAppConf *conf;
- /* il y a 3 possibilités : */
- /* soit on était en train de charger un fichier, c'est que celui-ci est corrompu */
- /* soit on était en train de sauver un fichier, et là on peut rien faire */
- /* sinon on essaie de sauver le fichier sous le nom entouré de # */
+ conf = grisbi_app_get_conf ( );
- if ( run.is_loading || run.is_saving || !gsb_file_get_modified ( ) )
+ /* il y a 4 possibilités :
+ * - Demande de fermeture de la part du système
+ * - Chargement d'un fichier -> celui-ci est corrompu
+ * - Sauvegarde d'un fichier -> on peut rien faire
+ * - Erreur de mémoire -> tentative de sauver le fichier sous le nom entouré de #
+ */
+ if ( ( signal_nb == SIGINT || signal_nb == SIGTERM ) && gsb_file_get_modified ( ) )
+ {
+ gint res;
+
+ gsb_file_default_dir = gsb_dirs_get_home_dir ( );
+
+ if ( nom_fichier_comptes )
+ /* set # around the filename */
+ nom_fichier_comptes = g_path_get_basename ( nom_fichier_comptes );
+ else
+ /* no name for the file, create it */
+ nom_fichier_comptes = g_build_filename ( gsb_file_default_dir, "#grisbi_save_no_name.gsb#", NULL );
+
+ old_errmsg = g_strdup ( _("Request for forced shutdown of Grisbi \n") );
+ errmsg = g_markup_printf_escaped ( _("The file \"%s has been modified. Do you want to save it?\n"),
+ nom_fichier_comptes );
+
+ dialog = gtk_message_dialog_new ( GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_YES_NO,
+ old_errmsg );
+ gtk_dialog_set_default_response ( GTK_DIALOG ( dialog ), GTK_RESPONSE_YES );
+ gtk_message_dialog_format_secondary_markup ( GTK_MESSAGE_DIALOG ( dialog ), "%s", errmsg );
+
+ g_free ( old_errmsg );
+ g_free ( errmsg );
+
+ res = gtk_dialog_run ( GTK_DIALOG ( dialog ) );
+
+ if ( res == GTK_RESPONSE_YES )
+ {
+ gsb_status_message ( _("Save file") );
+ gsb_file_save_save_file ( nom_fichier_comptes, conf->compress_file, FALSE );
+ gsb_status_clear ( );
+ }
+
+ gtk_widget_destroy ( dialog );
+ gsb_file_util_modify_lock ( FALSE );
+
+ exit ( 0 );
+ }
+ else if ( run.is_loading || run.is_saving || !gsb_file_get_modified ( ) )
{
if ( run.is_loading )
{
@@ -124,7 +172,7 @@ void traitement_sigsegv ( gint signal_nb )
gsb_status_message ( _("Save file") );
- gsb_file_save_save_file ( nom_fichier_comptes, conf.compress_file, FALSE );
+ gsb_file_save_save_file ( nom_fichier_comptes, conf->compress_file, FALSE );
gsb_status_clear ( );
@@ -137,23 +185,24 @@ void traitement_sigsegv ( gint signal_nb )
}
old_errmsg = errmsg;
- errmsg = g_str rmsg; traitement_sigsegv ( gint signal_nb ) ress_file, FALSE ); ); errmsg ); ?\n"), ); tton" ) ), TRUE ); ¾ÐºÐ¾Ð¼ " ÿ u{ã+ ª|ã+ ¥ã+ ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ concat ( errmsg,
- "\n\n",
- _("Please report this problem to <tt>http://www.grisbi.org/bugtracking/</tt>. "),
- NULL );
+ errmsg = g_strconcat ( errmsg,
+ "\n\n",
+ _("Please report this problem to <tt>http://www.grisbi.org/bugtracking/</tt>. "),
+ NULL );
g_free ( old_errmsg );
#ifdef HAVE_BACKTRACE
old_errmsg = errmsg;
- errmsg = g_strconcat ( errmsg, _("Copy and paste the following backtrace with your bug "
+ errmsg = g_strconcat ( errmsg,
+ _("Copy and paste the following backtrace with your bug "
"report."),
- NULL );
+ NULL );
g_free ( old_errmsg );
#endif
dialog = dialogue_special_no_run ( GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
- make_hint ( _("Grisbi terminated due to a segmentation fault."),
- errmsg ));
+ make_hint ( _("Grisbi terminated due to a segmentation fault."),
+ errmsg ) );
g_free ( errmsg );
#ifdef HAVE_BACKTRACE
@@ -193,7 +242,6 @@ void initialize_debugging ( void )
gchar *tmpstr1;
gchar *tmpstr2;
-
if ( ( debugging_grisbi = gsb_main_get_debug_level ( ) ) )
{
/* on renseigne le texte du level de debug */
@@ -477,7 +525,9 @@ gboolean gsb_debug_start_log ( void )
{
GtkWidget *widget;
gchar *tmp_str_2;
- GtkUIManager *ui_manager = gsb_menu_get_ui_manager ( );
+ GtkUIManager *ui_manager;
+
+ ui_manager = grisbi_window_get_ui_manager ( grisbi_app_get_active_window ( NULL ) );
widget = gtk_ui_manager_get_widget ( ui_manager, "/menubar/FileMenu/DebugMode" );
etat.debug_mode = TRUE;
diff --git a/src/etats_config_ui.c b/src/etats_config_ui.c
index 3b8f95c..7df9661 100644
--- a/src/etats_config_ui.c
+++ b/src/etats_config_ui.c
@@ -33,6 +33,7 @@
/*START_INCLUDE*/
#include "etats_config_ui.h"
#include "etats_config.h"
+#include "grisbi_app.h"
#include "structures.h"
#include "utils.h"
#include "utils_buttons.h"
@@ -269,7 +270,8 @@ GtkWidget *etats_config_ui_create_dialog ( void )
/* Recuparation d'un pointeur sur la fenetre. */
dialog = GTK_WIDGET ( gtk_builder_get_object ( etats_config_builder, "config_etats_dialog" ) );
- gtk_window_set_transient_for ( GTK_WINDOW ( dialog ), GTK_WINDOW ( run.window ) );
+ gtk_window_set_transient_for ( GTK_WINDOW ( dialog ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ) );
/* Recupération d'un pointeur sur le gtk_tree_view. */
tree_view = etats_config_ui_left_panel_create_tree_view ( );
diff --git a/src/etats_config_ui.h b/src/etats_config_ui.h
index 37ae449..fda5b84 100644
--- a/src/etats_config_ui.h
+++ b/src/etats_config_ui.h
@@ -1,5 +1,5 @@
-#ifndef GSB_ETATS_CONFIG_UI_H
-#define GSB_ETATS_CONFIG_UI_H (1)
+#ifndef _ETATS_CONFIG_UI_H
+#define _ETATS_CONFIG_UI_H (1)
/* START_INCLUDE_H */
/* END_INCLUDE_H */
@@ -39,4 +39,4 @@ gboolean etats_config_ui_widget_set_sensitive ( const gchar *widget_name,
/* END_DECLARATION */
-#endif /* GSB_ETATS_CONFIG_UI_H */
+#endif /* ETATS_CONFIG_UI_H */
diff --git a/src/etats_html.c b/src/etats_html.c
index 14dd300..653d946 100644
--- a/src/etats_html.c
+++ b/src/etats_html.c
@@ -37,11 +37,6 @@
#include "etats_affiche.h"
/*END_INCLUDE*/
-/* FOLLOWING LINES REVERTS BACK TO THE ORIGINAL FPRINTF (LIBINTL_FPRINTF IS BUGGY) */
-#ifdef _WIN32
- #undef fprintf
-#endif
-
/*START_STATIC*/
static void html_attach_hsep ( int x, int x2, int y, int y2);
static void html_attach_label ( gchar * text, gdouble properties, int x, int x2, int y, int y2,
diff --git a/src/etats_onglet.c b/src/etats_onglet.c
index 8837048..25b1472 100644
--- a/src/etats_onglet.c
+++ b/src/etats_onglet.c
@@ -38,6 +38,7 @@
#include "etats_config.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_automem.h"
#include "gsb_data_report.h"
#include "gsb_data_report_amout_comparison.h"
@@ -140,11 +141,14 @@ GtkWidget *creation_onglet_etats ( void )
GtkWidget *gsb_gui_create_report_toolbar ( void )
{
GtkWidget *hbox, *button;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
hbox = gtk_hbox_new ( FALSE, 5 );
/* Add various icons */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("New report"),
"new-report.png",
G_CALLBACK ( ajout_etat ),
@@ -153,7 +157,7 @@ GtkWidget *gsb_gui_create_report_toolbar ( void )
_("Create a new report") );
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_OPEN,
_("Import"),
G_CALLBACK (importer_etat),
@@ -162,7 +166,7 @@ GtkWidget *gsb_gui_create_report_toolbar ( void )
_("Import a Grisbi report file (.egsb)") );
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
- bouton_exporter_etat = gsb_automem_stock_button_new ( etat.display_toolbar,
+ bouton_exporter_etat = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_SAVE,
_("Export"),
G_CALLBACK (exporter_etat),
@@ -172,7 +176,7 @@ GtkWidget *gsb_gui_create_report_toolbar ( void )
gtk_box_pack_start ( GTK_BOX ( hbox ), bouton_exporter_etat, FALSE, FALSE, 0 );
/* print button */
- bouton_imprimer_etat = gsb_automem_stock_button_new ( etat.display_toolbar,
+ bouton_imprimer_etat = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_PRINT,
_("Print"),
G_CALLBACK (print_report),
@@ -182,7 +186,7 @@ GtkWidget *gsb_gui_create_report_toolbar ( void )
gtk_box_pack_start ( GTK_BOX ( hbox ), bouton_imprimer_etat, FALSE, FALSE, 0 );
- bouton_effacer_etat = gsb_automem_stock_button_new ( etat.display_toolbar,
+ bouton_effacer_etat = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_DELETE,
_("Delete"),
G_CALLBACK ( efface_etat ),
@@ -191,7 +195,7 @@ GtkWidget *gsb_gui_create_report_toolbar ( void )
_("Delete selected report") );
gtk_box_pack_start ( GTK_BOX ( hbox ), bouton_effacer_etat, FALSE, FALSE, 0 );
- bouton_personnaliser_etat = gsb_automem_stock_button_new ( etat.display_toolbar,
+ bouton_personnaliser_etat = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_PROPERTIES,
_("Properties"),
G_CALLBACK ( etats_config_personnalisation_etat ),
@@ -200,7 +204,7 @@ GtkWidget *gsb_gui_create_report_toolbar ( void )
_("Edit selected report") );
gtk_box_pack_start ( GTK_BOX ( hbox ), bouton_personnaliser_etat, FALSE, FALSE, 0 );
- bouton_dupliquer_etat = gsb_automem_stock_button_new ( etat.display_toolbar,
+ bouton_dupliquer_etat = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_COPY,
_("Clone"),
G_CALLBACK (dupliquer_etat),
@@ -1121,7 +1125,7 @@ void exporter_etat ( void )
gtk_notebook_set_current_page ( GTK_NOTEBOOK ( notebook_general), GSB_REPORTS_PAGE );
fenetre_nom = gtk_file_chooser_dialog_new ( _("Export report"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_OK,
@@ -1207,7 +1211,7 @@ void importer_etat ( void )
gtk_notebook_set_current_page ( GTK_NOTEBOOK ( notebook_general), GSB_REPORTS_PAGE );
fenetre_nom = gtk_file_chooser_dialog_new ( _("Import a report"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OPEN, GTK_RESPONSE_OK,
diff --git a/src/fenetre_principale.c b/src/fenetre_principale.c
index 660cd18..f330c84 100644
--- a/src/fenetre_principale.c
+++ b/src/fenetre_principale.c
@@ -36,30 +36,29 @@
#include "bet_finance_ui.h"
#include "bet_hist.h"
#include "bet_tab.h"
-#include "navigation.h"
-#include "gsb_transactions_list.h"
+#include "categories_onglet.h"
#include "etats_onglet.h"
+#include "grisbi_app.h"
+#include "grisbi_window.h"
#include "gsb_data_account.h"
#include "gsb_account_property.h"
#include "gsb_form.h"
#include "gsb_scheduler_list.h"
-#include "main.h"
-#include "categories_onglet.h"
+#include "gsb_transactions_list.h"
#include "imputation_budgetaire.h"
-#include "tiers_onglet.h"
+#include "main.h"
+#include "navigation.h"
#include "structures.h"
+#include "tiers_onglet.h"
#include "erreur.h"
/*END_INCLUDE*/
/*START_STATIC*/
-static GtkWidget *gsb_gui_create_general_notebook (void );
+static void gsb_gui_create_general_notebook ( GrisbiWindow *window );
static gboolean gsb_gui_fill_general_notebook ( GtkWidget *notebook );
static void gsb_gui_headings_private_update_label_markup ( GtkLabel *label,
const gchar *text,
gboolean escape_text );
-static gboolean gsb_gui_hpaned_size_allocate ( GtkWidget *hpaned,
- GtkAllocation *allocation,
- gpointer null );
static gboolean on_simpleclick_event_run ( GtkWidget * button, GdkEvent * button_event,
GCallback cb );
/*END_STATIC*/
@@ -68,23 +67,6 @@ static gboolean on_simpleclick_event_run ( GtkWidget * button, GdkEvent * button
/*END_EXTERN*/
-/* données des widgets généraux */
-static GtkWidget *vbox_general = NULL;
-static GtkWidget *hpaned_general = NULL;
-static GtkWidget *notebook_general = NULL;
-static gint hpaned_left_width;
-
-/** Notebook of the account pane. */
-GtkWidget *account_page = NULL;
-
-static GtkWidget * headings_eb = NULL;
-
-/** Title for the heading bar. */
-static GtkWidget * headings_title = NULL;
-/** Suffix for the heading bar. */
-static GtkWidget * headings_suffix = NULL;
-
-
/**
* Create the main widget that holds all the user interface save the
* menus.
@@ -93,82 +75,25 @@ static GtkWidget * headings_suffix = NULL;
*/
GtkWidget *gsb_gui_create_general_widgets ( void )
{
- GtkWidget * hbox, * arrow_eb, * arrow_left, * arrow_right;
- GtkStyle * style;
-
- /* All stuff will be put in a huge vbox, with an hbox containing
- * quick summary. */
- vbox_general = gtk_vbox_new ( FALSE, 0 );
-
- headings_eb = gtk_event_box_new ();
- style = gtk_widget_get_style ( headings_eb );
-
- hbox = gtk_hbox_new ( FALSE, 0 );
-
- /* Create two arrows. */
- arrow_left = gtk_arrow_new ( GTK_ARROW_LEFT, GTK_SHADOW_OUT );
- arrow_eb = gtk_event_box_new ();
- gtk_widget_modify_bg ( arrow_eb, 0, &(style -> bg[GTK_STATE_ACTIVE]) );
- gtk_container_add ( GTK_CONTAINER ( arrow_eb ), arrow_left );
- g_signal_connect ( G_OBJECT ( arrow_eb ), "button-press-event",
- G_CALLBACK ( on_simpleclick_event_run ),
- gsb_gui_navigation_select_prev );
- gtk_box_pack_start ( GTK_BOX ( hbox ), arrow_eb, FALSE, FALSE, 0 );
-
- arrow_right = gtk_arrow_new ( GTK_ARROW_RIGHT, GTK_SHADOW_OUT );
- arrow_eb = gtk_event_box_new ();
- gtk_widget_modify_bg ( arrow_eb, 0, &(style -> bg[GTK_STATE_ACTIVE]) );
- gtk_container_add ( GTK_CONTAINER ( arrow_eb ), arrow_right );
- g_signal_connect ( G_OBJECT ( arrow_eb ), "button-press-event",
- G_CALLBACK ( on_simpleclick_event_run ),
- gsb_gui_navigation_select_next );
- gtk_box_pack_start ( GTK_BOX(hbox), arrow_eb, FALSE, FALSE, 3 );
-
- /* Define labels. */
- headings_title = gtk_label_new ( NULL );
- gtk_label_set_justify ( GTK_LABEL(headings_title), GTK_JUSTIFY_LEFT );
- gtk_misc_set_alignment (GTK_MISC (headings_title), 0.0, 0.5);
- gtk_box_pack_start ( GTK_BOX(hbox), headings_title, TRUE, TRUE, 3 );
- headings_suffix = gtk_label_new (NULL);
- gtk_box_pack_start ( GTK_BOX(hbox), headings_suffix, FALSE, FALSE, 0 );
-
- /* Change color with an event box trick. */
- gtk_container_add ( GTK_CONTAINER ( headings_eb ), hbox );
- gtk_widget_modify_bg ( headings_eb, 0, &(style -> bg[GTK_STATE_ACTIVE]) );
- gtk_container_set_border_width ( GTK_CONTAINER ( hbox ), 6 );
-
- gtk_box_pack_start ( GTK_BOX( vbox_general ), headings_eb, FALSE, FALSE, 0 );
- gsb_gui_update_show_headings ();
+ GtkWidget *vbox_general;
+ GtkWidget *hpaned_general;
+ GrisbiWindow *window;
+
+ window = grisbi_app_get_active_window ( grisbi_app_get_default ( ) );
+
+ vbox_general = grisbi_window_get_widget_by_name ( "vbox_general" );
/* Then create and fill the main hpaned. */
- hpaned_general = gtk_hpaned_new ();
- g_signal_connect ( G_OBJECT ( hpaned_general ),
- "size_allocate",
- G_CALLBACK ( gsb_gui_hpaned_size_allocate ),
- NULL );
- gtk_box_pack_start ( GTK_BOX ( vbox_general ), hpaned_general, TRUE, TRUE, 0 );
- gtk_paned_add1 ( GTK_PANED ( hpaned_general ), gsb_gui_navigation_create_navigation_pane ( ) );
- gtk_paned_add2 ( GTK_PANED ( hpaned_general ), gsb_gui_create_general_notebook ( ) );
+ hpaned_general = grisbi_window_new_hpaned ( window );
+ gsb_gui_navigation_create_navigation_pane ( );
+ gsb_gui_create_general_notebook ( window );
gtk_container_set_border_width ( GTK_CONTAINER ( hpaned_general ), 6 );
- if ( hpaned_left_width == -1 )
- {
- gint width, height;
-
- gtk_window_get_size ( GTK_WINDOW ( run.window ), &width, &height );
- gtk_paned_set_position ( GTK_PANED ( hpaned_general ), (gint) width / 4 );
- }
- else
- {
- if ( hpaned_left_width )
- gtk_paned_set_position ( GTK_PANED ( hpaned_general ), hpaned_left_width );
- else
- gtk_paned_set_position ( GTK_PANED ( hpaned_general ), 1 );
- }
gtk_widget_show ( hpaned_general );
gtk_widget_show ( vbox_general );
+ /* return */
return vbox_general;
}
@@ -182,23 +107,20 @@ GtkWidget *gsb_gui_create_general_widgets ( void )
*
* \return the notebook
*/
-GtkWidget *gsb_gui_create_general_notebook (void )
+void gsb_gui_create_general_notebook ( GrisbiWindow *window )
{
- GtkWidget * vbox, * form;
+ GtkWidget *vbox;
+ GtkWidget *form;
+ GtkWidget *notebook_general;
devel_debug ( "create_main_notebook" );
/* the main right page is a vbox with a notebook on the top
* and the form on the bottom */
-
- vbox = gtk_vbox_new ( FALSE, 0 );
+ vbox = grisbi_window_get_widget_by_name ( "vbox_transactions_list" );
/* append the notebook */
- notebook_general = gtk_notebook_new ( );
- gtk_notebook_set_show_tabs ( GTK_NOTEBOOK ( notebook_general ), FALSE );
- gtk_notebook_set_show_border ( GTK_NOTEBOOK ( notebook_general ), FALSE );
- gtk_box_pack_start ( GTK_BOX ( vbox ), notebook_general, TRUE, TRUE, 0 );
- gtk_widget_show ( notebook_general );
+ notebook_general = grisbi_window_get_widget_by_name ( "notebook_general" );
/* append the form */
form = gsb_form_new ( );
@@ -208,9 +130,7 @@ GtkWidget *gsb_gui_create_general_notebook (void )
/* fill the notebook */
gsb_gui_fill_general_notebook ( notebook_general );
- gtk_widget_show ( vbox );
-
- return vbox;
+ /* return */
}
@@ -220,6 +140,10 @@ GtkWidget *gsb_gui_create_general_notebook (void )
*/
GtkWidget *gsb_gui_get_general_notebook (void )
{
+ GtkWidget *notebook_general;
+
+ notebook_general = grisbi_window_get_widget_by_name ( "notebook_general" );
+
return notebook_general;
}
@@ -233,6 +157,8 @@ GtkWidget *gsb_gui_get_general_notebook (void )
* */
gboolean gsb_gui_fill_general_notebook ( GtkWidget *notebook )
{
+ GtkWidget *account_page;
+
/* append the main page */
gtk_notebook_append_page ( GTK_NOTEBOOK ( notebook ),
creation_onglet_accueil(),
@@ -240,9 +166,7 @@ gboolean gsb_gui_fill_general_notebook ( GtkWidget *notebook )
/* append the account page : a notebook with the account configuration
* the bet pages and transactions page */
- account_page = gtk_notebook_new ();
- gtk_notebook_set_show_border ( GTK_NOTEBOOK(account_page), FALSE );
- gtk_widget_show ( account_page );
+ account_page = grisbi_window_get_widget_by_name ( "account_page" );
gtk_notebook_append_page ( GTK_NOTEBOOK ( notebook ),
account_page,
@@ -363,38 +287,36 @@ gboolean gsb_gui_on_account_switch_page ( GtkNotebook *notebook,
/**
- * Set the account notebook page.
- *
- * \param page Page to set.
+ * Get the account notebook.
+ *
+ * \param page
+ *
+ * \return
*/
-void gsb_gui_on_account_change_page ( GsbaccountNotebookPages page )
+GtkWidget *gsb_gui_on_account_get_notebook ( void )
{
- gtk_notebook_set_current_page ( GTK_NOTEBOOK ( account_page ), page );
+ GtkWidget *account_page;
+
+ account_page = grisbi_window_get_widget_by_name ( "account_page" );
+
+ return account_page;
}
/**
- * Update one of the heading bar label with a new text.
- *
- * \param label Label to update.
- * \param text String to display in headings bar.
- *
+ * Set the account notebook page.
+ *
+ * \param page Page to set.
*/
-void gsb_gui_headings_private_update_label_markup ( GtkLabel *label,
- const gchar *text,
- gboolean escape_text )
+void gsb_gui_on_account_change_page ( GsbaccountNotebookPages page )
{
- gchar* tmpstr;
+ GtkWidget *account_page;
- if ( escape_text )
- tmpstr = g_markup_printf_escaped ("<b>%s</b>", text );
- else
- tmpstr = g_strconcat ( "<b>", text, "</b>", NULL );
- gtk_label_set_markup ( label, tmpstr );
-
- g_free ( tmpstr );
+ account_page = grisbi_window_get_widget_by_name ( "account_page" );
+ gtk_notebook_set_current_page ( GTK_NOTEBOOK ( account_page ), page );
}
+
/**
* Update headings bar with a new title.
*
@@ -403,7 +325,7 @@ void gsb_gui_headings_private_update_label_markup ( GtkLabel *label,
*/
void gsb_gui_headings_update_title ( gchar * title )
{
- gsb_gui_headings_private_update_label_markup ( GTK_LABEL(headings_title), title, TRUE );
+ grisbi_window_headings_update_label_markup ( "headings_title", title, TRUE );
}
/**
@@ -414,7 +336,7 @@ void gsb_gui_headings_update_title ( gchar * title )
*/
void gsb_gui_headings_update_suffix ( gchar * suffix )
{
- gsb_gui_headings_private_update_label_markup ( GTK_LABEL(headings_suffix), suffix, FALSE );
+ grisbi_window_headings_update_label_markup ( "headings_suffix", suffix, FALSE );
}
@@ -427,13 +349,19 @@ void gsb_gui_headings_update_suffix ( gchar * suffix )
*/
gboolean gsb_gui_update_show_headings ( void )
{
- if ( etat.show_headings_bar )
+ GrisbiAppConf *conf;
+ GrisbiWindow *window;
+
+ conf = grisbi_app_get_conf ( );
+ window = grisbi_app_get_active_window ( NULL );
+
+ if ( conf->show_headings_bar )
{
- gtk_widget_show_all ( headings_eb );
+ gtk_widget_show_all ( grisbi_window_get_headings_eb ( window ) );
}
else
{
- gtk_widget_hide ( headings_eb );
+ gtk_widget_hide ( grisbi_window_get_headings_eb ( window ) );
}
return FALSE;
}
@@ -447,9 +375,11 @@ gboolean gsb_gui_update_show_headings ( void )
* */
void gsb_gui_sensitive_headings ( gboolean sensitive )
{
- if (headings_eb)
- gtk_widget_set_sensitive ( headings_eb,
- sensitive );
+ GrisbiWindow *window;
+
+ window = grisbi_app_get_active_window ( NULL );
+
+ gtk_widget_set_sensitive ( grisbi_window_get_headings_eb ( window ), sensitive );
}
@@ -460,103 +390,10 @@ void gsb_gui_sensitive_headings ( gboolean sensitive )
*/
void gsb_gui_notebook_change_page ( GsbGeneralNotebookPages page )
{
- gtk_notebook_set_current_page ( GTK_NOTEBOOK ( notebook_general ), page );
-}
-
-
-/**
- * Trigger a callback functions only if button event that triggered it
- * was a simple click.
- *
- */
-gboolean on_simpleclick_event_run ( GtkWidget * button, GdkEvent * button_event,
- GCallback cb )
-{
- if ( button_event -> type == GDK_BUTTON_PRESS )
- {
- cb ();
- }
-
- return TRUE;
-}
-
-
-/**
- *
- *
- *
- */
-gboolean gsb_gui_hpaned_size_allocate ( GtkWidget *hpaned,
- GtkAllocation *allocation,
- gpointer null )
-{
- hpaned_left_width = gtk_paned_get_position ( GTK_PANED ( hpaned ) );
-
- return FALSE;
-}
-
-
-/**
- * initialise notebook_general, hpaned_general et vbox_general
- *
- *
- */
-void gsb_gui_init_general_vbox ( void )
-{
- if ( vbox_general )
- {
- gtk_widget_destroy ( vbox_general );
- vbox_general = NULL;
- }
-}
-
+ GtkWidget *notebook_general;
-/**
- * initialise notebook_general, hpaned_general et vbox_general
- *
- *
- */
-void gsb_gui_init_general_notebook ( void )
-{
- notebook_general = NULL;
-}
-
-
-/**
- * test l'existence de hpaned_general
- *
- *
- */
-gboolean gsb_gui_is_hpaned_general ( void )
-{
- if ( hpaned_general && GTK_IS_WIDGET ( hpaned_general ) )
- return TRUE;
- else
- return FALSE;
-}
-
-
-/**
- * renvoie la largeur de la partie gauche du hpaned
- *
- *
- */
-gint gsb_gui_get_hpaned_left_width ( void )
-{
- return hpaned_left_width;
-}
-
-
-/**
- * fixe la largeur de la partie gauche du hpaned
- *
- *
- */
-gboolean gsb_gui_set_hpaned_left_width ( gint width )
-{
- hpaned_left_width = width;
-
- return TRUE;
+ notebook_general = gsb_gui_get_general_notebook ( );
+ gtk_notebook_set_current_page ( GTK_NOTEBOOK ( notebook_general ), page );
}
diff --git a/src/fenetre_principale.h b/src/fenetre_principale.h
index e779aee..be4a861 100644
--- a/src/fenetre_principale.h
+++ b/src/fenetre_principale.h
@@ -12,8 +12,6 @@ typedef enum GSB_GENERAL_NOTEBOOK_PAGES {
GSB_CATEGORIES_PAGE,
GSB_BUDGETARY_LINES_PAGE,
GSB_REPORTS_PAGE,
- /** FIXME (later) : define an api so that plugin register here itself. */
- GSB_AQBANKING_PAGE,
} GsbGeneralNotebookPages;
typedef enum GSB_ACCOUNT_NOTEBOOK_PAGES {
@@ -34,17 +32,14 @@ GtkWidget *gsb_gui_get_general_notebook (void );
void gsb_gui_headings_update_suffix ( gchar * suffix );
void gsb_gui_headings_update_title ( gchar * title );
void gsb_gui_init_general_notebook ( void );
-void gsb_gui_init_general_vbox ( void );
-gint gsb_gui_get_hpaned_left_width ( void );
-gboolean gsb_gui_is_hpaned_general ( void );
void gsb_gui_notebook_change_page ( GsbGeneralNotebookPages page );
void gsb_gui_on_account_change_page ( GsbaccountNotebookPages page );
+GtkWidget *gsb_gui_on_account_get_notebook ( void );
gboolean gsb_gui_on_account_switch_page ( GtkNotebook *notebook,
gpointer page,
guint page_number,
gpointer null );
void gsb_gui_sensitive_headings ( gboolean sensitive );
-gboolean gsb_gui_set_hpaned_left_width ( gint width );
void gsb_gui_update_all_toolbars ( void );
gboolean gsb_gui_update_show_headings ( void );
/*END_DECLARATION*/
diff --git a/src/grisbi_app.c b/src/grisbi_app.c
new file mode 100644
index 0000000..a47c71e
--- /dev/null
+++ b/src/grisbi_app.c
@@ -0,0 +1,667 @@
+/* ************************************************************************** */
+/* */
+/* Copyright (C) 2001-2008 Cédric Auger (cedric at grisbi.org) */
+/* 2003-2008 Benjamin Drieu (bdrieu at april.org) */
+/* 2009-2012 Pierre Biava (grisbi at pierre.biava.name) */
+/* http://www.grisbi.org */
+/* */
+/* This program is free software; you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation; either version 2 of the License, or */
+/* (at your option) any later version. */
+/* */
+/* This program is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
+/* GNU General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program; if not, write to the Free Software */
+/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+/* */
+/* ************************************************************************** */
+
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string.h>
+#include <unistd.h>
+#include <glib/gi18n.h>
+
+/*START_INCLUDE*/
+#include "grisbi_app.h"
+#include "gsb_color.h"
+#include "gsb_dirs.h"
+#include "gsb_file.h"
+#include "gsb_file_config.h"
+#include "gsb_plugins.h"
+#include "import.h"
+#include "traitement_variables.h"
+#include "erreur.h"
+/*END_INCLUDE*/
+
+
+/*START_STATIC*/
+static void grisbi_app_class_init ( GrisbiAppClass *klass );
+static void grisbi_app_finalize ( GObject *object );
+static void grisbi_app_init ( GrisbiApp *app );
+static void grisbi_app_load_accels ( void );
+static void grisbi_app_load_config_var ( GrisbiApp *app );
+static void grisbi_app_load_import_formats ( GrisbiApp *app );
+static void grisbi_app_save_accels ( void );
+static void grisbi_app_set_active_window (GrisbiApp *app,
+ GrisbiWindow *window);
+static void grisbi_app_weak_notify ( gpointer data,
+ GObject *where_the_app_was );
+static gboolean grisbi_app_window_delete_event ( GrisbiWindow *window,
+ GdkEvent *event,
+ GrisbiApp *app );
+static void grisbi_app_window_destroy ( GrisbiWindow *window,
+ GrisbiApp *app );
+static gboolean grisbi_app_window_focus_in_event ( GrisbiWindow *window,
+ GdkEventFocus *event,
+ GrisbiApp *app );
+static void grisbi_app_window_set_size_and_position ( GrisbiWindow *window );
+/*END_STATIC*/
+
+
+#define GRISBI_APP_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), GRISBI_TYPE_APP, GrisbiAppPrivate))
+
+
+struct _GrisbiAppPrivate
+{
+ GList *windows;
+ GrisbiWindow *active_window;
+
+ GrisbiAppConf *conf;
+ gint first_use;
+};
+
+
+G_DEFINE_TYPE(GrisbiApp, grisbi_app, G_TYPE_OBJECT)
+
+
+/**
+ * finalise GrisbiApp
+ *
+ * \param object
+ *
+ * \return
+ */
+static void grisbi_app_finalize ( GObject *object )
+{
+ GrisbiApp *app = GRISBI_APP ( object );
+ GrisbiAppConf *conf;
+ devel_debug (NULL);
+
+ /* libération mémoire de la liste des fenêtres */
+ g_list_free ( app->priv->windows );
+
+ /* libération mémoire de la configuration de grisbi */
+ conf = app->priv->conf;
+ g_free ( conf->font_string );
+ g_free ( conf->browser_command );
+ g_strfreev ( conf->tab_noms_derniers_fichiers_ouverts );
+ g_free ( app->priv->conf );
+
+ /* libération de l'objet app */
+ G_OBJECT_CLASS ( grisbi_app_parent_class )->finalize ( object );
+}
+
+
+/**
+ * Initialise GrisbiAppClass
+ *
+ * \param app
+ *
+ * \return
+ */
+static void grisbi_app_class_init ( GrisbiAppClass *klass )
+{
+ GObjectClass *object_class = G_OBJECT_CLASS ( klass );
+
+ object_class->finalize = grisbi_app_finalize;
+
+ g_type_class_add_private ( object_class, sizeof( GrisbiAppPrivate ) );
+}
+
+
+/**
+ * Initialise GrisbiApp
+ *
+ * \param app
+ *
+ * \return
+ */
+static void grisbi_app_init ( GrisbiApp *app )
+{
+ gchar *string;
+
+ app->priv = GRISBI_APP_GET_PRIVATE ( app );
+
+ /* charge les raccourcis claviers */
+ grisbi_app_load_accels ( );
+
+ /* create the icon of grisbi (set in the panel of gnome or other) */
+ string = g_build_filename ( gsb_dirs_get_pixmaps_dir ( ), "grisbi-logo.png", NULL );
+ if ( g_file_test ( string, G_FILE_TEST_EXISTS ) )
+ gtk_window_set_default_icon_from_file ( string, NULL );
+ g_free (string);
+
+ /* initialisation des paramètres de l'application */
+ grisbi_app_load_config_var ( app );
+
+ /* importation des formats de fichiers */
+ grisbi_app_load_import_formats ( app );
+
+ /* return */
+}
+
+
+/**
+ * GWeakNotify callback function
+ *
+ * \param
+ *
+ * \return
+ */
+static void grisbi_app_weak_notify ( gpointer data,
+ GObject *where_the_app_was )
+{
+ devel_debug (NULL);
+
+ gtk_main_quit ();
+}
+
+
+/**
+ * Returns the GrisbiApp object.
+ *
+ * \param
+ *
+ * \return the GrisbiApp pointer
+ */
+GrisbiApp *grisbi_app_get_default ( void )
+{
+ static GrisbiApp *app = NULL;
+
+ if ( app != NULL )
+ return app;
+
+ app = GRISBI_APP ( g_object_new ( GRISBI_TYPE_APP, NULL ) );
+
+ g_object_add_weak_pointer ( G_OBJECT ( app ), (gpointer) &app );
+ g_object_weak_ref ( G_OBJECT ( app ), grisbi_app_weak_notify, NULL );
+
+ return app;
+}
+
+
+GrisbiWindow *grisbi_app_get_active_window ( GrisbiApp *app )
+{
+ GrisbiApp *tmp_app;
+
+ if ( app == NULL )
+
+ tmp_app = grisbi_app_get_default ( );
+ else
+ tmp_app = app;
+
+ if ( !GRISBI_IS_APP ( tmp_app ) )
+ return NULL;
+
+ if ( !GTK_WIDGET_REALIZED ( GTK_WIDGET ( tmp_app->priv->active_window ) ) )
+ gtk_widget_realize ( GTK_WIDGET ( tmp_app->priv->active_window ) );
+
+ return tmp_app->priv->active_window;
+}
+
+
+/**
+ * Création d'une fenêtre GrisbiWindow.
+ *
+ * \param app
+ * \param screen
+ *
+ * \return une fenêtre pour Grisbi
+ */
+GrisbiWindow *grisbi_app_create_window ( GrisbiApp *app,
+ GdkScreen *screen )
+{
+ GrisbiWindow *window;
+
+ if ( app->priv->windows == NULL )
+ {
+ window = g_object_new ( GRISBI_TYPE_WINDOW, NULL );
+ grisbi_app_set_active_window ( app, window );
+ }
+ else
+ {
+ window = g_object_new ( GRISBI_TYPE_WINDOW, NULL );
+ }
+
+ app->priv->windows = g_list_prepend ( app->priv->windows, window );
+
+ grisbi_app_window_set_size_and_position ( window );
+
+ g_signal_connect ( window,
+ "focus_in_event",
+ G_CALLBACK ( grisbi_app_window_focus_in_event ),
+ app );
+
+ g_signal_connect ( window,
+ "delete_event",
+ G_CALLBACK ( grisbi_app_window_delete_event ),
+ app );
+
+ g_signal_connect ( window,
+ "destroy",
+ G_CALLBACK ( grisbi_app_window_destroy ),
+ app );
+
+ if ( screen != NULL )
+ gtk_window_set_screen ( GTK_WINDOW ( window ), screen );
+
+ return window;
+}
+
+
+/**
+ * updates active_window when a new toplevel receives focus.
+ *
+ * \param window
+ * \param event
+ * \param app
+ *
+ * \return TRUE
+ * */
+static gboolean grisbi_app_window_focus_in_event ( GrisbiWindow *window,
+ GdkEventFocus *event,
+ GrisbiApp *app )
+{
+ devel_debug (NULL);
+
+ if ( !GRISBI_IS_WINDOW ( window ) )
+ return FALSE;
+
+ grisbi_app_set_active_window ( app, window );
+
+ return FALSE;
+}
+
+
+/**
+ * exit the gtk main loop when the main window is destroyed.
+ *
+ * \param window
+ * \param event
+ * \param app
+ *
+ * \return TRUE
+ * */
+static gboolean grisbi_app_window_delete_event ( GrisbiWindow *window,
+ GdkEvent *event,
+ GrisbiApp *app )
+{
+ devel_debug (NULL);
+
+ gtk_widget_destroy ( GTK_WIDGET (window ) );
+
+ return TRUE;
+}
+
+
+/**
+ * exit the gtk main loop when the main window is destroyed.
+ *
+ * \param window
+ * \param app
+ *
+ * \return TRUE
+ * */
+static void grisbi_app_window_destroy ( GrisbiWindow *window,
+ GrisbiApp *app )
+{
+ devel_debug (NULL);
+
+ app->priv->windows = g_list_remove ( app->priv->windows, window );
+
+ if ( window == app->priv->active_window )
+ {
+ if ( app->priv->windows != NULL )
+ app->priv->active_window = app->priv->windows->data ;
+ else
+ app->priv->active_window = NULL;
+ }
+
+ if ( app->priv->windows == NULL )
+ {
+ grisbi_app_save_accels ( );
+ g_object_unref ( app );
+ }
+}
+
+
+/**
+ * charge les raccourcis claviers.
+ *
+ * \param
+ *
+ * \return
+ */
+static void grisbi_app_load_accels ( void )
+{
+ gchar *accel_filename = NULL;
+ gchar *msg;
+
+ accel_filename = g_build_filename ( gsb_dirs_get_user_config_dir ( ), "grisbi-accels", NULL );
+ if ( accel_filename )
+ {
+ gtk_accel_map_load ( accel_filename );
+ msg = g_strdup_printf ( "Loading keybindings from %s\n", accel_filename );
+ g_free ( accel_filename );
+ }
+ else
+ msg = g_strdup_printf ( "Error loading keyboard shortcuts\n" );
+
+ notice_debug ( msg );
+ g_free ( msg );
+}
+
+
+/**
+ * sauvegarde les raccourcis claviers.
+ *
+ * \param
+ *
+ * \return
+ */
+static void grisbi_app_save_accels ( void )
+{
+ gchar *accel_filename;
+ gchar *msg;
+
+ accel_filename = g_build_filename ( gsb_dirs_get_user_config_dir ( ), "grisbi-accels", NULL );
+ if ( accel_filename )
+ {
+ msg = g_strdup_printf ( "Saving keybindings in %s\n", accel_filename);
+ gtk_accel_map_save ( accel_filename );
+ g_free ( accel_filename );
+ }
+ else
+ msg = g_strdup_printf ( "Error saving keyboard shortcuts\n" );
+
+ notice_debug ( msg );
+ g_free ( msg );
+}
+
+
+/**
+ * set active window.
+ *
+ * \param app
+ * \param window
+ *
+ * \return
+ */
+static void grisbi_app_set_active_window (GrisbiApp *app,
+ GrisbiWindow *window)
+{
+ app->priv->active_window = window;
+}
+
+
+/**
+ * get_first_use.
+ *
+ * \param app
+ *
+ * \return TRUE if first use
+ */
+gboolean grisbi_app_get_first_use ( GrisbiApp *app )
+{
+ return app->priv->first_use;
+
+}
+
+
+/**
+ * initialises les paramètres de Grisbi.
+ *
+ * \param app
+ *
+ * \return TRUE if first use
+ */
+static void grisbi_app_load_config_var ( GrisbiApp *app )
+{
+ /* initialisation de la variable conf */
+ app->priv->conf = g_malloc0 ( sizeof ( GrisbiAppConf ) );
+
+ /* initialisation des couleurs par défaut */
+ gsb_color_initialise_couleurs_par_defaut ( );
+
+ /* chargement des paramètres communs */
+ app->priv->first_use = !gsb_file_config_load_config ( app->priv->conf );
+
+ /* Ã reprendre autrement */
+ init_variables ();
+
+}
+
+
+/**
+ * initialises les formats de fichiers pour l'importation.
+ *
+ * \param app
+ *
+ * \return TRUE if first use
+ */
+static void grisbi_app_load_import_formats ( GrisbiApp *app )
+{
+ /* importation des formats de fichiers */
+#ifdef HAVE_PLUGINS
+ gsb_plugins_scan_dir ( gsb_dirs_get_plugins_dir ( ) );
+#endif
+ register_import_formats ();
+}
+
+
+/**
+ * set size and position of the main window of grisbi.
+ *
+ * \param window
+ *
+ * \return
+ *
+ * */
+static void grisbi_app_window_set_size_and_position ( GrisbiWindow *window )
+{
+ GrisbiApp *app;
+ GrisbiAppConf *conf;
+
+ app = grisbi_app_get_default ( );
+ conf = app->priv->conf;
+
+ /* set the size of the window */
+ if ( conf->main_width && conf->main_height )
+ gtk_window_set_default_size ( GTK_WINDOW ( window ), conf->main_width, conf->main_height );
+ else
+ gtk_window_set_default_size ( GTK_WINDOW ( window ), 900, 600 );
+
+ /* display window at position */
+ gtk_window_move ( GTK_WINDOW ( window ), conf->root_x, conf->root_y );
+
+ /* set the full screen if necessary */
+ if ( conf->full_screen )
+ gtk_window_fullscreen ( GTK_WINDOW ( window ) );
+
+ /* put up the screen if necessary */
+ if ( conf->maximize_screen )
+ gtk_window_maximize ( GTK_WINDOW ( window ) );
+}
+
+
+/**
+ * retourne la structure de configuration de Grisbi
+ *
+ * \param app
+ *
+ * \return conf
+ *
+ **/
+GrisbiAppConf *grisbi_app_get_conf ( void )
+{
+ GrisbiApp *app;
+
+ app = grisbi_app_get_default ( );
+ return app->priv->conf;
+}
+
+
+/**
+ * close grisbi by destroying the main window
+ * This function is called by the Quit menu option.
+ *
+ * \param
+ *
+ * \return FALSE
+ * */
+gboolean grisbi_app_quit ( void )
+{
+ GrisbiApp *app;
+ GrisbiWindow *window;
+ GrisbiAppConf *conf;
+
+ devel_debug (NULL);
+
+ app = grisbi_app_get_default ( );
+ conf = grisbi_app_get_conf ( );
+
+ /* on récupère la fenetre active */
+ window = grisbi_app_get_active_window ( app );
+
+ /* sauvegarde la position de la fenetre principale */
+ if ( conf->full_screen == 0 && conf->maximize_screen == 0 )
+ gtk_window_get_position ( GTK_WINDOW ( window ), &conf->root_x, &conf->root_y );
+
+ /* sauvegarde de la taille de la fenêtre si nécessaire */
+ if ( conf->full_screen == 0 && conf->maximize_screen == 0 )
+ gtk_window_get_size ( GTK_WINDOW ( window ), &conf->main_width, &conf->main_height );
+
+ gsb_file_config_save_config ( conf );
+
+ if ( gsb_file_close ( ) )
+ gtk_widget_destroy ( GTK_WIDGET ( window ) );
+
+ /* clean finish of the debug file */
+ if ( etat.debug_mode )
+ gsb_debug_finish_log ( );
+
+ return FALSE;
+}
+
+
+/**
+ * close the file
+ * if no file loaded or no change, directly return TRUE
+ *
+ * \param
+ *
+ * \return FALSE if problem, TRUE if ok
+ * */
+gboolean grisbi_app_close_file ( void )
+{
+ GrisbiApp *app;
+ GrisbiWindow *main_window;
+ GrisbiAppConf *conf;
+
+ devel_debug (NULL);
+
+ app = grisbi_app_get_default ( );
+ conf = grisbi_app_get_conf ( );
+
+ /* on récupère la fenetre active */
+ main_window = grisbi_app_get_active_window ( app );
+
+
+
+
+
+ return TRUE;
+}
+
+
+/**
+ * retourne le nom du fichier de la fenêtre active
+ *
+ * \param
+ *
+ * \return
+ **/
+const gchar *grisbi_app_get_active_filename ( void )
+{
+ GrisbiApp *app;
+ GrisbiWindow *window;
+
+ app = grisbi_app_get_default ( );
+ window = grisbi_app_get_active_window ( app );
+
+ return grisbi_window_get_filename ( window );
+}
+
+
+/**
+ * définit le nom du fichier associé à la fenêtre
+ *
+ * \param filename
+ *
+ * \return TRUE
+ **/
+gboolean grisbi_app_set_active_filename ( const gchar *filename )
+{
+ GrisbiApp *app;
+ GrisbiWindow *window;
+
+ app = grisbi_app_get_default ( );
+ window = grisbi_app_get_active_window ( app );
+
+ grisbi_window_set_filename ( window, filename );
+
+ return TRUE;
+}
+
+
+/**
+ * retourne le ui_manager pour la gestion des menus et barres d'outils
+ *
+ * \param
+ *
+ * \return
+ **/
+GtkUIManager *grisbi_app_get_active_ui_manager ( void )
+{
+ GrisbiApp *app;
+ GrisbiWindow *window;
+ GtkUIManager *ui_manager;
+
+ app = grisbi_app_get_default ( );
+ window = grisbi_app_get_active_window ( app );
+
+ ui_manager = grisbi_window_get_ui_manager ( window );
+
+ return ui_manager;
+}
+
+
+/**
+ *
+ *
+ * \param
+ *
+ * \return
+ **/
+/* Local Variables: */
+/* c-basic-offset: 4 */
+/* End: */
diff --git a/src/grisbi_app.h b/src/grisbi_app.h
new file mode 100644
index 0000000..1e4e6a3
--- /dev/null
+++ b/src/grisbi_app.h
@@ -0,0 +1,66 @@
+#ifndef __GRISBI_APP_H__
+#define __GRISBI_APP_H__
+
+#include <gtk/gtk.h>
+
+/*START_INCLUDE*/
+#include "grisbi_window.h"
+#include "structures.h"
+/*END_INCLUDE*/
+
+G_BEGIN_DECLS
+
+/*
+ * Type checking and casting macros
+ */
+#define GRISBI_TYPE_APP (grisbi_app_get_type())
+#define GRISBI_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GRISBI_TYPE_APP, GrisbiApp))
+#define GRISBI_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GRISBI_TYPE_APP, GrisbiAppClass))
+#define GRISBI_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GRISBI_TYPE_APP))
+#define GRISBI_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GRISBI_TYPE_APP))
+#define GRISBI_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GRISBI_TYPE_APP, GrisbitAppClass))
+
+/* Private structure type */
+typedef struct _GrisbiAppPrivate GrisbiAppPrivate;
+
+
+/* Main object structure */
+typedef struct _GrisbiApp GrisbiApp;
+
+struct _GrisbiApp
+{
+ GObject object;
+
+ /*< private > */
+ GrisbiAppPrivate *priv;
+};
+
+/* Class definition */
+typedef struct _GrisbiAppClass GrisbiAppClass;
+
+struct _GrisbiAppClass
+{
+ GObjectClass parent_class;
+};
+
+
+/* START_DECLARATION */
+GType grisbi_app_get_type ( void ) G_GNUC_CONST;
+
+gboolean grisbi_app_close_file ( void );
+GrisbiWindow *grisbi_app_create_window ( GrisbiApp *app,
+ GdkScreen *screen );
+const gchar *grisbi_app_get_active_filename ( void );
+GtkUIManager *grisbi_app_get_active_ui_manager ( void );
+GrisbiWindow *grisbi_app_get_active_window ( GrisbiApp *app );
+GrisbiAppConf *grisbi_app_get_conf ( void );
+GrisbiApp *grisbi_app_get_default ( void );
+gboolean grisbi_app_get_first_use ( GrisbiApp *app );
+const GList *grisbi_app_get_windows ( GrisbiApp *app );
+gboolean grisbi_app_quit ( void );
+gboolean grisbi_app_set_active_filename ( const gchar *filename );
+/* END_DECLARATION */
+
+G_END_DECLS
+
+#endif /* __GRISBI_APP_H__ */
diff --git a/src/grisbi_osx.c b/src/grisbi_osx.c
index 16bef69..7f3f12a 100644
--- a/src/grisbi_osx.c
+++ b/src/grisbi_osx.c
@@ -239,7 +239,7 @@ GtkWidget *grisbi_osx_init_menus ( GtkWidget *window, GtkWidget *menubar )
theApp = g_object_new ( GTK_TYPE_OSX_APPLICATION, NULL );
- ui_manager = gsb_menu_get_ui_manager ( );
+ ui_manager = grisbi_window_get_ui_manager ( grisbi_app_get_active_window ( NULL ) );
items = menu_items_new ( );
items->open_item = gtk_ui_manager_get_widget ( ui_manager, "/menubar/FileMenu/Open" );
diff --git a/src/grisbi_ui.h b/src/grisbi_ui.h
new file mode 100644
index 0000000..ddb0da6
--- /dev/null
+++ b/src/grisbi_ui.h
@@ -0,0 +1,219 @@
+#ifndef __GRISBI_UI_H__
+#define __GRISBI_UI_H__
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <gtk/gtk.h>
+
+/*START_INCLUDE*/
+#include "gsb_debug.h"
+#include "export.h"
+#include "file_obfuscate.h"
+#include "file_obfuscate_qif.h"
+#include "grisbi_app.h"
+#include "gsb_account.h"
+#include "gsb_assistant_account.h"
+#include "gsb_assistant_archive.h"
+#include "gsb_assistant_archive_export.h"
+#include "gsb_file.h"
+#include "gsb_scheduler_list.h"
+#include "gsb_transactions_list.h"
+#include "help.h"
+#include "import.h"
+#include "main.h"
+#include "menu.h"
+#include "parametres.h"
+#include "tip.h"
+#include "erreur.h"
+/*END_INCLUDE*/
+
+
+static const GtkActionEntry always_sensitive_entries[] =
+{
+/* name, stock_id, label, accelerator, tooltip, callback */
+ /* File menu */
+ {"FileMenuAction", NULL, N_("_File"), NULL, NULL, NULL},
+#ifdef GTKOSXAPPLICATION
+ { "NewAction", GTK_STOCK_NEW, N_("_New account file..."), "<Meta>N", NULL,
+ G_CALLBACK ( gsb_file_new ) },
+ {"OpenAction", GTK_STOCK_OPEN, N_("_Open..."), "<Meta>O", NULL,
+ G_CALLBACK ( gsb_file_open_menu ) },
+ {"RecentFilesAction", NULL, N_("_Recently opened files"), NULL, NULL, NULL },
+ G_CALLBACK ( gsb_file_save ) },
+#else
+ { "NewAction", GTK_STOCK_NEW, N_("_New account file..."), NULL, NULL,
+ G_CALLBACK ( gsb_file_new ) },
+ {"OpenAction", GTK_STOCK_OPEN, N_("_Open..."), NULL, NULL,
+ G_CALLBACK ( gsb_file_open_menu ) },
+ {"RecentFilesAction", NULL, N_("_Recently opened files"), NULL, NULL, NULL },
+#endif
+ {"ImportFileAction", GTK_STOCK_CONVERT, N_("_Import file..."), NULL, NULL,
+ G_CALLBACK ( importer_fichier ) },
+ {"ObfuscateQifAction", GTK_STOCK_FIND, N_("_Obfuscate QIF file..."), "", NULL,
+ G_CALLBACK ( file_obfuscate_qif_run ) },
+ {"QuitAction", GTK_STOCK_QUIT, N_("_Quit"), NULL, NULL,
+ G_CALLBACK ( grisbi_app_quit ) },
+
+ /* Edit menu */
+ {"EditMenuAction", NULL, N_("_Edit"), NULL, NULL, NULL },
+
+ /* View menu */
+ {"ViewMenuAction", NULL, N_("_View"), NULL, NULL, NULL },
+
+ /* Help menu */
+ {"HelpMenuAction", NULL, N_("_Help"), NULL, NULL, NULL },
+#ifdef GTKOSXAPPLICATION
+ {"ManualAction", GTK_STOCK_HELP, N_("_Manual"), "<Meta>H", NULL,
+ G_CALLBACK ( help_manual ) },
+#else
+ {"ManualAction", GTK_STOCK_HELP, N_("_Manual"), NULL, NULL,
+ G_CALLBACK ( help_manual ) },
+#endif
+ {"QuickStartAction", NULL, N_("_Quick start"), NULL, NULL,
+ G_CALLBACK ( help_quick_start ) },
+ {"TranslationAction", NULL, N_("_Translation"), NULL, NULL,
+ G_CALLBACK ( help_translation ) },
+ {"AboutAction", GTK_STOCK_ABOUT, N_("_About Grisbi..."), NULL, NULL,
+ G_CALLBACK ( a_propos ) },
+ {"GrisbiWebsiteAction", NULL, N_("_Grisbi website"), NULL, NULL,
+ G_CALLBACK ( help_website ) },
+ {"ReportBugAction", NULL, N_("_Report a bug"), NULL, NULL,
+ G_CALLBACK ( help_bugreport ) },
+ {"TipAction", GTK_STOCK_DIALOG_INFO, N_("_Tip of the day"), NULL, NULL,
+ G_CALLBACK ( force_display_tip ) },
+};
+
+static GtkToggleActionEntry show_full_screen_entrie[] =
+{
+/* Name, stock_id, label, accelerator, tooltip, callback, is_active */
+ {"ShowFullScreenAction", NULL, N_("Full screen mode"), NULL, NULL,
+ G_CALLBACK ( gsb_menu_full_screen_mode ), 0 },
+};
+
+static const GtkActionEntry division_sensitive_entries[] =
+{
+ {"SaveAsAction", GTK_STOCK_SAVE_AS, N_("_Save as..."), NULL, NULL,
+ G_CALLBACK ( gsb_file_save_as ) },
+ {"FileRevertAction", GTK_STOCK_REVERT_TO_SAVED, NULL, NULL,
+ N_("Revert to a saved version of the file..."),
+ G_CALLBACK ( gsb_file_save_as ) },
+ { "ExportFileAction", GTK_STOCK_CONVERT, N_("_Export accounts as QIF/CSV file..."), NULL, NULL,
+ G_CALLBACK ( export_accounts ) },
+ {"CreateArchiveAction", GTK_STOCK_CLEAR, N_("Archive transactions..."), NULL, NULL,
+ G_CALLBACK ( gsb_assistant_archive_run_by_menu ) },
+ {"ExportArchiveAction", GTK_STOCK_HARDDISK, N_("_Export an archive as GSB/QIF/CSV file..."), NULL, NULL,
+ G_CALLBACK ( gsb_assistant_archive_export_run ) },
+ {"DebugFileAction", GTK_STOCK_FIND, N_("_Debug account file..."), "", NULL,
+ G_CALLBACK ( gsb_debug ) },
+ {"ObfuscateAction", GTK_STOCK_FIND, N_("_Obfuscate account file..."), "", NULL,
+ G_CALLBACK ( file_obfuscate_run ) },
+#ifdef GTKOSXAPPLICATION
+ {"CloseAction", GTK_STOCK_CLOSE, NULL, "<Meta>W", NULL,
+ G_CALLBACK ( grisbi_app_close_file ) },
+#else
+ {"CloseAction", GTK_STOCK_CLOSE, NULL, NULL, NULL,
+ G_CALLBACK ( grisbi_app_close_file ) },
+#endif
+ {"NewAccountAction", GTK_STOCK_NEW, N_("_New account"), "", NULL,
+ G_CALLBACK ( gsb_assistant_account_run ) },
+ {"PrefsAction", GTK_STOCK_PREFERENCES, N_("_Preferences"), NULL, NULL,
+ G_CALLBACK ( preferences ) },
+};
+
+static const GtkActionEntry file_save_entries[] =
+{
+#ifdef GTKOSXAPPLICATION
+ {"SaveAction", GTK_STOCK_SAVE, N_("_Save"), "<Meta>S", NULL,
+ G_CALLBACK ( gsb_file_save ) },
+#else
+ {"SaveAction", GTK_STOCK_SAVE, N_("_Save"), NULL, NULL,
+ G_CALLBACK ( gsb_file_save ) },
+#endif
+};
+
+static const GtkActionEntry file_recent_files_entrie[] =
+{
+ {"RecentFilesAction", NULL, N_("_Recently opened files"), NULL, NULL, NULL },
+};
+
+static GtkToggleActionEntry file_debug_toggle_entrie[] =
+{
+/* Name, stock_id, label, accelerator, tooltip, callback, is_active */
+ {"DebugModeAction", NULL, N_("Debug mode"), NULL, NULL,
+ G_CALLBACK ( gsb_debug_start_log ), 0 },
+};
+
+static const GtkActionEntry edit_sensitive_entries[] =
+{
+ {"EditTransactionAction", GTK_STOCK_EDIT, N_("_Edit transaction"), "", NULL,
+ G_CALLBACK ( gsb_transactions_list_edit_current_transaction ) },
+ {"NewTransactionAction", GTK_STOCK_NEW, N_("_New transaction"), "", NULL,
+ G_CALLBACK ( new_transaction ) },
+ {"MoveToAnotherAccountAction", NULL, N_("_Move transaction to another account"), NULL, NULL, NULL },
+ {"RemoveAccountAction", GTK_STOCK_DELETE, N_("_Remove current account"), "", NULL,
+ G_CALLBACK ( gsb_account_delete ) },
+};
+
+static const GtkActionEntry edit_transaction_entrie[] =
+{
+ {"EditTransactionAction", GTK_STOCK_EDIT, N_("_Edit transaction"), "", NULL,
+ G_CALLBACK ( gsb_transactions_list_edit_current_transaction ) },
+};
+
+static const GtkActionEntry edit_transactions_entries[] =
+{
+ {"RemoveTransactionAction", GTK_STOCK_DELETE, N_("_Remove transaction"), "", NULL,
+ G_CALLBACK ( remove_transaction ) },
+ {"TemplateTransactionAction", GTK_STOCK_COPY, N_("Use selected transaction as a template"), "", NULL,
+ G_CALLBACK ( gsb_transactions_list_clone_template ) },
+ {"CloneTransactionAction", GTK_STOCK_COPY, N_("_Clone transaction"), "", NULL,
+ G_CALLBACK ( clone_selected_transaction ) },
+ {"ConvertToScheduledAction", GTK_STOCK_CONVERT, N_("Convert to _scheduled transaction"), NULL, NULL,
+ G_CALLBACK ( schedule_selected_transaction ) },
+};
+
+
+static const GtkActionEntry view_init_width_col_entrie[] =
+{
+ {"InitwidthColAction", NULL, N_("Reset the column width"), NULL, NULL,
+ G_CALLBACK ( gsb_menu_reinit_largeur_col_menu ) },
+
+};
+
+static GtkRadioActionEntry view_radio_entries[] =
+{
+ /* Name, StockID, Label, Accelerator, Tooltip, Value */
+ {"ShowOneLineAction", NULL, N_("Show _one line per transaction"), NULL, NULL,
+ ONE_LINE_PER_TRANSACTION },
+ {"ShowTwoLinesAction", NULL, N_("Show _two lines per transaction"), NULL, NULL,
+ TWO_LINES_PER_TRANSACTION },
+ {"ShowThreeLinesAction", NULL, N_("Show _three lines per transaction"), NULL, NULL,
+ THREE_LINES_PER_TRANSACTION },
+ {"ShowFourLinesAction", NULL, N_("Show _four lines per transaction"), NULL, NULL,
+ FOUR_LINES_PER_TRANSACTION },
+};
+
+static GtkToggleActionEntry view_toggle_entries[] =
+{
+/* Name, stock_id, label, accelerator, tooltip, callback, is_active */
+ {"ShowTransactionFormAction", NULL, N_("Show transaction _form"), NULL, NULL,
+ G_CALLBACK ( gsb_gui_toggle_show_form ), 0 },
+#ifdef GTKOSXAPPLICATION
+ {"ShowReconciledAction", NULL, N_("Show _reconciled"), "<Meta>R", NULL,
+ G_CALLBACK ( gsb_gui_toggle_show_reconciled ), 0 },
+ {"ShowArchivedAction", NULL, N_("Show _lines archives"), "<Meta>L", NULL,
+ G_CALLBACK ( gsb_gui_toggle_show_archived ), 0 },
+#else
+ {"ShowReconciledAction", NULL, N_("Show _reconciled"), "<Alt>R", NULL,
+ G_CALLBACK ( gsb_gui_toggle_show_reconciled ), 0 },
+ {"ShowArchivedAction", NULL, N_("Show _lines archives"), "<Alt>L", NULL,
+ G_CALLBACK ( gsb_gui_toggle_show_archived ), 0 },
+#endif
+ {"ShowClosedAction", NULL, N_("Show _closed accounts"), NULL, NULL,
+ G_CALLBACK ( gsb_gui_toggle_show_closed_accounts ),0 }
+};
+
+
+#endif /* __GRISBI_UI_H__ */
diff --git a/src/grisbi_window.c b/src/grisbi_window.c
new file mode 100644
index 0000000..25ad706
--- /dev/null
+++ b/src/grisbi_window.c
@@ -0,0 +1,838 @@
+/* ************************************************************************** */
+/* */
+/* Copyright (C) 2001-2008 Cédric Auger (cedric at grisbi.org) */
+/* 2003-2008 Benjamin Drieu (bdrieu at april.org) */
+/* 2009-2012 Pierre Biava (grisbi at pierre.biava.name) */
+/* http://www.grisbi.org */
+/* */
+/* This program is free software; you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation; either version 2 of the License, or */
+/* (at your option) any later version. */
+/* */
+/* This program is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
+/* GNU General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program; if not, write to the Free Software */
+/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+/* */
+/* ************************************************************************** */
+
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string.h>
+#include <unistd.h>
+
+#include <glib/gi18n.h>
+#include <gdk/gdkkeysyms.h>
+
+/*START_INCLUDE*/
+#include "grisbi_window.h"
+#include "grisbi_app.h"
+#include "grisbi_ui.h"
+#include "gsb_dirs.h"
+#include "menu.h"
+#include "navigation.h"
+#include "structures.h"
+#include "utils_gtkbuilder.h"
+/*END_INCLUDE*/
+
+
+/*START_STATIC*/
+static GtkActionGroup *grisbi_window_add_recents_action_group ( GtkUIManager *ui_manager,
+ GrisbiAppConf *conf );
+static void grisbi_window_add_recents_sub_menu ( GtkUIManager *ui_manager,
+ gint nb_derniers_fichiers_ouverts );
+static void grisbi_window_init_menus ( GrisbiWindow *window );
+static gboolean grisbi_window_initialise_builder ( void );
+static GtkWidget *grisbi_window_new_headings_eb ( GrisbiWindow *window );
+static GtkWidget *grisbi_window_new_statusbar ( GrisbiWindow *window );
+/*END_STATIC*/
+
+
+#define GRISBI_WINDOW_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), GRISBI_TYPE_WINDOW, GrisbiWindowPrivate))
+
+static GtkBuilder *grisbi_window_builder = NULL;
+
+struct _GrisbiWindowPrivate
+{
+ /* Vbox générale */
+ GtkWidget *main_box;
+
+ /* nom du fichier associé à la fenêtre */
+ gchar *filename;
+
+ /* titre de la fenêtre */
+ gchar *title;
+
+ /* Menus et barres d'outils */
+ GtkWidget *menu_bar;
+ GtkUIManager *ui_manager;
+ GtkActionGroup *always_sensitive_action_group;
+ GtkActionGroup *division_sensitive_action_group;
+ GtkActionGroup *file_save_action_group;
+ GtkActionGroup *file_recent_files_action_group;
+ GtkActionGroup *file_debug_toggle_action_group;
+ GtkActionGroup *edit_sensitive_action_group;
+ GtkActionGroup *edit_transactions_action_group;
+ GtkActionGroup *view_sensitive_action_group;
+
+ /* statusbar */
+ GtkWidget *statusbar;
+ guint context_id;
+ guint message_id;
+
+ /* headings_bar */
+ GtkWidget *headings_eb;
+};
+
+
+G_DEFINE_TYPE(GrisbiWindow, grisbi_window, GTK_TYPE_WINDOW)
+
+
+static void grisbi_window_realized ( GtkWidget *window,
+ gpointer *data )
+{
+
+ /* return */
+}
+
+
+static void grisbi_window_finalize ( GObject *object )
+{
+ GrisbiWindow *window;
+
+ devel_debug (NULL);
+
+ window = GRISBI_WINDOW ( object );
+
+ g_free ( window->priv->title );
+ g_free ( window->priv->filename );
+
+ G_OBJECT_CLASS ( grisbi_window_parent_class )->finalize ( object );
+}
+
+
+static gboolean grisbi_window_key_press_event ( GtkWidget *widget,
+ GdkEventKey *event,
+ gpointer data )
+{
+ GrisbiAppConf *conf;
+
+ switch ( event -> keyval )
+ {
+ case GDK_KEY_F11 :
+ conf = grisbi_app_get_conf ( );
+ if ( conf->full_screen )
+ gtk_window_unfullscreen ( GTK_WINDOW ( widget ) );
+ else
+ gtk_window_fullscreen ( GTK_WINDOW ( widget ) );
+ break;
+ }
+
+ return FALSE;
+}
+
+
+static gboolean grisbi_window_state_event ( GtkWidget *widget,
+ GdkEventWindowState *event )
+{
+ GrisbiWindow *window = GRISBI_WINDOW ( widget );
+ GrisbiAppConf *conf;
+ gboolean show;
+
+ if ( event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED )
+ {
+ show = !( event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED );
+
+ gtk_statusbar_set_has_resize_grip ( GTK_STATUSBAR ( window->priv->statusbar ), show );
+ conf = grisbi_app_get_conf ( );
+ conf->maximize_screen = !show;
+ }
+ else if ( event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN )
+ {
+ show = !( event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN );
+
+ gtk_statusbar_set_has_resize_grip ( GTK_STATUSBAR ( window->priv->statusbar ), show );
+ conf = grisbi_app_get_conf ( );
+ conf->full_screen = !show;
+ }
+
+ return FALSE;
+}
+
+
+static void grisbi_window_class_init ( GrisbiWindowClass *klass )
+{
+ GObjectClass *object_class = G_OBJECT_CLASS ( klass );
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS ( klass );
+
+ object_class->finalize = grisbi_window_finalize;
+ widget_class->window_state_event = grisbi_window_state_event;
+
+ g_type_class_add_private ( object_class, sizeof ( GrisbiWindowPrivate ) );
+}
+
+
+static void grisbi_window_init ( GrisbiWindow *window )
+{
+ GtkWidget *main_box;
+ GtkWidget *statusbar;
+ GtkWidget *headings_eb;
+
+ window->priv = GRISBI_WINDOW_GET_PRIVATE ( window );
+
+ if ( !grisbi_window_initialise_builder ( ) )
+ return;
+
+ /* Création de la fenêtre de dialogue pour le graph */
+ main_box = GTK_WIDGET ( gtk_builder_get_object ( grisbi_window_builder, "main_vbox" ) );
+
+ window->priv->main_box = main_box;
+
+ gtk_container_add ( GTK_CONTAINER ( window ), main_box );
+ gtk_widget_show ( main_box );
+
+ /* create the menus */
+ grisbi_window_init_menus ( window );
+
+ /* create the headings eb */
+ headings_eb = grisbi_window_new_headings_eb ( window );
+ gtk_box_pack_start ( GTK_BOX ( main_box ), headings_eb, FALSE, FALSE, 0 );
+
+ /* create the statusbar */
+ statusbar = grisbi_window_new_statusbar ( window );
+ gtk_box_pack_end ( GTK_BOX ( main_box ), statusbar, FALSE, FALSE, 0 );
+
+ /* set the signals */
+ g_signal_connect ( G_OBJECT ( window ),
+ "realize",
+ G_CALLBACK ( grisbi_window_realized ),
+ NULL );
+
+ g_signal_connect ( G_OBJECT ( window ),
+ "key-press-event",
+ G_CALLBACK ( grisbi_window_key_press_event ),
+ NULL );
+}
+
+
+/* MENUS */
+static void grisbi_window_init_menus ( GrisbiWindow *window )
+{
+ GrisbiAppConf *conf;
+ GtkUIManager *ui_manager;
+ GtkActionGroup *actions;
+ GError *error = NULL;
+ gchar *ui_file;
+
+ ui_manager = gtk_ui_manager_new ( );
+ window->priv->ui_manager = ui_manager;
+
+ conf = grisbi_app_get_conf ( );
+
+ /* actions toujours accessibles (sensitives) */
+ actions = gtk_action_group_new ( "AlwaysSensitiveActions" );
+ gtk_action_group_set_translation_domain ( actions, NULL );
+ gtk_action_group_add_actions (actions,
+ always_sensitive_entries,
+ G_N_ELEMENTS ( always_sensitive_entries ),
+ window );
+
+ /* ShowFullScreenAction sensitive */
+ gtk_action_group_add_toggle_actions ( actions,
+ show_full_screen_entrie,
+ G_N_ELEMENTS ( show_full_screen_entrie ),
+ NULL );
+
+ gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
+ g_object_unref ( actions );
+ window->priv->always_sensitive_action_group = actions;
+
+ /* Actions pour la gestion des fichiers sensitives */
+ actions = gtk_action_group_new ( "DivisionSensitiveActions" );
+ gtk_action_group_set_translation_domain ( actions, NULL );
+ gtk_action_group_add_actions (actions,
+ division_sensitive_entries,
+ G_N_ELEMENTS ( division_sensitive_entries ),
+ window );
+
+ gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
+ g_object_unref ( actions );
+ window->priv->division_sensitive_action_group = actions;
+ gtk_action_group_set_sensitive ( actions, FALSE );
+
+ /* Actions pour la gestion des fichiers sensitives */
+ actions = gtk_action_group_new ( "FileSaveAction" );
+ gtk_action_group_set_translation_domain ( actions, NULL );
+ gtk_action_group_add_actions (actions,
+ file_save_entries,
+ G_N_ELEMENTS ( file_save_entries ),
+ window );
+
+ gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
+ g_object_unref ( actions );
+ window->priv->file_save_action_group = actions;
+ gtk_action_group_set_sensitive ( actions, FALSE );
+
+ /* Actions pour la gestion des fichiers récents */
+ actions = gtk_action_group_new ( "FileRecentFilesAction" );
+ gtk_action_group_set_translation_domain ( actions, NULL );
+ gtk_action_group_add_actions (actions,
+ file_recent_files_entrie,
+ G_N_ELEMENTS ( file_recent_files_entrie ),
+ window );
+
+ gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
+ g_object_unref ( actions );
+ gtk_action_group_set_sensitive ( actions, TRUE );
+
+ /* DebugToggle_Action sensitive */
+ actions = gtk_action_group_new ( "FileDebugToggleAction" );
+ gtk_action_group_set_translation_domain ( actions, NULL );
+ gtk_action_group_add_toggle_actions ( actions,
+ file_debug_toggle_entrie,
+ G_N_ELEMENTS ( file_debug_toggle_entrie ),
+ NULL );
+
+ gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
+ g_object_unref ( actions );
+ window->priv->file_debug_toggle_action_group = actions;
+ gtk_action_group_set_sensitive ( actions, FALSE );
+
+ /* actions du menu Edit sensitives */
+ actions = gtk_action_group_new ( "EditSensitiveActions" );
+ gtk_action_group_set_translation_domain ( actions, NULL );
+ gtk_action_group_add_actions (actions,
+ edit_sensitive_entries,
+ G_N_ELEMENTS ( edit_sensitive_entries ),
+ window );
+
+ gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
+ g_object_unref ( actions );
+ window->priv->edit_sensitive_action_group = actions;
+ gtk_action_group_set_sensitive ( actions, FALSE );
+
+ /* actions propres aux transactions */
+ actions = gtk_action_group_new ( "EditTransactionsActions" );
+ gtk_action_group_set_translation_domain ( actions, NULL );
+ gtk_action_group_add_actions (actions,
+ edit_transactions_entries,
+ G_N_ELEMENTS ( edit_transactions_entries ),
+ window );
+
+ gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
+ g_object_unref ( actions );
+ window->priv->edit_transactions_action_group = actions;
+ gtk_action_group_set_sensitive ( actions, FALSE );
+
+ /* actions du menu View sensitives */
+ actions = gtk_action_group_new ( "ViewSensitiveActions" );
+ gtk_action_group_set_translation_domain ( actions, NULL );
+ gtk_action_group_add_actions (actions,
+ view_init_width_col_entrie,
+ G_N_ELEMENTS ( view_init_width_col_entrie ),
+ window );
+
+ gtk_action_group_add_radio_actions ( actions,
+ view_radio_entries,
+ G_N_ELEMENTS ( view_radio_entries ),
+ -1,
+ G_CALLBACK ( gsb_gui_toggle_line_view_mode ),
+ NULL );
+
+ gtk_action_group_add_toggle_actions ( actions,
+ view_toggle_entries,
+ G_N_ELEMENTS ( view_toggle_entries ),
+ NULL );
+
+ gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
+ g_object_unref ( actions );
+ window->priv->view_sensitive_action_group = actions;
+ gtk_action_group_set_sensitive ( actions, FALSE );
+
+ /* now load the UI definition */
+ ui_file = g_build_filename ( gsb_dirs_get_ui_dir ( ), "grisbi_ui.xml", NULL );
+ gtk_ui_manager_add_ui_from_file ( ui_manager, ui_file, &error );
+ if ( error != NULL )
+ {
+ g_warning ( "Could not merge %s: %s", ui_file, error->message );
+ g_error_free ( error );
+ }
+ g_free ( ui_file );
+
+ /* on ajoute les derniers fichiers utilisés */
+ if ( conf->nb_derniers_fichiers_ouverts && conf->nb_max_derniers_fichiers_ouverts )
+ {
+ actions = grisbi_window_add_recents_action_group ( ui_manager, conf );
+ grisbi_window_add_recents_sub_menu ( ui_manager, conf->nb_derniers_fichiers_ouverts );
+ window->priv->file_recent_files_action_group = actions;
+ }
+
+#ifndef GTKOSXAPPLICATION
+ gtk_window_add_accel_group ( GTK_WINDOW ( window ),
+ gtk_ui_manager_get_accel_group ( ui_manager ) );
+#endif /* !GTKOSXAPPLICATION */
+
+ window->priv->menu_bar = gtk_ui_manager_get_widget ( ui_manager, "/menubar" );
+ gtk_box_pack_start ( GTK_BOX ( window->priv->main_box ), window->priv->menu_bar, FALSE, TRUE, 0 );
+
+ /* return */
+}
+
+
+/**
+ * return ui_manager
+ *
+ * \param GrisbiWindow
+ *
+ * \return ui_manager
+**/
+GtkUIManager *grisbi_window_get_ui_manager ( GrisbiWindow *window )
+{
+ return window->priv->ui_manager;
+}
+
+
+GtkActionGroup *grisbi_window_get_action_group ( GrisbiWindow *window,
+ const gchar *action_group_name )
+{
+ if ( strcmp ( action_group_name, "AlwaysSensitiveActions" ) == 0 )
+ return window->priv->edit_sensitive_action_group;
+ else if ( strcmp ( action_group_name, "DivisionSensitiveActions" ) == 0 )
+ return window->priv->division_sensitive_action_group;
+ else if ( strcmp ( action_group_name, "FileRecentFilesAction" ) == 0 )
+ return window->priv->file_recent_files_action_group;
+ else if ( strcmp ( action_group_name, "FileDebugToggleAction" ) == 0 )
+ return window->priv->file_debug_toggle_action_group;
+ else if ( strcmp ( action_group_name, "EditSensitiveActions" ) == 0 )
+ return window->priv->edit_sensitive_action_group;
+ else if ( strcmp ( action_group_name, "EditTransactionsActions" ) == 0 )
+ return window->priv->edit_transactions_action_group;
+ else if ( strcmp ( action_group_name, "ViewSensitiveActions" ) == 0 )
+ return window->priv->view_sensitive_action_group;
+ else
+ return NULL;
+}
+
+
+/**
+ * Add menu items to the action_group "FileRecentFilesGroupAction"
+ *
+ * \param
+ *
+ * \return
+ **/
+static GtkActionGroup *grisbi_window_add_recents_action_group ( GtkUIManager *ui_manager,
+ GrisbiAppConf *conf )
+{
+ GtkActionGroup *actions;
+ gint i;
+
+ devel_debug (NULL);
+
+ actions = gtk_action_group_new ( "FileRecentFilesGroupAction" );
+ for ( i = 0 ; i < conf->nb_derniers_fichiers_ouverts ; i++ )
+ {
+ gchar *tmp_name;
+ GtkAction *action;
+
+ tmp_name = g_strdup_printf ( "LastFile%d", i );
+
+ action = gtk_action_new ( tmp_name,
+ conf->tab_noms_derniers_fichiers_ouverts[i],
+ "",
+ "" );
+ g_free ( tmp_name );
+ g_signal_connect ( action,
+ "activate",
+ G_CALLBACK ( gsb_file_open_direct_menu ),
+ GINT_TO_POINTER ( i ) );
+ gtk_action_group_add_action ( actions, action );
+ }
+
+ gtk_ui_manager_insert_action_group ( ui_manager, actions, 1 );
+ g_object_unref ( actions );
+
+ return actions;
+}
+
+
+/**
+ * Add menu items to the action_group "FileRecentFilesGroupAction".
+ *
+ * \param
+ *
+ * \return
+ **/
+static void grisbi_window_add_recents_sub_menu ( GtkUIManager *ui_manager,
+ gint nb_derniers_fichiers_ouverts )
+{
+ gint recent_files_merge_id = -1;
+ gint i;
+
+ devel_debug (NULL);
+
+ recent_files_merge_id = gtk_ui_manager_new_merge_id ( ui_manager );
+
+ for ( i=0 ; i < nb_derniers_fichiers_ouverts ; i++ )
+ {
+ gchar *tmp_name;
+ gchar *tmp_label;
+
+ tmp_name = g_strdup_printf ( "LastFile%d", i );
+ tmp_label = g_strdup_printf ( "_%d LastFile%d", i, i );
+
+ gtk_ui_manager_add_ui ( ui_manager,
+ recent_files_merge_id,
+ "/menubar/FileMenu/RecentFiles/FileRecentsPlaceholder",
+ tmp_label,
+ tmp_name,
+ GTK_UI_MANAGER_MENUITEM,
+ FALSE );
+
+ g_free ( tmp_name );
+ g_free ( tmp_label );
+ }
+}
+
+
+/* TITLE OF MAIN WINDOW */
+/**
+ * set window title
+ *
+ *
+ *
+ * */
+void grisbi_window_set_title ( GrisbiApp *app,
+ const gchar *title )
+{
+ GrisbiWindow *window;
+
+ window = grisbi_app_get_active_window ( app );
+
+ if ( window->priv->title )
+ g_free ( window->priv->title );
+
+ gtk_window_set_title ( GTK_WINDOW ( window ), title );
+}
+
+
+/* GTK_BUILDER */
+/**
+ * Crée un builder et récupère les widgets du fichier grisbi.ui
+ *
+ * \param
+ *
+ * \rerurn
+ * */
+gboolean grisbi_window_initialise_builder ( void )
+{
+ /* Creation d'un nouveau GtkBuilder */
+ grisbi_window_builder = gtk_builder_new ( );
+ if ( grisbi_window_builder == NULL )
+ return FALSE;
+
+ /* récupère les widgets */
+ if ( utils_gtkbuilder_merge_ui_data_in_builder ( grisbi_window_builder, "grisbi.ui" ) )
+ return TRUE;
+ else
+ return FALSE;
+}
+
+
+/* FILENAME */
+/**
+ * retourne le nom du fichier associé à la fenêtre
+ *
+ * \param GrisbiWindow
+ *
+ * \return filename
+ **/
+const gchar *grisbi_window_get_filename ( GrisbiWindow *window )
+{
+ return window->priv->filename;
+}
+
+/**
+ * définit le nom du fichier associé à la fenêtre
+ *
+ * \param GrisbiWindow
+ * \param filename
+ *
+ * \return TRUE
+ **/
+gboolean grisbi_window_set_filename ( GrisbiWindow *window,
+ const gchar *filename )
+{
+ devel_debug ( filename );
+
+ g_free ( window->priv->filename );
+
+ window->priv->filename = g_strdup ( filename );
+
+ return TRUE;
+}
+
+/* STATUS_BAR */
+/**
+ * Create and return a new GtkStatusBar to hold various status
+ * information.
+ *
+ * \param
+ *
+ * \return A newly allocated GtkStatusBar.
+ */
+static GtkWidget *grisbi_window_new_statusbar ( GrisbiWindow *window )
+{
+ GtkWidget *statusbar;
+
+ statusbar = GTK_WIDGET ( gtk_builder_get_object ( grisbi_window_builder, "main_statusbar" ) );
+ window->priv->statusbar = statusbar;
+ window->priv->context_id = gtk_statusbar_get_context_id ( GTK_STATUSBAR ( statusbar ), "Grisbi" );
+ window->priv->message_id = -1;
+
+ return statusbar;
+}
+
+
+/**
+ * supprime le message de la liste
+ *
+ * \param GrisbiWindow
+ *
+ * \return
+ **/
+void grisbi_window_statusbar_remove ( GrisbiWindow *window )
+{
+ if ( window->priv->message_id >= 0 )
+ {
+ gtk_statusbar_remove ( GTK_STATUSBAR ( window->priv->statusbar ),
+ window->priv->context_id,
+ window->priv->message_id );
+ window->priv->message_id = -1;
+ }
+
+}
+
+
+/**
+ * met un message dans la barre d'état de la fenêtre
+ *
+ * \param GrisbiWindow
+ * \param msg
+ *
+ * \return
+ **/
+void grisbi_window_statusbar_push ( GrisbiWindow *window,
+ const gchar *msg )
+{
+ window->priv->message_id = gtk_statusbar_push ( GTK_STATUSBAR ( window->priv->statusbar ),
+ window->priv->context_id, msg );
+}
+
+
+/* HEADINGS_EB */
+/**
+ * Trigger a callback functions only if button event that triggered it
+ * was a simple click.
+ *
+ * \param button
+ * \param event
+ * \param callback function
+ *
+ * \return TRUE.
+ */
+static gboolean grisbi_window_headings_simpleclick_event_run ( GtkWidget *button,
+ GdkEvent *button_event,
+ GCallback callback )
+{
+ if ( button_event -> type == GDK_BUTTON_PRESS )
+ {
+ callback ( );
+ }
+
+ return TRUE;
+}
+
+
+/**
+ * Create and return a new headings_bar
+ * information.
+ *
+ * \param
+ *
+ * \return A newly allocated headings_eb.
+ */
+static GtkWidget *grisbi_window_new_headings_eb ( GrisbiWindow *window )
+{
+ GtkWidget *headings_eb;
+ GtkWidget *arrow_eb;
+ GtkStyle *style;
+
+ headings_eb = GTK_WIDGET ( gtk_builder_get_object ( grisbi_window_builder, "headings_eb" ) );
+ window->priv->headings_eb = headings_eb;
+ style = gtk_widget_get_style ( headings_eb );
+
+ arrow_eb = GTK_WIDGET ( gtk_builder_get_object ( grisbi_window_builder, "arrow_eb_left" ) );
+ gtk_widget_modify_bg ( arrow_eb, 0, &(style -> bg[GTK_STATE_ACTIVE]) );
+ g_signal_connect ( G_OBJECT ( arrow_eb ),
+ "button-press-event",
+ G_CALLBACK ( grisbi_window_headings_simpleclick_event_run ),
+ gsb_gui_navigation_select_prev );
+
+
+ arrow_eb = GTK_WIDGET ( gtk_builder_get_object ( grisbi_window_builder, "arrow_eb_right" ) );
+ gtk_widget_modify_bg ( arrow_eb, 0, &(style -> bg[GTK_STATE_ACTIVE]) );
+ g_signal_connect ( G_OBJECT ( arrow_eb ), "button-press-event",
+ G_CALLBACK ( grisbi_window_headings_simpleclick_event_run ),
+ gsb_gui_navigation_select_next );
+
+ gtk_widget_modify_bg ( headings_eb, 0, &(style -> bg[GTK_STATE_ACTIVE]) );
+
+
+ return headings_eb;
+}
+
+
+/**
+ * retourne headings_eb
+ *
+ * \param
+ *
+ * \return
+ **/
+GtkWidget *grisbi_window_get_headings_eb ( GrisbiWindow *window )
+{
+ return window->priv->headings_eb;
+}
+
+
+/**
+ * Update one of the heading bar label with a new text.
+ *
+ * \param label Label to update.
+ * \param text String to display in headings bar.
+ * \param text escape string to display in headings bar.
+ *
+ */
+void grisbi_window_headings_update_label_markup ( gchar *label_name,
+ const gchar *text,
+ gboolean escape_text )
+{
+ GtkWidget *label;
+ gchar* tmpstr;
+
+ if ( escape_text )
+ tmpstr = g_markup_printf_escaped ("<b>%s</b>", text );
+ else
+ tmpstr = g_strconcat ( "<b>", text, "</b>", NULL );
+
+ label = GTK_WIDGET ( gtk_builder_get_object ( grisbi_window_builder, label_name ) );
+
+ if ( GTK_IS_LABEL ( label ) )
+ gtk_label_set_markup ( GTK_LABEL ( label ), tmpstr );
+
+ g_free ( tmpstr );
+}
+
+
+/* HPANED */
+/**
+ * met à jour la taille du panneau de gauche
+ *
+ * \param hpaned
+ * \param allocation
+ * \param null
+ *
+ * \return
+ **/
+static gboolean grisbi_window_hpaned_size_allocate ( GtkWidget *hpaned,
+ GtkAllocation *allocation,
+ gpointer null )
+{
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+ conf->panel_width = gtk_paned_get_position ( GTK_PANED ( hpaned ) );
+
+ return FALSE;
+
+}
+
+/**
+ *
+ *
+ * \param
+ *
+ * \return
+ **/
+GtkWidget *grisbi_window_new_hpaned ( GrisbiWindow *window )
+{
+ GtkWidget *hpaned_general;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
+ /* initialisation du hpaned */
+ hpaned_general = GTK_WIDGET ( gtk_builder_get_object ( grisbi_window_builder, "hpaned_general" ) );
+
+ g_signal_connect ( G_OBJECT ( hpaned_general ),
+ "size_allocate",
+ G_CALLBACK ( grisbi_window_hpaned_size_allocate ),
+ NULL );
+ gtk_container_set_border_width ( GTK_CONTAINER ( hpaned_general ), 6 );
+
+ if ( conf->panel_width == -1 )
+ {
+ gint width, height;
+
+ gtk_window_get_size ( GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ), &width, &height );
+ gtk_paned_set_position ( GTK_PANED ( hpaned_general ), (gint) width / 4 );
+ }
+ else
+ {
+ if ( conf->panel_width )
+ gtk_paned_set_position ( GTK_PANED ( hpaned_general ), conf->panel_width );
+ else
+ gtk_paned_set_position ( GTK_PANED ( hpaned_general ), 1 );
+ }
+
+ return hpaned_general;
+}
+
+
+/* FONCTIONS UTILITAIRES */
+/**
+ * retourne le widget nommé
+ *
+ * \param nom du widget recherché
+ *
+ * \return
+ **/
+GtkWidget *grisbi_window_get_widget_by_name ( const gchar *name )
+{
+ GtkWidget *widget;
+
+ widget = GTK_WIDGET ( gtk_builder_get_object ( grisbi_window_builder, name ) );
+
+ return widget;
+}
+
+
+/**
+ *
+ *
+ * \param
+ *
+ * \return
+ **/
+/* Local Variables: */
+/* c-basic-offset: 4 */
+/* End: */
diff --git a/src/grisbi_window.h b/src/grisbi_window.h
new file mode 100644
index 0000000..97f362b
--- /dev/null
+++ b/src/grisbi_window.h
@@ -0,0 +1,69 @@
+#ifndef __GRISBI_WINDOW_H__
+#define __GRISBI_WINDOW_H__
+
+#include <gtk/gtk.h>
+
+/*START_INCLUDE*/
+/*END_INCLUDE*/
+
+
+
+G_BEGIN_DECLS
+
+/*
+ * Type checking and casting macros
+ */
+#define GRISBI_TYPE_WINDOW (grisbi_window_get_type())
+#define GRISBI_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GRISBI_TYPE_WINDOW, GrisbiWindow))
+#define GRISBI_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GRISBI_TYPE_WINDOW, GrisbiWindowClass))
+#define GRISBI_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GRISBI_TYPE_WINDOW))
+#define GRISBI_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GRISBI_TYPE_WINDOW))
+#define GRISBI_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GRISBI_TYPE_WINDOW, GrisbitWindowClass))
+
+/* Private structure type */
+typedef struct _GrisbiWindowPrivate GrisbiWindowPrivate;
+
+
+/* Main object structure */
+typedef struct _GrisbiWindow GrisbiWindow;
+
+struct _GrisbiWindow
+{
+ GtkWindow window;
+
+ /*< private > */
+ GrisbiWindowPrivate *priv;
+};
+
+/* Class definition */
+typedef struct _GrisbiWindowClass GrisbiWindowClass;
+
+struct _GrisbiWindowClass
+{
+ GtkWindowClass parent_class;
+};
+
+
+/* START_DECLARATION */
+GType grisbi_window_get_type ( void ) G_GNUC_CONST;
+
+GtkActionGroup *grisbi_window_get_action_group ( GrisbiWindow *window,
+ const gchar *action_group_name );
+const gchar *grisbi_window_get_filename ( GrisbiWindow *window );
+GtkWidget *grisbi_window_get_headings_eb ( GrisbiWindow *window );
+GtkWidget *grisbi_window_get_widget_by_name ( const gchar *name );
+GtkUIManager *grisbi_window_get_ui_manager ( GrisbiWindow *window );
+GtkWidget *grisbi_window_new_hpaned ( GrisbiWindow *window );
+void grisbi_window_headings_update_label_markup ( gchar *label_name,
+ const gchar *text,
+ gboolean escape_text );
+gboolean grisbi_window_set_filename ( GrisbiWindow *window,
+ const gchar *filename );
+void grisbi_window_statusbar_remove ( GrisbiWindow *window );
+void grisbi_window_statusbar_push ( GrisbiWindow *window,
+ const gchar *msg );
+/* END_DECLARATION */
+
+G_END_DECLS
+
+#endif /* __GRISBI_APP_H__ */
diff --git a/src/gsb_account.c b/src/gsb_account.c
index b62390e..9ffce4a 100644
--- a/src/gsb_account.c
+++ b/src/gsb_account.c
@@ -140,7 +140,8 @@ gboolean gsb_account_new ( kind_account account_type,
/* Go to accounts properties */
gtk_notebook_set_current_page ( GTK_NOTEBOOK ( notebook_general ), GSB_ACCOUNT_PAGE );
- gtk_notebook_set_current_page ( GTK_NOTEBOOK ( account_page ), GSB_PROPERTIES_PAGE );
+ gtk_notebook_set_current_page ( GTK_NOTEBOOK ( gsb_gui_on_account_get_notebook ( ) ),
+ GSB_PROPERTIES_PAGE );
gsb_account_property_fill_page ();
}
diff --git a/src/gsb_archive_config.c b/src/gsb_archive_config.c
index 0b9d0ef..d6e94bd 100644
--- a/src/gsb_archive_config.c
+++ b/src/gsb_archive_config.c
@@ -35,6 +35,8 @@
/*START_INCLUDE*/
#include "gsb_archive_config.h"
+#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_account_property.h"
#include "gsb_autofunc.h"
#include "gsb_automem.h"
@@ -43,17 +45,16 @@
#include "gsb_data_archive_store.h"
#include "gsb_data_fyear.h"
#include "gsb_data_transaction.h"
+#include "gsb_dirs.h"
#include "gsb_file.h"
-#include "utils_dates.h"
-#include "navigation.h"
#include "gsb_real.h"
#include "gsb_transactions_list.h"
+#include "navigation.h"
+#include "structures.h"
#include "traitement_variables.h"
-#include "utils.h"
-#include "dialog.h"
#include "transaction_list.h"
-#include "structures.h"
-#include "gsb_dirs.h"
+#include "utils.h"
+#include "utils_dates.h"
/*END_INCLUDE*/
/** Columns for payment methods tree */
@@ -99,183 +100,158 @@ GtkWidget *gsb_archive_config_create ( void )
GtkWidget *table, *label;
GtkListStore *archive_model;
gchar *titles[] = {
- _("Name"), _("Initial date"), _("Final date"), _("Financial year"), _("Report name")
+ _("Name"), _("Initial date"), _("Final date"), _("Financial year"), _("Report name")
};
gfloat alignment[] = {
- COLUMN_LEFT, COLUMN_CENTER, COLUMN_CENTER , COLUMN_CENTER, COLUMN_CENTER
+ COLUMN_LEFT, COLUMN_CENTER, COLUMN_CENTER , COLUMN_CENTER, COLUMN_CENTER
};
gint i;
GtkWidget *modification_paddingbox;
GtkWidget *check_paddingbox;
GtkWidget *button;
GtkWidget *entry;
- gchar* tmpstr;
+ gchar* tmpstr;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* create the page */
- vbox_pref = new_vbox_with_title_and_icon ( _("Archives"),
- "archives.png" );
+ vbox_pref = new_vbox_with_title_and_icon ( _("Archives"), "archives.png" );
/* create the list of archives */
- paddingbox = new_paddingbox_with_title (vbox_pref, TRUE,
- _("Known archives"));
+ paddingbox = new_paddingbox_with_title (vbox_pref, TRUE, _("Known archives"));
/* Create scrolled window */
scrolled_window = gtk_scrolled_window_new ( NULL, NULL );
gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scrolled_window ),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC );
- gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW ( scrolled_window ),
- GTK_SHADOW_IN);
- gtk_box_pack_start ( GTK_BOX (paddingbox),
- scrolled_window,
- TRUE, TRUE, 0 );
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC );
+ gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW ( scrolled_window ), GTK_SHADOW_IN );
+ gtk_box_pack_start ( GTK_BOX (paddingbox), scrolled_window, TRUE, TRUE, 0 );
/* Create tree view */
archive_model = gtk_list_store_new (NUM_ARCHIVES_COLUMNS,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_INT );
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_INT );
archive_treeview = gtk_tree_view_new_with_model ( GTK_TREE_MODEL (archive_model) );
g_object_unref (G_OBJECT(archive_model) );
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (archive_treeview), TRUE);
- gtk_container_add ( GTK_CONTAINER (scrolled_window),
- archive_treeview );
+ gtk_container_add ( GTK_CONTAINER (scrolled_window), archive_treeview );
/* set the columns */
for (i=0 ; i<5 ; i++)
{
- GtkTreeViewColumn *column;
- GtkCellRenderer *cell;
-
- cell = gtk_cell_renderer_text_new ();
- g_object_set ( G_OBJECT (cell),
- "xalign", alignment[i],
- NULL );
-
- column = gtk_tree_view_column_new ( );
- gtk_tree_view_column_set_sizing ( column,
- GTK_TREE_VIEW_COLUMN_AUTOSIZE );
- gtk_tree_view_column_set_alignment ( column,
- alignment[i] );
-
- gtk_tree_view_column_pack_start ( column, cell, TRUE );
- gtk_tree_view_column_set_title ( column, titles[i] );
- gtk_tree_view_column_set_attributes (column, cell,
- "text", i,
- NULL);
- gtk_tree_view_column_set_expand ( column, TRUE );
- gtk_tree_view_column_set_resizable ( column,
- TRUE );
- gtk_tree_view_append_column ( GTK_TREE_VIEW(archive_treeview), column);
+ GtkTreeViewColumn *column;
+ GtkCellRenderer *cell;
+
+ cell = gtk_cell_renderer_text_new ();
+ g_object_set ( G_OBJECT (cell), "xalign", alignment[i], NULL );
+
+ column = gtk_tree_view_column_new ( );
+ gtk_tree_view_column_set_sizing ( column, GTK_TREE_VIEW_COLUMN_AUTOSIZE );
+ gtk_tree_view_column_set_alignment ( column, alignment[i] );
+
+ gtk_tree_view_column_pack_start ( column, cell, TRUE );
+ gtk_tree_view_column_set_title ( column, titles[i] );
+ gtk_tree_view_column_set_attributes (column, cell, "text", i, NULL);
+ gtk_tree_view_column_set_expand ( column, TRUE );
+ gtk_tree_view_column_set_resizable ( column, TRUE );
+ gtk_tree_view_append_column ( GTK_TREE_VIEW(archive_treeview), column);
}
/* archive modification */
modification_paddingbox = new_paddingbox_with_title (vbox_pref, FALSE,
- _("Archive modification"));
+ _("Archive modification"));
gtk_widget_set_sensitive ( modification_paddingbox, FALSE );
- g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (archive_treeview)),
- "changed",
- G_CALLBACK (gsb_archive_config_select),
- modification_paddingbox);
+ g_signal_connect ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( archive_treeview ) ),
+ "changed",
+ G_CALLBACK ( gsb_archive_config_select ),
+ modification_paddingbox );
/* archive name (the only thing we can change) */
table = gtk_table_new ( 2, 2, FALSE );
gtk_table_set_col_spacings ( GTK_TABLE ( table ), 6 );
- gtk_box_pack_start ( GTK_BOX ( modification_paddingbox ), table,
- FALSE, FALSE, 6 );
+ gtk_box_pack_start ( GTK_BOX ( modification_paddingbox ), table, FALSE, FALSE, 6 );
label = gtk_label_new ( _("Name: ") );
gtk_misc_set_alignment (GTK_MISC (label), 0, 1);
gtk_table_attach ( GTK_TABLE ( table ),
- label, 0, 1, 0, 1,
- GTK_SHRINK | GTK_FILL, 0,
- 0, 0 );
+ label, 0, 1, 0, 1,
+ GTK_SHRINK | GTK_FILL, 0,
+ 0, 0 );
archive_name_entry = gsb_autofunc_entry_new ( NULL,
- G_CALLBACK (gsb_archive_config_name_changed), archive_treeview,
- G_CALLBACK (gsb_data_archive_set_name), 0 );
- g_signal_connect ( G_OBJECT (archive_name_entry ), "destroy",
- G_CALLBACK ( gtk_widget_destroyed), &archive_name_entry );
+ G_CALLBACK ( gsb_archive_config_name_changed ),
+ archive_treeview,
+ G_CALLBACK ( gsb_data_archive_set_name ),
+ 0 );
+ g_signal_connect ( G_OBJECT ( archive_name_entry ),
+ "destroy",
+ G_CALLBACK ( gtk_widget_destroyed),
+ &archive_name_entry );
gtk_table_attach ( GTK_TABLE ( table ),
- archive_name_entry, 1, 2, 0, 1,
- GTK_SHRINK | GTK_FILL, 0,
- 0, 0 );
+ archive_name_entry, 1, 2, 0, 1,
+ GTK_SHRINK | GTK_FILL, 0,
+ 0, 0 );
/* button to delete an archive and free the transactions */
button = gtk_button_new_with_label (_("Delete the archive"));
- gtk_button_set_relief ( GTK_BUTTON (button),
- GTK_RELIEF_NONE );
+ gtk_button_set_relief ( GTK_BUTTON ( button ), GTK_RELIEF_NONE );
g_signal_connect ( G_OBJECT (button),
- "clicked",
- G_CALLBACK (gsb_archive_config_delete_archive),
- archive_treeview );
+ "clicked",
+ G_CALLBACK ( gsb_archive_config_delete_archive ),
+ archive_treeview );
tmpstr = g_build_filename ( gsb_dirs_get_pixmaps_dir ( ), "import.png", NULL );
- gtk_button_set_image ( GTK_BUTTON(button),
- gtk_image_new_from_file ( tmpstr ) );
+ gtk_button_set_image ( GTK_BUTTON ( button ),
+ gtk_image_new_from_file ( tmpstr ) );
g_free ( tmpstr );
gtk_table_attach ( GTK_TABLE ( table ),
- button, 0, 1, 1, 2,
- GTK_SHRINK | GTK_FILL, 0,
- 0, 0 );
+ button, 0, 1, 1, 2,
+ GTK_SHRINK | GTK_FILL, 0,
+ 0, 0 );
/* button to delete an archive and delete the t pstr ) ); import.png", NULL ); ); , _IN ); WindowClass)) vate)) TRUE ); ¾ÐºÐ¾Ð¼ " ÿ u{ã+ ª|ã+ ¥ã+ ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ ransactions */
button = gtk_button_new_with_label ( _("Delete the archive and transactions") );
- gtk_button_set_relief ( GTK_BUTTON (button),
- GTK_RELIEF_NONE );
- g_signal_connect ( G_OBJECT (button),
- "clicked",
- G_CALLBACK (gsb_archive_config_destroy_archive),
- archive_treeview );
+ gtk_button_set_relief ( GTK_BUTTON ( button ), GTK_RELIEF_NONE );
+ g_signal_connect ( G_OBJECT ( button ),
+ "clicked",
+ G_CALLBACK ( gsb_archive_config_destroy_archive ),
+ archive_treeview );
tmpstr = g_build_filename ( gsb_dirs_get_pixmaps_dir ( ), "import.png", NULL );
- gtk_button_set_image ( GTK_BUTTON(button),
- gtk_image_new_from_file ( tmpstr ) );
+ gtk_button_set_image ( GTK_BUTTON ( button ),
+ gtk_image_new_from_file ( tmpstr ) );
g_free ( tmpstr );
- gtk_button_set_relief ( GTK_BUTTON (button),
- GTK_RELIEF_NONE );
+ gtk_button_set_relief ( GTK_BUTTON ( button ),
+ GTK_RELIEF_NONE );
gtk_table_attach ( GTK_TABLE ( table ),
- button, 1, 2, 1, 2,
- GTK_SHRINK | GTK_FILL, 0,
- 0, 0 );
+ button, 1, 2, 1, 2,
+ GTK_SHRINK | GTK_FILL, 0,
+ 0, 0 );
/* check part at the opening of the file */
- check_paddingbox = new_paddingbox_with_title (vbox_pref, FALSE,
- _("Automatic check"));
+ check_paddingbox = new_paddingbox_with_title ( vbox_pref, FALSE, _("Automatic check") );
button = gsb_automem_checkbutton_new ( _("Check at opening if creating archive is needed."),
- &conf.check_for_archival,
- NULL, NULL );
- gtk_box_pack_start ( GTK_BOX (check_paddingbox),
- button,
- FALSE, FALSE,
- 0 );
-
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start ( GTK_BOX (check_paddingbox),
- hbox,
- TRUE, FALSE,
- 0 );
+ &conf->check_for_archival,
+ NULL, NULL );
+ gtk_box_pack_start ( GTK_BOX (check_paddingbox), button, FALSE, FALSE, 0 );
+
+ hbox = gtk_hbox_new ( FALSE, 0 );
+ gtk_box_pack_start ( GTK_BOX ( check_paddingbox ), hbox, TRUE, FALSE, 0 );
label = gtk_label_new (_("Warn if more than "));
- gtk_box_pack_start ( GTK_BOX (hbox),
- label,
- FALSE, FALSE,
- 0 );
- entry = gsb_automem_spin_button_new (&conf.max_non_archived_transactions_for_check,
- NULL, NULL );
- gtk_widget_set_size_request ( entry,
- 100, -1 );
- gtk_box_pack_start ( GTK_BOX (hbox),
- entry,
- FALSE, FALSE,
- 0 );
- label = gtk_label_new (_(" transactions are not archived."));
- gtk_box_pack_start ( GTK_BOX (hbox),
- label,
- FALSE, FALSE,
- 0 );
+ gtk_box_pack_start ( GTK_BOX (hbox), label, FALSE, FALSE, 0 );
+
+ entry = gsb_automem_spin_button_new ( &conf->max_non_archived_transactions_for_check, NULL, NULL );
+ gtk_widget_set_size_request ( entry, 100, -1 );
+ gtk_box_pack_start ( GTK_BOX (hbox), entry, FALSE, FALSE, 0 );
+
+ label = gtk_label_new ( _(" transactions are not archived.") );
+ gtk_box_pack_start ( GTK_BOX (hbox), label, FALSE, FALSE, 0 );
/* fill the list */
gsb_archive_config_fill_list (archive_model);
@@ -285,7 +261,7 @@ GtkWidget *gsb_archive_config_create ( void )
/** Do not set this tab sensitive is no account file is opened. */
if ( !gsb_data_account_get_accounts_amount () )
{
- gtk_widget_set_sensitive ( vbox_pref, FALSE );
+ gtk_widget_set_sensitive ( vbox_pref, FALSE );
}
return ( vbox_pref );
}
diff --git a/src/gsb_assistant.c b/src/gsb_assistant.c
index debb68c..f9c3a50 100644
--- a/src/gsb_assistant.c
+++ b/src/gsb_assistant.c
@@ -36,6 +36,7 @@
/*START_INCLUDE*/
#include "gsb_assistant.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_dirs.h"
#include "structures.h"
#include "utils.h"
@@ -82,14 +83,14 @@ GtkWidget * gsb_assistant_new ( const gchar * title, const gchar * explanation,
gint width = 140;
assistant = gtk_dialog_new_with_buttons ( title,
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR,
NULL );
gtk_window_set_default_size ( GTK_WINDOW ( assistant ), 800, 500 );
gtk_window_set_position ( GTK_WINDOW ( assistant ), GTK_WIN_POS_CENTER_ON_PARENT );
gtk_window_set_resizable ( GTK_WINDOW ( assistant ), TRUE );
- g_object_set_data ( G_OBJECT ( run.window ), "assistant", assistant );
+ g_object_set_data ( G_OBJECT ( grisbi_app_get_active_window ( NULL ) ), "assistant", assistant );
button_select = gtk_toggle_button_new_with_label ( _("Select all") );
gtk_widget_set_size_request ( button_select, width, -1 );
diff --git a/src/gsb_assistant_archive.c b/src/gsb_assistant_archive.c
index 6626325..5f3c7dc 100644
--- a/src/gsb_assistant_archive.c
+++ b/src/gsb_assistant_archive.c
@@ -36,7 +36,10 @@
/*START_INCLUDE*/
#include "gsb_assistant_archive.h"
+#include "dialog.h"
+#include "etats_calculs.h"
#include "etats_support.h"
+#include "grisbi_app.h"
#include "gsb_assistant.h"
#include "gsb_calendar_entry.h"
#include "gsb_data_archive.h"
@@ -45,17 +48,15 @@
#include "gsb_data_report.h"
#include "gsb_data_transaction.h"
#include "gsb_file.h"
-#include "utils_dates.h"
#include "gsb_fyear.h"
-#include "navigation.h"
#include "gsb_report.h"
#include "gsb_transactions_list.h"
-#include "dialog.h"
+#include "navigation.h"
+#include "structures.h"
#include "traitement_variables.h"
-#include "utils_str.h"
-#include "etats_calculs.h"
#include "utils.h"
-#include "structures.h"
+#include "utils_dates.h"
+#include "utils_str.h"
/*END_INCLUDE*/
/*START_STATIC*/
@@ -127,58 +128,63 @@ GtkResponseType gsb_assistant_archive_run ( gboolean origin )
GtkResponseType return_value;
GtkWidget *assistant;
gchar *tmpstr;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
if (origin)
- /* come from check while opening file */
- tmpstr = g_strdup_printf ( _("There are a lot of transactions in your file (%d) and it is advised not to keep more than about %d transactions unarchived.\n"
- "To increase speed, you should archive them "
- "(the current limit and the opening check-up can be changed in the Preferences)\n\n"
- "This assistant will guide you through the process of archiving transactions "
- "By default, Grisbi does not export any archive into separate files, "
- "it just mark transactions as archted and do not use them.\n\n"
- "You can still export them into a separate archive file if necessary.\n\n"
- "Press Cancel if you don't want make an archive now\n"),
- g_slist_length (gsb_data_transaction_get_transactions_list ()),
- conf.max_non_archived_transactions_for_check );
+ /* come from check while opening file */
+ tmpstr = g_strdup_printf ( _("There are a lot of transactions in your file (%d) and it is "
+ "advised not to keep more than about %d transactions unarchived.\n"
+ "To increase speed, you should archive them "
+ "(the current limit and the opening check-up can be changed in the Preferences)\n\n"
+ "This assistant will guide you through the process of archiving transactions "
+ "By default, Grisbi does not export any archive into separate files, "
+ "it just mark transactions as archted and do not use them.\n\n"
+ "You can still export them into a separate archive file if necessary.\n\n"
+ "Press Cancel if you don't want make an archive now\n"),
+ g_slist_length (gsb_data_transaction_get_transactions_list ()),
+ conf->max_non_archived_transactions_for_check );
else
- /* come by menu action */
- tmpstr = my_strdup (_("This assistant will guide you through the process of archiving transactions "
- "to increase the speed of grisbi.\n\n"
- "By default, Grisbi does not export any archive into separate files, "
- "it just mark transactions as archted and do not use them.\n\n"
- "You can still export them into a separate archive file if necessary.\n"));
+ /* come by menu action */
+ tmpstr = my_strdup (_("This assistant will guide you through the process of archiving transactions "
+ "to increase the speed of grisbi.\n\n"
+ "By default, Grisbi does not export any archive into separate files, "
+ "it just mark transactions as archted and do not use them.\n\n"
+ "You can still export them into a separate archive file if necessary.\n"));
/* create the assistant */
assistant = gsb_assistant_new ( _("Archive transactions"),
- tmpstr,
- "archive.png",
- G_CALLBACK (gsb_assistant_archive_switch_to_intro));
+ tmpstr,
+ "archive.png",
+ G_CALLBACK ( gsb_assistant_archive_switch_to_intro ) );
g_free (tmpstr);
gsb_assistant_add_page ( assistant,
- gsb_assistant_archive_page_menu (assistant),
- ARCHIVE_ASSISTANT_MENU,
- ARCHIVE_ASSISTANT_INTRO,
- ARCHIVE_ASSISTANT_ARCHIVE_NAME,
- G_CALLBACK (gsb_assistant_archive_switch_to_menu));
+ gsb_assistant_archive_page_menu (assistant),
+ ARCHIVE_ASSISTANT_MENU,
+ ARCHIVE_ASSISTANT_INTRO,
+ ARCHIVE_ASSISTANT_ARCHIVE_NAME,
+ G_CALLBACK ( gsb_assistant_archive_switch_to_menu ) );
gsb_assistant_add_page ( assistant,
- gsb_assistant_archive_page_archive_name (assistant),
- ARCHIVE_ASSISTANT_ARCHIVE_NAME,
- ARCHIVE_ASSISTANT_MENU,
- ARCHIVE_ASSISTANT_SUCCESS,
- G_CALLBACK (gsb_assistant_archive_switch_to_archive_name));
+ gsb_assistant_archive_page_archive_name ( assistant ),
+ ARCHIVE_ASSISTANT_ARCHIVE_NAME,
+ ARCHIVE_ASSISTANT_MENU,
+ ARCHIVE_ASSISTANT_SUCCESS,
+ G_CALLBACK ( gsb_assistant_archive_switch_to_archive_name ) );
gsb_assistant_add_page ( assistant,
- gsb_assistant_archive_page_success (),
- ARCHIVE_ASSISTANT_SUCCESS,
- ARCHIVE_ASSISTANT_MENU,
- 0,
- G_CALLBACK (gsb_assistant_archive_switch_to_success));
- return_value = gsb_assistant_run (assistant);
- gtk_widget_destroy (assistant);
+ gsb_assistant_archive_page_success (),
+ ARCHIVE_ASSISTANT_SUCCESS,
+ ARCHIVE_ASSISTANT_MENU,
+ 0,
+ G_CALLBACK ( gsb_assistant_archive_switch_to_success ) );
+ return_value = gsb_assistant_run ( assistant );
+ gtk_widget_destroy ( assistant );
/* the fyear combobox in grisbi are used with the "Automatic" line,
* so show it again */
- gsb_fyear_set_automatic (TRUE);
+ gsb_fyear_set_automatic ( TRUE );
+
return return_value;
}
diff --git a/src/gsb_assistant_archive_export.c b/src/gsb_assistant_archive_export.c
index cf5535f..cff203d 100644
--- a/src/gsb_assistant_archive_export.c
+++ b/src/gsb_assistant_archive_export.c
@@ -35,19 +35,20 @@
/*START_INCLUDE*/
#include "gsb_assistant_archive_export.h"
-#include "gsb_assistant.h"
#include "export_csv.h"
+#include "grisbi_app.h"
+#include "gsb_assistant.h"
#include "gsb_data_archive.h"
#include "gsb_data_fyear.h"
#include "gsb_file.h"
#include "gsb_file_save.h"
#include "gsb_file_util.h"
-#include "utils_dates.h"
+#include "gsb_transactions_list.h"
#include "qif.h"
-#include "utils_str.h"
-#include "utils.h"
#include "structures.h"
-#include "gsb_transactions_list.h"
+#include "utils.h"
+#include "utils_dates.h"
+#include "utils_str.h"
/*END_INCLUDE*/
@@ -351,98 +352,102 @@ static GtkWidget *gsb_assistant_archive_export_page_succes ( GtkWidget *assistan
* \return FALSE
* */
static gboolean gsb_assistant_archive_switch ( GtkWidget *assistant,
- gint new_page )
+ gint new_page )
{
gint archive_number;
GtkTreeModel *model;
const gchar *export_name;
gboolean success = FALSE;
gchar* tmpstr;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
model = gtk_tree_view_get_model (GTK_TREE_VIEW (archive_export_treeview));
archive_number = gsb_assistant_archive_export_get_selected_archive (model);
switch (new_page)
{
- case ARCHIVE_EXPORT_ASSISTANT_INTRO:
- break;
-
- case ARCHIVE_EXPORT_ASSISTANT_CHOOSE:
- if (archive_number)
- gsb_assistant_sensitive_button_next (assistant, TRUE);
- else
- gsb_assistant_sensitive_button_next (assistant, FALSE);
- break;
-
- case ARCHIVE_EXPORT_ASSISTANT_NAME:
- /* if we come here, an archive must have been selected,
- * so needn't to check */
- tmpstr = g_markup_printf_escaped (
- _("<span size=\"x-large\">Exporting the archive: %s</span>"),
- gsb_data_archive_get_name (archive_number));
- gtk_label_set_markup ( GTK_LABEL ( archive_export_label ), tmpstr);
- g_free ( tmpstr );
- /* on remplace les slash des dates par des points
- * avant de fixer le nom du fichier par défaut */
- tmpstr = ( gchar * )gsb_data_archive_get_name ( archive_number );
- tmpstr = my_strdelimit (tmpstr, "/", "." );
- gtk_file_chooser_set_current_name ( GTK_FILE_CHOOSER (archive_export_filechooser), tmpstr );
- gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (archive_export_filechooser), gsb_file_get_last_path () );
- g_free ( tmpstr );
- /* need to set the next button to the next function,
- * because if the export failed and the user did previous button,
- * the next button stay in the close state */
- gsb_assistant_change_button_next ( assistant, GTK_STOCK_GO_FORWARD,
- GTK_RESPONSE_YES );
-
- break;
-
- case ARCHIVE_EXPORT_ASSISTANT_SUCCESS:
- export_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (archive_export_filechooser));
- switch (gtk_combo_box_get_active (GTK_COMBO_BOX(archive_export_combobox)))
- {
- case 0:
- /* GSB format */
- /* the gsb_file_save_save_file function write directly, so we need to check before
- * if the file exists */
- /* on vérifie juste que l'extension existe */
- if ( ! g_strrstr ( export_name, ".gsb" ) )
+ case ARCHIVE_EXPORT_ASSISTANT_INTRO:
+ break;
+
+ case ARCHIVE_EXPORT_ASSISTANT_CHOOSE:
+ if (archive_number)
+ gsb_assistant_sensitive_button_next (assistant, TRUE);
+ else
+ gsb_assistant_sensitive_button_next (assistant, FALSE);
+ break;
+
+ case ARCHIVE_EXPORT_ASSISTANT_NAME:
+ /* if we come here, an archive must have been selected,
+ * so needn't to check */
+ tmpstr = g_markup_printf_escaped (
+ _("<span size=\"x-large\">Exporting the archive: %s</span>"),
+ gsb_data_archive_get_name (archive_number));
+ gtk_label_set_markup ( GTK_LABEL ( archive_export_label ), tmpstr);
+ g_free ( tmpstr );
+ /* on remplace les slash des dates par des points
+ * avant de fixer le nom du fichier par défaut */
+ tmpstr = ( gchar * )gsb_data_archive_get_name ( archive_number );
+ tmpstr = my_strdelimit (tmpstr, "/", "." );
+ gtk_file_chooser_set_current_name ( GTK_FILE_CHOOSER (archive_export_filechooser), tmpstr );
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (archive_export_filechooser),
+ gsb_file_get_last_path () );
+ g_free ( tmpstr );
+ /* need to set the next button to the next function,
+ * because if the export failed and the user did previous button,
+ * the next button stay in the close state */
+ gsb_assistant_change_button_next ( assistant, GTK_STOCK_GO_FORWARD,
+ GTK_RESPONSE_YES );
+
+ break;
+
+ case ARCHIVE_EXPORT_ASSISTANT_SUCCESS:
+ export_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (archive_export_filechooser));
+ switch (gtk_combo_box_get_active (GTK_COMBO_BOX(archive_export_combobox)))
{
- export_name = g_strconcat ( export_name, ".gsb", NULL );
+ case 0:
+ /* GSB format */
+ /* the gsb_file_save_save_file function write directly, so we need to check before
+ * if the file exists */
+ /* on vérifie juste que l'extension existe */
+ if ( ! g_strrstr ( export_name, ".gsb" ) )
+ {
+ export_name = g_strconcat ( export_name, ".gsb", NULL );
+ }
+ success = gsb_file_util_test_overwrite ( export_name )
+ &&
+ gsb_file_save_save_file ( export_name, conf->compress_backup, archive_number );
+ break;
+
+ case 1:
+ /* QIF format */
+ if ( ! g_strrstr ( export_name, ".qif" ) )
+ {
+ export_name = g_strconcat ( export_name, ".qif", NULL );
+ }
+ success = gsb_qif_export_archive ( export_name, archive_number);
+ break;
+
+ case 2:
+ /* CSV format */
+ if ( ! g_strrstr ( export_name, ".csv" ) )
+ {
+ export_name = g_strconcat ( export_name, ".csv", NULL );
+ }
+ success = gsb_csv_export_archive ( export_name, archive_number);
+ break;
}
- success = gsb_file_util_test_overwrite (export_name)
- &&
- gsb_file_save_save_file ( export_name, conf.compress_backup, archive_number);
- break;
-
- case 1:
- /* QIF format */
- if ( ! g_strrstr ( export_name, ".qif" ) )
- {
- export_name = g_strconcat ( export_name, ".qif", NULL );
- }
- success = gsb_qif_export_archive ( export_name, archive_number);
- break;
-
- case 2:
- /* CSV format */
- if ( ! g_strrstr ( export_name, ".csv" ) )
+ /* now success = TRUE or FALSE, show the good final page of assistant */
+ if (success)
+ gtk_label_set_text ( GTK_LABEL (archive_export_label_success),
+ _("Success !\nThe export of the archive finished successfully.\n\nYou can now close the assistant."));
+ else
{
- export_name = g_strconcat ( export_name, ".csv", NULL );
+ gtk_label_set_text ( GTK_LABEL (archive_export_label_success),
+ _("Error !\nAn error occured while saving the archive.\n\nPlease press the Previous button to correct the problem,\nor the close button to cancel the action."));
+ gsb_assistant_sensitive_button_prev ( assistant, TRUE );
}
- success = gsb_csv_export_archive ( export_name, archive_number);
- break;
- }
- /* now success = TRUE or FALSE, show the good final page of assistant */
- if (success)
- gtk_label_set_text ( GTK_LABEL (archive_export_label_success),
- _("Success !\nThe export of the archive finished successfully.\n\nYou can now close the assistant."));
- else
- {
- gtk_label_set_text ( GTK_LABEL (archive_export_label_success),
- _("Error !\nAn error occured while saving the archive.\n\nPlease press the Previous button to correct the problem,\nor the close button to cancel the action."));
- gsb_assistant_sensitive_button_prev ( assistant, TRUE );
- }
}
return FALSE;
}
diff --git a/src/gsb_assistant_file.c b/src/gsb_assistant_file.c
index 57bf2ef..7ec2e39 100644
--- a/src/gsb_assistant_file.c
+++ b/src/gsb_assistant_file.c
@@ -36,6 +36,7 @@
/*START_INCLUDE*/
#include "gsb_assistant_file.h"
#include "affichage.h"
+#include "grisbi_app.h"
#include "gsb_assistant.h"
#include "gsb_automem.h"
#include "gsb_bank.h"
@@ -603,7 +604,7 @@ static gboolean gsb_assistant_file_choose_filename ( GtkWidget *button,
gchar *tmpstr;
dialog = gtk_file_chooser_dialog_new ( _("Create filename"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
diff --git a/src/gsb_assistant_first.c b/src/gsb_assistant_first.c
index f08035a..abec6e9 100644
--- a/src/gsb_assistant_first.c
+++ b/src/gsb_assistant_first.c
@@ -36,6 +36,7 @@
/*START_INCLUDE*/
#include "gsb_assistant_first.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_assistant.h"
#include "gsb_assistant_file.h"
#include "gsb_automem.h"
@@ -197,18 +198,17 @@ static GtkWidget *gsb_assistant_first_page_2 ( GtkWidget *assistant )
gchar *text;
GtkWidget *hbox;
GtkWidget *dialog;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
page = gtk_hbox_new (FALSE, 15);
- gtk_container_set_border_width ( GTK_CONTAINER (page),
- 10 );
+ gtk_container_set_border_width ( GTK_CONTAINER (page), 10 );
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
- vbox = new_vbox_with_title_and_icon ( _("General configuration of Grisbi"),
- "generalities.png" );
- gtk_box_pack_start ( GTK_BOX (page),
- vbox,
- TRUE, TRUE, 0 );
+ vbox = new_vbox_with_title_and_icon ( _("General configuration of Grisbi"), "generalities.png" );
+ gtk_box_pack_start ( GTK_BOX (page), vbox, TRUE, TRUE, 0 );
/* configure the browser */
paddingbox = new_paddingbox_with_title (vbox, FALSE, _("Web"));
@@ -222,8 +222,8 @@ static GtkWidget *gsb_assistant_first_page_2 ( GtkWidget *assistant )
gtk_size_group_add_widget ( size_group, label );
gtk_misc_set_alignment ( GTK_MISC ( label ), 0.0, 0.5 );
gtk_table_attach ( GTK_TABLE(table), label, 0, 1, 1, 2,
- GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0 );
- entry = gsb_automem_entry_new ( &conf.browser_command, NULL, NULL );
+ GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0 );
+ entry = gsb_automem_entry_new ( &conf->browser_command, NULL, NULL );
gtk_table_attach ( GTK_TABLE(table), entry, 1, 2, 1, 2, GTK_EXPAND|GTK_FILL, 0, 0, 0 );
text = make_blue ( _("You may use %s to expand the URL - I.e: 'firefox -remote %s' ") );
@@ -235,28 +235,26 @@ static GtkWidget *gsb_assistant_first_page_2 ( GtkWidget *assistant )
g_free ( text );
/* Account file handling */
- paddingbox = new_paddingbox_with_title (vbox, FALSE,
- _("Account files handling"));
+ paddingbox = new_paddingbox_with_title (vbox, FALSE, _("Account files handling"));
/* Automatically load last file on startup? */
button = gsb_automem_checkbutton_new (_("Automatically load last file on startup"),
- &conf.dernier_fichier_auto, NULL, NULL );
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), button,
- FALSE, FALSE, 0 );
+ &conf->dernier_fichier_auto, NULL, NULL );
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
/* automatically save file at closing */
button = gsb_automem_checkbutton_new (_("Automatically save on exit"),
- &conf.sauvegarde_auto, NULL, NULL);
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), button,
- FALSE, FALSE, 0 );
+ &conf->sauvegarde_auto, NULL, NULL);
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
/* crypt the grisbi file */
if ( gsb_plugin_find ( "openssl" ) )
{
button = gsb_automem_checkbutton_new ( _("Encrypt Grisbi file"),
- &(etat.crypt_file), G_CALLBACK (gsb_gui_encryption_toggled), NULL);
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), button,
- FALSE, FALSE, 0 );
+ &(etat.crypt_file),
+ G_CALLBACK ( gsb_gui_encryption_toggled ),
+ NULL );
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
if ( etat.crypt_file )
run.new_crypted_file = TRUE;
@@ -268,50 +266,45 @@ static GtkWidget *gsb_assistant_first_page_2 ( GtkWidget *assistant )
/* Automatic backup ? */
button = gsb_automem_checkbutton_new (_("Make a backup copy before saving files"),
- &conf.make_backup, NULL, NULL);
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), button,
- FALSE, FALSE, 0 );
+ &conf->make_backup, NULL, NULL);
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
/* Automatic backup every x minutes */
hbox = gtk_hbox_new ( FALSE, 6);
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox,
- FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox, FALSE, FALSE, 0 );
button = gsb_automem_checkbutton_new (_("Make a backup copy every "),
- &conf.make_backup_every_minutes,
- G_CALLBACK (gsb_file_automatic_backup_start), NULL);
- gtk_box_pack_start ( GTK_BOX (hbox), button,
- FALSE, FALSE, 0 );
+ &conf->make_backup_every_minutes,
+ G_CALLBACK (gsb_file_automatic_backup_start),
+ NULL );
+ gtk_box_pack_start ( GTK_BOX (hbox), button, FALSE, FALSE, 0 );
- button = gsb_automem_spin_button_new ( &conf.make_backup_nb_minutes,
- G_CALLBACK (gsb_file_automatic_backup_change_time), NULL );
- gtk_box_pack_start ( GTK_BOX (hbox), button,
- FALSE, FALSE, 0 );
+ button = gsb_automem_spin_button_new ( &conf->make_backup_nb_minutes,
+ G_CALLBACK ( gsb_file_automatic_backup_change_time ),
+ NULL );
+ gtk_box_pack_start ( GTK_BOX (hbox), button, FALSE, FALSE, 0 );
label = gtk_label_new ( _(" minutes") );
- gtk_box_pack_start ( GTK_BOX (hbox), label,
- FALSE, FALSE, 0 );
+ gtk_box_pack_start ( GTK_BOX (hbox), label, FALSE, FALSE, 0 );
/* if automatic backup, choose a dir */
hbox = gtk_hbox_new ( FALSE, 6 );
- gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox,
- FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox, FALSE, FALSE, 0 );
label = gtk_label_new ( _("Backup directory: ") );
- gtk_box_pack_start ( GTK_BOX ( hbox ), label,
- FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX ( hbox ), label, FALSE, FALSE, 0 );
- dialog = utils_files_create_file_chooser ( run.window,
+ dialog = utils_files_create_file_chooser ( GTK_WIDGET ( grisbi_app_get_active_window ( NULL ) ),
_("Select/Create backup directory") );
- button = gtk_file_chooser_button_new_with_dialog (dialog);
- gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (button),
- gsb_dirs_get_user_data_dir () );
- g_signal_connect ( G_OBJECT (button),
+
+ button = gtk_file_chooser_button_new_with_dialog ( dialog );
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( button ),
+ gsb_dirs_get_user_data_dir ( ) );
+ g_signal_connect ( G_OBJECT ( button ),
"selection-changed",
- G_CALLBACK (gsb_config_backup_dir_chosen),
+ G_CALLBACK ( gsb_config_backup_dir_chosen ),
dialog );
- gtk_box_pack_start ( GTK_BOX ( hbox ), button,
- FALSE, TRUE, 0);
+ gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
gtk_widget_show_all (page);
return page;
diff --git a/src/gsb_bank.c b/src/gsb_bank.c
index 91df09b..33bb127 100644
--- a/src/gsb_bank.c
+++ b/src/gsb_bank.c
@@ -39,6 +39,7 @@
/*START_INCLUDE*/
#include "gsb_bank.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_account_property.h"
#include "gsb_autofunc.h"
#include "gsb_data_account.h"
@@ -1025,7 +1026,7 @@ static gboolean gsb_bank_edit_bank ( gint bank_number,
gint result;
dialog = gtk_dialog_new_with_buttons ( _("Edit bank"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_APPLY, GTK_RESPONSE_APPLY,
diff --git a/src/gsb_calendar_entry.c b/src/gsb_calendar_entry.c
index 88e250b..162218e 100644
--- a/src/gsb_calendar_entry.c
+++ b/src/gsb_calendar_entry.c
@@ -38,6 +38,7 @@
/*START_INCLUDE*/
#include "gsb_calendar_entry.h"
+#include "grisbi_app.h"
#include "gsb_color.h"
#include "gsb_form_widget.h"
#include "structures.h"
@@ -454,7 +455,7 @@ GtkWidget *gsb_calendar_entry_popup ( GtkWidget *entry )
popup = gtk_window_new ( GTK_WINDOW_TOPLEVEL );
gtk_window_set_modal ( GTK_WINDOW ( popup ), TRUE );
gtk_window_set_transient_for ( GTK_WINDOW ( popup ),
- GTK_WINDOW ( run.window ) );
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ) );
gtk_window_set_decorated ( GTK_WINDOW ( popup ), FALSE );
g_signal_connect_swapped ( G_OBJECT ( popup ),
"destroy",
diff --git a/src/gsb_currency.c b/src/gsb_currency.c
index 5d2167f..ec5f89e 100644
--- a/src/gsb_currency.c
+++ b/src/gsb_currency.c
@@ -37,6 +37,7 @@
/*START_INCLUDE*/
#include "gsb_currency.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_autofunc.h"
#include "gsb_color.h"
#include "gsb_currency_config.h"
@@ -530,7 +531,7 @@ void gsb_currency_exchange_dialog ( gint account_currency_number,
}
dialog = gtk_dialog_new_with_buttons ( _("Enter exchange rate"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK,
diff --git a/src/gsb_currency_config.c b/src/gsb_currency_config.c
index 3305e98..7b09cfe 100644
--- a/src/gsb_currency_config.c
+++ b/src/gsb_currency_config.c
@@ -34,28 +34,29 @@
/*START_INCLUDE*/
#include "gsb_currency_config.h"
+#include "categories_onglet.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_autofunc.h"
#include "gsb_automem.h"
-#include "parametres.h"
#include "gsb_currency.h"
#include "gsb_data_account.h"
#include "gsb_data_currency.h"
#include "gsb_data_scheduled.h"
#include "gsb_data_transaction.h"
+#include "gsb_dirs.h"
#include "gsb_file.h"
#include "gsb_locale.h"
+#include "imputation_budgetaire.h"
#include "main.h"
+#include "parametres.h"
+#include "structures.h"
+#include "tiers_onglet.h"
#include "traitement_variables.h"
#include "utils.h"
-#include "tiers_onglet.h"
-#include "categories_onglet.h"
-#include "imputation_budgetaire.h"
-#include "utils_str.h"
-#include "structures.h"
#include "utils_files.h"
+#include "utils_str.h"
#include "erreur.h"
-#include "gsb_dirs.h"
/*END_INCLUDE*/
/*START_STATIC*/
@@ -943,7 +944,7 @@ gboolean gsb_currency_config_add_currency ( GtkWidget *button,
GtkTreeModel *model;
dialog = gtk_dialog_new_with_buttons ( _("Add a currency"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL,
GTK_STOCK_CLOSE, 1,
NULL );
diff --git a/src/gsb_data_account.c b/src/gsb_data_account.c
index 7376f3f..d19de19 100644
--- a/src/gsb_data_account.c
+++ b/src/gsb_data_account.c
@@ -39,6 +39,7 @@
#include "custom_list.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_data_currency.h"
#include "gsb_data_form.h"
#include "gsb_data_transaction.h"
@@ -1028,10 +1029,13 @@ gsb_real gsb_data_account_calculate_current_and_marked_balances ( gint account_n
GDate *date_jour;
GSList *tmp_list;
gsb_real current_balance;
- gsb_real current_balance_later = null_real;
+ gsb_real current_balance_later = null_real;
gsb_real marked_balance;
- gsb_real marked_balance_later = null_real;
+ gsb_real marked_balance_later = null_real;
gint floating_point;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* devel_debug_int ( account_number ); */
account = gsb_data_account_get_structure ( account_number );
@@ -1042,9 +1046,9 @@ gsb_real gsb_data_account_calculate_current_and_marked_balances ( gint account_n
floating_point = gsb_data_currency_get_floating_point (account -> currency);
current_balance = gsb_real_adjust_exponent ( account -> init_balance,
- floating_point );
+ floating_point );
marked_balance = gsb_real_adjust_exponent ( account -> init_balance,
- floating_point );
+ floating_point );
date_jour = gdate_today ( );
@@ -1052,50 +1056,50 @@ gsb_real gsb_data_account_calculate_current_and_marked_balances ( gint account_n
while (tmp_list)
{
- gint transaction_number;
- gint res = 0;
-
- transaction_number = gsb_data_transaction_get_transaction_number (tmp_list->data);
- /* on regarde si on tient compte ou pas des échéances pour les soldes */
- if ( conf.balances_with_scheduled )
- res = 0;
- else
- {
- const GDate *date;
+ gint transaction_number;
+ gint res = 0;
- date = gsb_data_transaction_get_value_date_or_date ( transaction_number );
- res = g_date_compare ( date_jour, date );
- }
+ transaction_number = gsb_data_transaction_get_transaction_number (tmp_list->data);
+ /* on regarde si on tient compte ou pas des échéances pour les soldes */
+ if ( conf->balances_with_scheduled )
+ res = 0;
+ else
+ {
+ const GDate *date;
- if ( gsb_data_transaction_get_account_number (transaction_number) == account_number
- &&
- !gsb_data_transaction_get_mother_transaction_number (transaction_number)
- && res >= 0 )
- {
- gsb_real adjusted_amout = gsb_data_transaction_get_adjusted_amount (transaction_number, floating_point);
+ date = gsb_data_transaction_get_value_date_or_date ( transaction_number );
+ res = g_date_compare ( date_jour, date );
+ }
- gsb_real tmp_balance = gsb_real_add ( current_balance, adjusted_amout );
- if( tmp_balance.mantissa != error_real.mantissa )
- current_balance = tmp_balance;
- else
- current_balance_later = gsb_real_add ( current_balance_later, adjusted_amout);
+ if ( gsb_data_transaction_get_account_number (transaction_number) == account_number
+ &&
+ !gsb_data_transaction_get_mother_transaction_number (transaction_number)
+ && res >= 0 )
+ {
+ gsb_real adjusted_amout = gsb_data_transaction_get_adjusted_amount (transaction_number, floating_point);
- if ( gsb_data_transaction_get_marked_transaction (transaction_number))
- {
- tmp_balance = gsb_real_add ( marked_balance, adjusted_amout );
- if( tmp_balance.mantissa != error_real.mantissa )
- marked_balance = tmp_balance;
+ gsb_real tmp_balance = gsb_real_add ( current_balance, adjusted_amout );
+ if( tmp_balance.mantissa != error_real.mantissa )
+ current_balance = tmp_balance;
else
- marked_balance_later = gsb_real_add ( marked_balance_later, adjusted_amout);
+ current_balance_later = gsb_real_add ( current_balance_later, adjusted_amout);
+
+ if ( gsb_data_transaction_get_marked_transaction (transaction_number))
+ {
+ tmp_balance = gsb_real_add ( marked_balance, adjusted_amout );
+ if( tmp_balance.mantissa != error_real.mantissa )
+ marked_balance = tmp_balance;
+ else
+ marked_balance_later = gsb_real_add ( marked_balance_later, adjusted_amout);
+ }
}
- }
- tmp_list = tmp_list -> next;
+ tmp_list = tmp_list -> next;
}
- g_date_free ( date_jour );
+ g_date_free ( date_jour );
account -> current_balance = gsb_real_add ( current_balance, current_balance_later );
account -> marked_balance = gsb_real_add ( marked_balance, marked_balance_later );
-
+ /* return */
return account -> current_balance;
}
@@ -2881,7 +2885,7 @@ gsb_real gsb_data_account_calculate_current_day_balance ( gint account_number,
tmp_list = tmp_list -> next;
}
- g_date_free ( date_jour );
+ g_date_free ( date_jour );
return gsb_real_add ( current_balance, current_balance_later );
}
diff --git a/src/gsb_data_partial_balance.c b/src/gsb_data_partial_balance.c
index 072207e..677d30c 100644
--- a/src/gsb_data_partial_balance.c
+++ b/src/gsb_data_partial_balance.c
@@ -36,6 +36,7 @@
/*START_INCLUDE*/
#include "gsb_data_partial_balance.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_currency_config.h"
#include "gsb_currency.h"
#include "gsb_data_account.h"
@@ -1531,14 +1532,14 @@ GtkWidget *gsb_partial_balance_create_dialog ( gint action, gint spin_value )
if ( action == 1 )
dialog = gtk_dialog_new_with_buttons ( _("Add a partial balance"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, 0,
GTK_STOCK_OK, 1,
NULL );
else
dialog = gtk_dialog_new_with_buttons ( _("Modify a partial balance"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, 0,
GTK_STOCK_OK, 1,
diff --git a/src/gsb_data_print_config.c b/src/gsb_data_print_config.c
index 6b56f04..e2338f7 100644
--- a/src/gsb_data_print_config.c
+++ b/src/gsb_data_print_config.c
@@ -36,6 +36,7 @@
/*START_INCLUDE*/
#include "gsb_data_print_config.h"
+#include "grisbi_app.h"
#include "structures.h"
/*END_INCLUDE*/
@@ -77,6 +78,9 @@ static PangoFontDescription *report_font_title = NULL;
void gsb_data_print_config_init ( void )
{
PangoFontDescription *new_font;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* init transactions list config */
draw_lines = TRUE;
@@ -89,24 +93,24 @@ void gsb_data_print_config_init ( void )
draw_interval_dates = FALSE;
draw_dates_are_value_dates = FALSE;
- if ( conf.utilise_fonte_listes && conf.font_string )
- new_font = pango_font_description_from_string ( conf.font_string );
+ if ( conf->utilise_fonte_listes && conf->font_string )
+ new_font = pango_font_description_from_string ( conf->font_string );
else
- new_font = pango_font_description_from_string ("sans 6");
+ new_font = pango_font_description_from_string ("sans 6");
gsb_data_print_config_set_font_transaction ( new_font );
if (font_title)
- pango_font_description_free (font_title);
+ pango_font_description_free (font_title);
font_title = pango_font_description_from_string ("sans 12");
/* init report config */
if (report_font_transactions)
- pango_font_description_free (report_font_transactions);
+ pango_font_description_free (report_font_transactions);
report_font_transactions = pango_font_description_from_string ("sans 6");
if (report_font_title)
- pango_font_description_free (report_font_title);
+ pango_font_description_free (report_font_title);
report_font_title = pango_font_description_from_string ("sans 12");
}
diff --git a/src/gsb_file.c b/src/gsb_file.c
index 7358d35..ee2b457 100644
--- a/src/gsb_file.c
+++ b/src/gsb_file.c
@@ -32,21 +32,14 @@
#include <glib/gstdio.h>
#include <glib/gi18n.h>
-#ifdef _WIN32
-# if defined(_MSC_VER) || defined(_MINGW)
-# include <realpath.h>
-# else
-# include <stdlibx.h> // For realpath()
-# endif /*_MSC_VER */
-#endif /* _WIN32 */
-
/*START_INCLUDE*/
#include "gsb_file.h"
-#include "menu.h"
-#include "utils.h"
-#include "fenetre_principale.h"
+#include "accueil.h"
+#include "affichage_liste.h"
#include "dialog.h"
-#include "utils_file_selection.h"
+#include "fenetre_principale.h"
+#include "grisbi_app.h"
+#include "grisbi_window.h"
#include "gsb_account_property.h"
#include "gsb_assistant_account.h"
#include "gsb_assistant_file.h"
@@ -56,24 +49,25 @@
#include "gsb_file_load.h"
#include "gsb_file_save.h"
#include "gsb_file_util.h"
-#include "navigation.h"
-#include "accueil.h"
#include "gsb_real.h"
#include "gsb_status.h"
#include "gsb_transactions_list.h"
-#include "traitement_variables.h"
#include "main.h"
-#include "utils_str.h"
+#include "menu.h"
+#include "navigation.h"
#include "parametres.h"
-#include "affichage_liste.h"
+#include "structures.h"
+#include "traitement_variables.h"
#include "transaction_list.h"
+#include "utils.h"
#include "utils_files.h"
-#include "structures.h"
+#include "utils_file_selection.h"
+#include "utils_str.h"
#include "erreur.h"
/*END_INCLUDE*/
/*START_STATIC*/
-static void gsb_file_append_name_to_opened_list ( gchar * path_fichier );
+static void gsb_file_append_name_to_opened_list ( gchar *path_fichier );
static gboolean gsb_file_automatic_backup ( gpointer null );
static gchar *gsb_file_dialog_ask_name ( void );
static gint gsb_file_dialog_save ( void );
@@ -95,7 +89,6 @@ gint id_timeout = 0;
/*START_EXTERN*/
extern gchar *copy_old_filename;
extern gchar *nom_fichier_comptes;
-extern gchar **tab_noms_derniers_fichiers_ouverts;
extern GtkWidget *table_etat;
extern gchar *titre_fichier;
extern GtkWidget *tree_view_vbox;
@@ -115,7 +108,7 @@ gboolean gsb_file_new ( void )
{
/* continue only if closing the file is ok */
if ( !gsb_file_close () )
- return FALSE;
+ return FALSE;
/* set up all the default variables */
init_variables ();
@@ -166,22 +159,25 @@ void gsb_file_new_gui ( void )
GtkWidget *notebook_general;
/* dégrise les menus nécessaire */
- menus_sensitifs ( TRUE );
+ gsb_menu_sensitive ( TRUE );
- /* récupère l'organisation des colonnes */
+ /* récupère l'organisation des colonnes */
recuperation_noms_colonnes_et_tips ();
/* Create main widget. */
gsb_status_message ( _("Creating main window") );
- main_vbox = g_object_get_data ( G_OBJECT ( run.window ), "main_vbox" );
+ main_vbox = grisbi_window_get_widget_by_name ( "main_vbox" );
+
+ /* affiche headings_bar si nécessaire */
+ gsb_gui_update_show_headings ( );
gtk_box_pack_start ( GTK_BOX ( main_vbox ), gsb_gui_create_general_widgets ( ), TRUE, TRUE, 0 );
/* create the model */
if (!transaction_list_create ())
{
- dialogue_error (_("The model of the list couldn't be created... "
+ dialogue_error (_("The model of the list couldn't be created... "
"Bad things will happen very soon..."));
- return;
+ return;
}
/* Create transaction list. */
@@ -219,11 +215,11 @@ gboolean gsb_file_open_menu ( void )
GtkFileFilter * filter;
selection_fichier = gtk_file_chooser_dialog_new ( _("Open an accounts file"),
- GTK_WINDOW ( run.window ),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_OK,
- NULL);
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_OK,
+ NULL);
gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( selection_fichier ), gsb_file_get_last_path () );
gtk_window_set_position ( GTK_WINDOW ( selection_fichier ), GTK_WIN_POS_CENTER_ON_PARENT );
@@ -239,24 +235,25 @@ gboolean gsb_file_open_menu ( void )
gtk_file_filter_add_pattern ( filter, "*" );
gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER ( selection_fichier ), filter );
- switch ( gtk_dialog_run ( GTK_DIALOG (selection_fichier)))
+ switch ( gtk_dialog_run ( GTK_DIALOG ( selection_fichier) ) )
{
- case GTK_RESPONSE_OK:
- if ( gsb_file_close() )
- {
- gtk_widget_hide ( selection_fichier );
- nom_fichier_comptes = file_selection_get_filename ( GTK_FILE_CHOOSER ( selection_fichier ) );
- gsb_file_update_last_path ( file_selection_get_last_directory (
- GTK_FILE_CHOOSER ( selection_fichier),
- TRUE ) );
- gsb_file_open_file (nom_fichier_comptes);
- }
- break;
- default:
- break;
+ case GTK_RESPONSE_OK:
+ if ( gsb_file_close() )
+ {
+ gtk_widget_hide ( selection_fichier );
+ nom_fichier_comptes = file_selection_get_filename ( GTK_FILE_CHOOSER ( selection_fichier ) );
+ gsb_file_update_last_path ( file_selection_get_last_directory (
+ GTK_FILE_CHOOSER ( selection_fichier ),
+ TRUE ) );
+ gsb_file_open_file ( nom_fichier_comptes );
+ }
+ break;
+ default:
+ break;
}
- gsb_file_update_last_path (file_selection_get_last_directory (GTK_FILE_CHOOSER (selection_fichier), TRUE));
+
gtk_widget_destroy ( selection_fichier );
+
return FALSE;
}
@@ -270,14 +267,14 @@ gboolean gsb_file_open_menu ( void )
* */
void gsb_file_update_last_path ( const gchar *last_path )
{
-devel_debug ( last_path );
- if (last_path
- &&
- strlen (last_path))
+ devel_debug ( last_path );
+
+ if ( last_path && strlen ( last_path ) )
{
- if (last_path_used)
- g_free (last_path_used);
- last_path_used = my_strdup (last_path);
+ if ( last_path_used )
+ g_free ( last_path_used );
+
+ last_path_used = my_strdup ( last_path );
}
}
@@ -338,12 +335,21 @@ void gsb_file_set_backup_path ( const gchar *path )
gboolean gsb_file_open_direct_menu ( GtkMenuItem *item,
gint *file_number_ptr )
{
+ GrisbiApp *app;
+ GrisbiAppConf *conf;
+ gint file_number;
+
/* continue only if can close the current file */
- if ( !gsb_file_close() )
- return FALSE;
+ if ( !gsb_file_close ( ) )
+ return FALSE;
+
+ app = grisbi_app_get_default ( );
+ conf = grisbi_app_get_conf ( );
- nom_fichier_comptes = my_strdup (tab_noms_derniers_fichiers_ouverts[GPOINTER_TO_INT (file_number_ptr)]);
- gsb_file_open_file (nom_fichier_comptes);
+ file_number = GPOINTER_TO_INT ( file_number_ptr );
+ nom_fichier_comptes = my_strdup ( conf->tab_noms_derniers_fichiers_ouverts[file_number] );
+
+ gsb_file_open_file ( nom_fichier_comptes );
return FALSE;
}
@@ -361,14 +367,16 @@ gboolean gsb_file_open_direct_menu ( GtkMenuItem *item,
gboolean gsb_file_open_file ( gchar *filename )
{
GSList *list_tmp;
+ GrisbiAppConf *conf;
devel_debug (filename);
if ( !filename
- ||
- !strlen (filename))
- return FALSE;
+ ||
+ !strlen (filename))
+ return FALSE;
+ conf = grisbi_app_get_conf ( );
gsb_status_wait ( TRUE );
gsb_status_message ( _("Loading accounts") );
@@ -377,11 +385,11 @@ gboolean gsb_file_open_file ( gchar *filename )
* when returning from gsb_file_load_open_file!
* making application crashes! */
- if ( gsb_file_load_open_file (filename))
+ if ( gsb_file_load_open_file ( filename ) )
{
/* the file has been opened succesfully */
/* we make a backup if necessary */
- if ( conf.sauvegarde_demarrage )
+ if ( conf->sauvegarde_demarrage )
{
gsb_file_save_backup ();
gsb_file_set_modified ( FALSE );
@@ -392,10 +400,10 @@ gboolean gsb_file_open_file ( gchar *filename )
/* Loading failed. */
gsb_status_message ( _("Failed to load accounts") );
- if ( conf.sauvegarde_demarrage || conf.make_backup || conf.make_backup_every_minutes )
+ if ( conf->sauvegarde_demarrage || conf->make_backup || conf->make_backup_every_minutes )
{
gchar *tmpstr = g_strdup_printf ( _("Error loading file '%s'"), filename);
- gchar *tmpstr2 = g_strdup_printf (
+ gchar *tmpstr2 = g_strdup_printf (
_("Grisbi was unable to load file. You should find the last "
"backups in '%s', they are saved with date and time into "
"their name so you should find easily the last backup "
@@ -414,8 +422,8 @@ gboolean gsb_file_open_file ( gchar *filename )
gchar *tmpstr = g_strdup_printf ( _("Error loading file '%s'"), filename);
gchar *tmpstr2;
- if (gsb_file_get_backup_path ())
- tmpstr2 = g_strdup_printf (
+ if ( gsb_file_get_backup_path ( ) )
+ tmpstr2 = g_strdup_printf (
_("Grisbi was unable to load file and the backups seem not to "
"be activated... This is a bad thing.\nYour backup path is '%s', "
"try to find if earlier you had some backups in there ?\n"
@@ -423,7 +431,7 @@ gboolean gsb_file_open_file ( gchar *filename )
"to find what happened to you current file."),
gsb_file_get_backup_path ());
else
- tmpstr2 = my_strdup ( _("Grisbi was unable to load file and the backups seem not "
+ tmpstr2 = my_strdup ( _("Grisbi was unable to load file and the backups seem not "
"to be activated... This is a bad thing.\n"
"Please contact the Grisbi's team on "
"devel at listes.grisbi.org to find what happened to you "
@@ -437,8 +445,11 @@ gboolean gsb_file_open_file ( gchar *filename )
}
}
+ /* on fixe le nom de fichier associé à la fenêtre active */
+ grisbi_app_set_active_filename ( nom_fichier_comptes );
+
/* ok, here the file or backup is loaded */
- gsb_status_message ( _("Checking schedulers"));
+ gsb_status_message ( _("Checking schedulers") );
/* the the name in the last opened files */
gsb_file_append_name_to_opened_list ( filename );
@@ -451,24 +462,24 @@ gboolean gsb_file_open_file ( gchar *filename )
gsb_file_new_gui ();
/* check the amounts of all the accounts */
- gsb_status_message ( _("Checking amounts"));
- list_tmp = gsb_data_account_get_list_accounts ();
+ gsb_status_message ( _("Checking amounts") );
+ list_tmp = gsb_data_account_get_list_accounts ( );
while ( list_tmp )
{
- gint account_number;
- volatile gint value;
-
- account_number = gsb_data_account_get_no_account ( list_tmp -> data );
-
- /* set the minimum balances to be shown or not */
- value = gsb_real_cmp ( gsb_data_account_get_current_balance (account_number),
- gsb_data_account_get_mini_balance_authorized (account_number) ) == -1;
- gsb_data_account_set_mini_balance_authorized_message ( account_number, value);
- value = gsb_real_cmp ( gsb_data_account_get_current_balance (account_number),
- gsb_data_account_get_mini_balance_wanted (account_number) ) == -1;
- gsb_data_account_set_mini_balance_wanted_message ( account_number, value);
- list_tmp = list_tmp -> next;
+ gint account_number;
+ volatile gint value;
+
+ account_number = gsb_data_account_get_no_account ( list_tmp -> data );
+
+ /* set the minimum balances to be shown or not */
+ value = gsb_real_cmp ( gsb_data_account_get_current_balance (account_number),
+ gsb_data_account_get_mini_balance_authorized (account_number) ) == -1;
+ gsb_data_account_set_mini_balance_authorized_message ( account_number, value);
+ value = gsb_real_cmp ( gsb_data_account_get_current_balance (account_number),
+ gsb_data_account_get_mini_balance_wanted (account_number) ) == -1;
+ gsb_data_account_set_mini_balance_wanted_message ( account_number, value);
+ list_tmp = list_tmp -> next;
}
/* set Grisbi title */
@@ -527,45 +538,52 @@ gboolean gsb_file_save_file ( gint origine )
{
gint etat_force, result;
gchar *nouveau_nom_enregistrement;
+ GrisbiAppConf *conf;
devel_debug_int (origine);
+ conf = grisbi_app_get_conf ( );
+
etat_force = 0;
if ( ( !gsb_file_get_modified ( ) && origine != -2 ) ||
- !gsb_data_account_get_accounts_amount () )
+ !gsb_data_account_get_accounts_amount () )
{
- notice_debug ( "nothing done in gsb_file_save_file" );
- return ( TRUE );
+ notice_debug ( "nothing done in gsb_file_save_file" );
+ return ( TRUE );
}
/* si le fichier de comptes n'a pas de nom ou si on enregistre sous un nouveau nom */
/* c'est ici */
if ( !nom_fichier_comptes || origine == -2 )
- nouveau_nom_enregistrement = gsb_file_dialog_ask_name ();
+ nouveau_nom_enregistrement = gsb_file_dialog_ask_name ();
else
- nouveau_nom_enregistrement = nom_fichier_comptes;
+ nouveau_nom_enregistrement = nom_fichier_comptes;
if ( !nouveau_nom_enregistrement )
- return FALSE;
+ return FALSE;
/* on vérifie que le fichier n'est pas locké */
if ( etat.fichier_deja_ouvert
- &&
- !conf.force_enregistrement
- &&
- origine != -2 )
+ &&
+ !conf->force_enregistrement
+ &&
+ origine != -2 )
{
- gchar* tmpstr1 = g_strdup_printf( _("Grisbi was unable to save this file because it is locked. Please save it with another name or activate the \"%s\" option in preferences."),
- _("Force saving of locked files" ) );
- gchar* tmpstr2 = g_strdup_printf( _("Can not save file \"%s\""),
- nom_fichier_comptes );
- dialogue_error_hint ( tmpstr1,
- tmpstr2 );
- g_free ( tmpstr1 );
- g_free ( tmpstr2 );
- return ( FALSE );
+ gchar *tmpstr1;
+ gchar *tmpstr2;
+
+ tmpstr1 = g_strdup_printf( _("Grisbi was unable to save this file because it is locked. "
+ "Please save it with another name or activate the \"%s\" option in preferences."),
+ ("Force saving of locked files" ) );
+ tmpstr2 = g_strdup_printf( _("Can not save file \"%s\""), nom_fichier_comptes );
+ dialogue_error_hint ( tmpstr1, tmpstr2 );
+
+ g_free ( tmpstr1 );
+ g_free ( tmpstr2 );
+
+ return ( FALSE );
}
/* Si le fichier est un d'une version précédente de grisbi on demande si on l'efface */
@@ -577,32 +595,32 @@ gboolean gsb_file_save_file ( gint origine )
}
/* make backup before saving if asked */
- if (conf.make_backup)
- gsb_file_save_backup();
+ if ( conf->make_backup )
+ gsb_file_save_backup();
/* on a maintenant un nom de fichier */
/* et on sait qu'on peut sauvegarder */
gsb_status_message ( _("Saving file") );
result = gsb_file_save_save_file ( nouveau_nom_enregistrement,
- conf.compress_file,
- FALSE );
+ conf->compress_file,
+ FALSE );
if ( result )
{
- /* saving was right, so unlock the last name */
- gsb_file_util_modify_lock ( FALSE );
+ /* saving was right, so unlock the last name */
+ gsb_file_util_modify_lock ( FALSE );
- nom_fichier_comptes = nouveau_nom_enregistrement;
+ nom_fichier_comptes = nouveau_nom_enregistrement;
- /* and lock the new name */
- gsb_file_util_modify_lock ( TRUE );
+ /* and lock the new name */
+ gsb_file_util_modify_lock ( TRUE );
- /* update variables */
- etat.fichier_deja_ouvert = 0;
- gsb_file_set_modified ( FALSE );
- gsb_main_set_grisbi_title ( gsb_gui_navigation_get_current_account ( ) );
- gsb_file_append_name_to_opened_list ( nom_fichier_comptes );
+ /* update variables */
+ etat.fichier_deja_ouvert = 0;
+ gsb_file_set_modified ( FALSE );
+ gsb_main_set_grisbi_title ( gsb_gui_navigation_get_current_account ( ) );
+ gsb_file_append_name_to_opened_list ( nom_fichier_comptes );
}
gsb_status_message ( _("Done") );
@@ -625,6 +643,9 @@ gboolean gsb_file_save_backup ( void )
struct tm *day_time;
time_t temps;
gchar *name;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
if (!gsb_file_get_backup_path ()
||
@@ -648,7 +669,7 @@ gboolean gsb_file_save_backup ( void )
}
/* create a filename for the backup :
* filename_yyyymmddTmmhhss.gsb */
- if ( conf.make_bakup_single_file )
+ if ( conf->make_bakup_single_file )
{
filename = g_strdup_printf ( "%s%s%s_backup.gsb",
gsb_file_get_backup_path ( ),
@@ -671,7 +692,7 @@ gboolean gsb_file_save_backup ( void )
day_time -> tm_sec );
}
- retour = gsb_file_save_save_file ( filename, conf.compress_backup, FALSE );
+ retour = gsb_file_save_save_file ( filename, conf->compress_backup, FALSE );
g_free (filename);
g_free (name);
@@ -693,7 +714,7 @@ gboolean gsb_file_save_backup ( void )
gboolean gsb_file_automatic_backup_start ( GtkWidget *checkbutton,
gpointer null )
{
- devel_debug_int (conf.make_backup_every_minutes);
+/* devel_debug_int (conf->make_backup_every_minutes); */
/* if there is already a timeout, we remove it */
if (id_timeout)
@@ -703,12 +724,15 @@ gboolean gsb_file_automatic_backup_start ( GtkWidget *checkbutton,
}
/* launch the timeout only if active and if there is some minutes */
- if (conf.make_backup_every_minutes
- &&
- conf.make_backup_nb_minutes )
- id_timeout = g_timeout_add_seconds ( conf.make_backup_nb_minutes * 60,
- (GSourceFunc) (gsb_file_automatic_backup),
- NULL );
+/* if (conf->make_backup_every_minutes
+ * &&
+ * conf->make_backup_nb_minutes )
+ * id_timeout = g_timeout_add_seconds ( conf->make_backup_nb_minutes * 60,
+ * (GSourceFunc) (gsb_file_automatic_backup),
+ * NULL );
+ */
+
+ /* return */
return FALSE;
}
@@ -723,21 +747,25 @@ gboolean gsb_file_automatic_backup_start ( GtkWidget *checkbutton,
gboolean gsb_file_automatic_backup_change_time ( GtkWidget *spinbutton,
gpointer null )
{
- devel_debug_int (conf.make_backup_nb_minutes);
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+ devel_debug_int (conf->make_backup_nb_minutes);
/* if there is already a timeout, we stop it */
if (id_timeout)
{
- g_source_remove (id_timeout);
- id_timeout = 0;
+ g_source_remove (id_timeout);
+ id_timeout = 0;
}
/* set a new timeout only if there is an interval */
- if (conf.make_backup_nb_minutes)
- id_timeout = g_timeout_add_seconds ( conf.make_backup_nb_minutes * 60,
- (GSourceFunc) (gsb_file_automatic_backup),
- NULL );
+ if (conf->make_backup_nb_minutes)
+ id_timeout = g_timeout_add_seconds ( conf->make_backup_nb_minutes * 60,
+ (GSourceFunc) (gsb_file_automatic_backup),
+ NULL );
+ /* return */
return FALSE;
}
@@ -752,14 +780,17 @@ gboolean gsb_file_automatic_backup_change_time ( GtkWidget *spinbutton,
* */
gboolean gsb_file_automatic_backup ( gpointer null )
{
+ GrisbiAppConf *conf;
+
devel_debug (NULL);
+ conf = grisbi_app_get_conf ( );
- if (!conf.make_backup_every_minutes)
+ if (!conf->make_backup_every_minutes)
/* stop the timeout */
return FALSE;
/* we save only if there is a nb of minutes, but don't stop the timer if not */
- if (conf.make_backup_nb_minutes)
+ if (conf->make_backup_nb_minutes)
gsb_file_save_backup ();
return TRUE;
@@ -785,14 +816,17 @@ static gint gsb_file_dialog_save ( void )
gchar* message;
gchar* tmpstr1;
gchar* tmpstr2;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* si le fichier n'est pas modifié on renvoie qu'on ne veut pas enregistrer */
if ( !gsb_file_get_modified ( ) )
return GTK_RESPONSE_NO;
- if ( conf.sauvegarde_auto
+ if ( conf->sauvegarde_auto
&&
- ( !etat.fichier_deja_ouvert || conf.force_enregistrement )
+ ( !etat.fichier_deja_ouvert || conf->force_enregistrement )
&&
nom_fichier_comptes )
return GTK_RESPONSE_OK;
@@ -800,12 +834,12 @@ static gint gsb_file_dialog_save ( void )
/* si le fichier était déjà locké et que force enregistrement n'est pas mis, */
/* on prévient ici */
- dialog = gtk_message_dialog_new ( GTK_WINDOW ( run.window ),
+ dialog = gtk_message_dialog_new ( GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_NONE,
NULL );
- if ( etat.fichier_deja_ouvert && !conf.force_enregistrement )
+ if ( etat.fichier_deja_ouvert && !conf->force_enregistrement )
{
hint = g_strdup ( _("Save locked files?") );
message = g_strdup_printf ( _("The document '%s' is locked but modified. "
@@ -886,7 +920,7 @@ static gchar *gsb_file_dialog_ask_name ( void )
gint result;
dialog = gtk_file_chooser_dialog_new ( _("Name the accounts file"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_OK,
@@ -949,43 +983,42 @@ gboolean gsb_file_close ( void )
devel_debug (NULL);
if ( !assert_account_loaded () )
- return ( TRUE );
+ return ( TRUE );
/* ask for saving */
result = gsb_file_dialog_save();
switch ( result )
{
- case GTK_RESPONSE_OK:
-
- /* try to save */
- if ( !gsb_file_save_file (-1) )
- return ( FALSE );
-
- case GTK_RESPONSE_NO :
- /* remove the lock */
- if ( !etat.fichier_deja_ouvert
- &&
- gsb_data_account_get_accounts_amount ()
- &&
- nom_fichier_comptes )
- gsb_file_util_modify_lock ( FALSE );
- gsb_gui_init_general_vbox ( );
-
- /* free all the variables */
- init_variables ();
+ case GTK_RESPONSE_OK:
+
+ /* try to save */
+ if ( !gsb_file_save_file (-1) )
+ return ( FALSE );
+
+ case GTK_RESPONSE_NO :
+ /* remove the lock */
+ if ( !etat.fichier_deja_ouvert
+ &&
+ gsb_data_account_get_accounts_amount ()
+ &&
+ nom_fichier_comptes )
+ gsb_file_util_modify_lock ( FALSE );
+
+ /* free all the variables */
+ init_variables ();
gsb_account_property_clear_config ( );
gsb_main_set_grisbi_title ( -1 );
- menus_sensitifs ( FALSE );
+ menus_sensitifs ( FALSE );
table_etat = NULL;
- return ( TRUE );
+ return ( TRUE );
- default :
- return FALSE;
+ default :
+ return FALSE;
}
}
@@ -997,23 +1030,26 @@ gboolean gsb_file_close ( void )
*
* \return
* */
-void gsb_file_append_name_to_opened_list ( gchar * path_fichier )
+void gsb_file_append_name_to_opened_list ( gchar *path_fichier )
{
gint i, position;
- gchar * dernier, * real_name;
+ gchar *dernier, *real_name;
+ GrisbiAppConf *conf;
devel_debug (path_fichier);
+ conf = grisbi_app_get_conf ( );
+
if ( !path_fichier )
return;
- if ( conf.nb_max_derniers_fichiers_ouverts == 0 )
+ if ( conf->nb_max_derniers_fichiers_ouverts == 0 )
return;
- if ( conf.nb_derniers_fichiers_ouverts < 0 )
- conf.nb_derniers_fichiers_ouverts = 0;
+ if ( conf->nb_derniers_fichiers_ouverts < 0 )
+ conf->nb_derniers_fichiers_ouverts = 0;
- if ( !g_path_is_absolute ( nom_fichier_comptes ) )
+ if ( nom_fichier_comptes && !g_path_is_absolute ( nom_fichier_comptes ) )
{
real_name = g_strdup( (gchar*)realpath ( nom_fichier_comptes, NULL ));
if ( ! real_name )
@@ -1032,13 +1068,13 @@ void gsb_file_append_name_to_opened_list ( gchar * path_fichier )
* noms */
position = 0;
- if ( conf.nb_derniers_fichiers_ouverts )
+ if ( conf->nb_derniers_fichiers_ouverts )
{
- for ( i = 0; i < conf.nb_derniers_fichiers_ouverts; i++ )
+ for ( i = 0; i < conf->nb_derniers_fichiers_ouverts; i++ )
{
- if ( !strcmp ( real_name, tab_noms_derniers_fichiers_ouverts[i] ) )
+ if ( !strcmp ( real_name, conf->tab_noms_derniers_fichiers_ouverts[i] ) )
{
- /* si ce fichier est déjà le dernier ouvert, on laisse tomber */
+ /* si ce fichier est déjà le dernier ouvert, on laisse tomber */
if ( !i )
{
g_free ( real_name );
@@ -1055,11 +1091,11 @@ void gsb_file_append_name_to_opened_list ( gchar * path_fichier )
{
/* le fichier a été trouvé, on fait juste une rotation */
for ( i = position; i > 0 ; i-- )
- tab_noms_derniers_fichiers_ouverts[i] = tab_noms_derniers_fichiers_ouverts[i-1];
+ conf->tab_noms_derniers_fichiers_ouverts[i] = conf->tab_noms_derniers_fichiers_ouverts[i-1];
if ( real_name )
- tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( real_name );
+ conf->tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( real_name );
else
- tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( "<no file>" );
+ conf->tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( "<no file>" );
affiche_derniers_fichiers_ouverts ( );
g_free ( real_name );
@@ -1069,25 +1105,29 @@ void gsb_file_append_name_to_opened_list ( gchar * path_fichier )
/* le fichier est nouveau, on décale tout d'un cran et on met le nouveau à 0 */
/* si on est déjà au max, c'est juste un décalage avec perte du dernier */
- /* on garde le ptit dernier dans le cas contraire */
- dernier = tab_noms_derniers_fichiers_ouverts[conf.nb_derniers_fichiers_ouverts-1];
- for ( i = conf.nb_derniers_fichiers_ouverts - 1 ; i > 0 ; i-- )
- tab_noms_derniers_fichiers_ouverts[i] = tab_noms_derniers_fichiers_ouverts[i-1];
+ /* on garde le petit dernier dans le cas contraire */
+ dernier = conf->tab_noms_derniers_fichiers_ouverts[conf->nb_derniers_fichiers_ouverts-1];
+ for ( i = conf->nb_derniers_fichiers_ouverts - 1 ; i > 0 ; i-- )
+ conf->tab_noms_derniers_fichiers_ouverts[i] = conf->tab_noms_derniers_fichiers_ouverts[i-1];
}
else
dernier = NULL;
- if ( conf.nb_derniers_fichiers_ouverts < conf.nb_max_derniers_fichiers_ouverts )
+ if ( conf->nb_derniers_fichiers_ouverts < conf->nb_max_derniers_fichiers_ouverts )
{
- tab_noms_derniers_fichiers_ouverts = g_realloc ( tab_noms_derniers_fichiers_ouverts,
- ( ++conf.nb_derniers_fichiers_ouverts ) * sizeof ( gpointer ) );
- tab_noms_derniers_fichiers_ouverts[conf.nb_derniers_fichiers_ouverts-1] = dernier;
+ conf->tab_noms_derniers_fichiers_ouverts = g_realloc ( conf->tab_noms_derniers_fichiers_ouverts,
+ ( ++conf->nb_derniers_fichiers_ouverts ) * sizeof ( gpointer ) );
+
+ conf->tab_noms_derniers_fichiers_ouverts[conf->nb_derniers_fichiers_ouverts-1] = dernier;
}
- tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( real_name );
+ conf->tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( real_name );
affiche_derniers_fichiers_ouverts();
+
g_free ( real_name );
+
+ /* return */
}
@@ -1101,20 +1141,23 @@ void gsb_file_append_name_to_opened_list ( gchar * path_fichier )
void gsb_file_remove_name_from_opened_list ( gchar *filename )
{
gint i, j;
+ GrisbiAppConf *conf;
+
+ devel_debug (filename);
+
+ conf = grisbi_app_get_conf ( );
- devel_debug ( filename );
efface_derniers_fichiers_ouverts();
- devel_debug_int ( conf.nb_derniers_fichiers_ouverts );
- for ( i = 0 ; i < conf.nb_derniers_fichiers_ouverts; i++ )
+ for ( i = 0; i < conf->nb_derniers_fichiers_ouverts; i++ )
{
- if ( strcmp (filename, tab_noms_derniers_fichiers_ouverts[i]) == 0 )
+ if ( strcmp (filename, conf->tab_noms_derniers_fichiers_ouverts[i]) == 0 )
{
- for ( j = i; ( j + 1 ) < conf.nb_derniers_fichiers_ouverts; j++ )
+ for ( j = i; ( j + 1 ) < conf->nb_derniers_fichiers_ouverts; j++ )
{
- tab_noms_derniers_fichiers_ouverts[j] = tab_noms_derniers_fichiers_ouverts[j+1];
+ conf->tab_noms_derniers_fichiers_ouverts[j] = conf->tab_noms_derniers_fichiers_ouverts[j+1];
}
- conf.nb_derniers_fichiers_ouverts--;
+ conf->nb_derniers_fichiers_ouverts--;
}
}
affiche_derniers_fichiers_ouverts();
@@ -1134,11 +1177,11 @@ void gsb_file_save_remove_old_file ( gchar *filename )
GtkWidget *image;
GtkWidget *label;
gint resultat;
- gchar *tmpstr;
+ gchar *tmpstr;
dialog = gtk_dialog_new_with_buttons (
_("Delete file copy from a previous version of grisbi"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_NO, GTK_RESPONSE_CANCEL,
GTK_STOCK_YES, GTK_RESPONSE_OK,
diff --git a/src/gsb_file_config.c b/src/gsb_file_config.c
index f373fee..26113f2 100644
--- a/src/gsb_file_config.c
+++ b/src/gsb_file_config.c
@@ -41,9 +41,9 @@
#include "gsb_file_config.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_dirs.h"
#include "gsb_file.h"
-#include "structures.h"
#include "utils_buttons.h"
#include "utils_files.h"
#include "utils_str.h"
@@ -51,23 +51,16 @@
/*END_INCLUDE*/
/*START_STATIC*/
-static void gsb_file_config_clean_config ( void );
+static void gsb_file_config_clean_config ( GrisbiAppConf *conf );
/*END_STATIC*/
/*START_EXTERN*/
extern struct conditional_message delete_msg[];
-extern gboolean execute_scheduled_of_month;
extern struct conditional_message messages[];
-extern gint nb_days_before_scheduled;
extern gchar *nom_fichier_comptes;
/*END_EXTERN*/
-/* global variable, see structures.h */
-struct gsb_conf_t conf;
-
-/* liste des derniers fichiers ouverts */
-gchar **tab_noms_derniers_fichiers_ouverts = NULL;
/* nom du fichier de configuration */
static gchar *conf_filename;
@@ -90,7 +83,7 @@ static gchar *conf_filename;
*
* \return TRUE if ok, FALSE if not found, usually for a new opening
* */
-gboolean gsb_file_config_load_config ( void )
+gboolean gsb_file_config_load_config ( GrisbiAppConf *conf )
{
GKeyFile *config;
gboolean result;
@@ -99,7 +92,7 @@ gboolean gsb_file_config_load_config ( void )
gint int_ret;
GError* err = NULL;
- gsb_file_config_clean_config ();
+ gsb_file_config_clean_config ( conf );
if ( !g_file_test ( conf_filename, G_FILE_TEST_EXISTS ) )
return FALSE;
@@ -117,11 +110,11 @@ gboolean gsb_file_config_load_config ( void )
#if IS_DEVELOPMENT_VERSION == 1
/* get config model */
- conf.stable_config_file_model = g_key_file_get_integer ( config,
+ conf->stable_config_file_model = g_key_file_get_integer ( config,
"Model",
"Stable_config_file_model",
NULL );
- if ( conf.stable_config_file_model )
+ if ( conf->stable_config_file_model )
{
used_model = TRUE;
g_free ( conf_filename );
@@ -142,44 +135,55 @@ gboolean gsb_file_config_load_config ( void )
#endif
/* get the geometry */
- conf.root_x = g_key_file_get_integer ( config,
+ conf->root_x = g_key_file_get_integer ( config,
"Geometry",
"Root_x",
NULL );
- conf.root_y = g_key_file_get_integer ( config,
+ conf->root_y = g_key_file_get_integer ( config,
"Geometry",
"Root_y",
NULL );
- conf.main_width = g_key_file_get_integer ( config,
+ conf->main_width = g_key_file_get_integer ( config,
"Geometry",
"Width",
NULL );
- conf.main_height = g_key_file_get_integer ( config,
+ conf->main_height = g_key_file_get_integer ( config,
"Geometry",
"Height",
NULL );
- conf.full_screen = g_key_file_get_integer ( config,
+ conf->full_screen = g_key_file_get_integer ( config,
"Geometry",
- "Full screen",
+ "Full_screen",
+ NULL );
+
+ conf->maximize_screen = g_key_file_get_integer ( config,
+ "Geometry",
+ "Maximize_screen",
NULL );
int_ret = g_key_file_get_integer ( config,
"Geometry",
"Panel_width",
- NULL );
- gsb_gui_set_hpaned_left_width ( int_ret );
+ &err );
+ if ( err == NULL )
+ conf->panel_width = int_ret;
+ else
+ {
+ conf->panel_width = -1;
+ err = NULL;
+ }
- conf.prefs_width = g_key_file_get_integer ( config,
+ conf->prefs_width = g_key_file_get_integer ( config,
"Geometry",
"Prefs width",
NULL );
/* get general */
- conf.r_modifiable = g_key_file_get_integer ( config,
+ conf->r_modifiable = g_key_file_get_integer ( config,
"General",
"Can modify R",
NULL );
@@ -189,71 +193,71 @@ gboolean gsb_file_config_load_config ( void )
"Path",
NULL ));
- conf.alerte_permission = g_key_file_get_integer ( config,
+ conf->alerte_permission = g_key_file_get_integer ( config,
"General",
"Show permission alert",
NULL );
- conf.entree = g_key_file_get_integer ( config,
+ conf->entree = g_key_file_get_integer ( config,
"General",
"Function of enter",
NULL );
- conf.alerte_mini = g_key_file_get_integer ( config,
+ conf->alerte_mini = g_key_file_get_integer ( config,
"General",
"Show alert messages",
NULL );
- conf.utilise_fonte_listes = g_key_file_get_integer ( config,
+ conf->utilise_fonte_listes = g_key_file_get_integer ( config,
"General",
"Use user font",
NULL );
- conf.font_string = g_key_file_get_string ( config, "General", "Font name", NULL );
+ conf->font_string = g_key_file_get_string ( config, "General", "Font name", NULL );
- conf.browser_command = g_key_file_get_string ( config,
+ conf->browser_command = g_key_file_get_string ( config,
"General",
"Web",
NULL );
- conf.pluriel_final = g_key_file_get_integer ( config,
+ conf->pluriel_final = g_key_file_get_integer ( config,
"General",
"Pluriel_final",
NULL );
- conf.metatree_action_2button_press = g_key_file_get_integer ( config,
+ conf->metatree_action_2button_press = g_key_file_get_integer ( config,
"General",
"Metatree_action_2button_press",
NULL );
/* get backup part */
- conf.make_backup = g_key_file_get_integer ( config,
+ conf->make_backup = g_key_file_get_integer ( config,
"Backup",
"Make backup",
NULL );
- conf.make_bakup_single_file = g_key_file_get_integer ( config,
+ conf->make_bakup_single_file = g_key_file_get_integer ( config,
"Backup",
"Make backup single file",
NULL );
- conf.make_backup_every_minutes = g_key_file_get_integer ( config,
+ conf->make_backup_every_minutes = g_key_file_get_integer ( config,
"Backup",
"Make backup every x minutes",
NULL );
- conf.make_backup_nb_minutes = g_key_file_get_integer ( config,
+ conf->make_backup_nb_minutes = g_key_file_get_integer ( config,
"Backup",
"Make backup nb minutes",
NULL );
/* exec gsb_file_automatic_backup_start ( ) if necessary */
- if ( conf.make_backup_every_minutes
+ if ( conf->make_backup_every_minutes
&&
- conf.make_backup_nb_minutes )
+ conf->make_backup_nb_minutes )
gsb_file_automatic_backup_start ( NULL, NULL );
- conf.compress_backup = g_key_file_get_integer ( config,
+ conf->compress_backup = g_key_file_get_integer ( config,
"Backup",
"Compress backup",
NULL );
@@ -264,63 +268,63 @@ gboolean gsb_file_config_load_config ( void )
NULL ));
/* get input/output */
- conf.dernier_fichier_auto = g_key_file_get_integer ( config,
+ conf->dernier_fichier_auto = g_key_file_get_integer ( config,
"IO",
"Load last file",
NULL );
- conf.sauvegarde_auto = g_key_file_get_integer ( config,
+ conf->sauvegarde_auto = g_key_file_get_integer ( config,
"IO",
"Save at closing",
NULL );
- conf.sauvegarde_demarrage = g_key_file_get_integer ( config,
+ conf->sauvegarde_demarrage = g_key_file_get_integer ( config,
"IO",
"Save at opening",
NULL );
- conf.nb_max_derniers_fichiers_ouverts = g_key_file_get_integer ( config,
+ conf->nb_max_derniers_fichiers_ouverts = g_key_file_get_integer ( config,
"IO",
"Nb last opened files",
NULL );
- conf.compress_file = g_key_file_get_integer ( config,
+ conf->compress_file = g_key_file_get_integer ( config,
"IO",
"Compress file",
NULL );
- conf.force_enregistrement = g_key_file_get_integer ( config,
+ conf->force_enregistrement = g_key_file_get_integer ( config,
"IO",
"Force saving",
NULL );
- tab_noms_derniers_fichiers_ouverts = g_key_file_get_string_list ( config,
+ conf->tab_noms_derniers_fichiers_ouverts = g_key_file_get_string_list ( config,
"IO",
"Names last files",
- &conf.nb_derniers_fichiers_ouverts,
+ &conf->nb_derniers_fichiers_ouverts,
NULL );
- if (tab_noms_derniers_fichiers_ouverts)
- nom_fichier_comptes = my_strdup (tab_noms_derniers_fichiers_ouverts [ 0 ]);
+ if ( conf->tab_noms_derniers_fichiers_ouverts )
+ nom_fichier_comptes = my_strdup ( conf->tab_noms_derniers_fichiers_ouverts [0]);
else
nom_fichier_comptes = NULL;
- conf.check_for_archival = g_key_file_get_integer ( config,
+ conf->check_for_archival = g_key_file_get_integer ( config,
"IO",
"Check_archival_at_opening",
NULL );
- conf.max_non_archived_transactions_for_check = g_key_file_get_integer ( config,
+ conf->max_non_archived_transactions_for_check = g_key_file_get_integer ( config,
"IO",
"Max_transactions_before_warn_archival",
NULL );
/* get scheduled section */
- nb_days_before_scheduled = g_key_file_get_integer ( config,
+ conf->nb_days_before_scheduled = g_key_file_get_integer ( config,
"Scheduled",
"Days before remind",
NULL );
- execute_scheduled_of_month = g_key_file_get_integer ( config,
+ conf->execute_scheduled_of_month = g_key_file_get_integer ( config,
"Scheduled",
"Execute scheduled of month",
NULL );
@@ -330,42 +334,37 @@ gboolean gsb_file_config_load_config ( void )
"Balances with scheduled",
&err );
if ( err == NULL )
- conf.balances_with_scheduled = int_ret;
+ conf->balances_with_scheduled = int_ret;
else
err = NULL;
/* get shown section */
- etat.formulaire_toujours_affiche = g_key_file_get_integer ( config,
+ conf->formulaire_toujours_affiche = g_key_file_get_integer ( config,
"Display",
"Show transaction form",
NULL );
- conf.show_transaction_selected_in_form = g_key_file_get_integer ( config,
+ conf->show_transaction_selected_in_form = g_key_file_get_integer ( config,
"Display",
"Show selected transaction in form",
NULL );
- conf.show_transaction_gives_balance = g_key_file_get_integer ( config,
+ conf->show_transaction_gives_balance = g_key_file_get_integer ( config,
"Display",
"Show transaction gives balance",
NULL );
- conf.transactions_list_primary_sorting = g_key_file_get_integer ( config,
+ conf->transactions_list_primary_sorting = g_key_file_get_integer ( config,
"Display",
"Transactions_list_primary_sorting",
NULL );
- conf.transactions_list_secondary_sorting = g_key_file_get_integer ( config,
+ conf->transactions_list_secondary_sorting = g_key_file_get_integer ( config,
"Display",
"Transactions_list_secondary_sorting",
NULL );
- etat.largeur_auto_colonnes = g_key_file_get_integer ( config,
- "Display",
- "Columns width auto",
- NULL );
-
- etat.affichage_exercice_automatique = g_key_file_get_integer ( config,
+ conf->affichage_exercice_automatique = g_key_file_get_integer ( config,
"Display",
"Show automatic financial year",
NULL );
@@ -375,46 +374,46 @@ gboolean gsb_file_config_load_config ( void )
"Automatic completion payee",
&err );
if ( err == NULL )
- conf.automatic_completion_payee = int_ret;
+ conf->automatic_completion_payee = int_ret;
else
err = NULL;
- conf.limit_completion_to_current_account = g_key_file_get_integer ( config,
+ conf->limit_completion_to_current_account = g_key_file_get_integer ( config,
"Display",
"Limit payee completion",
NULL );
- conf.automatic_recover_splits = g_key_file_get_integer ( config,
+ conf->automatic_recover_splits = g_key_file_get_integer ( config,
"Display",
"Automatic_recover_splits",
NULL );
- conf.automatic_erase_credit_debit = g_key_file_get_integer ( config,
+ conf->automatic_erase_credit_debit = g_key_file_get_integer ( config,
"Display",
"Automatic_erase_credit_debit",
NULL );
- etat.display_toolbar = g_key_file_get_integer ( config,
+ conf->display_toolbar = g_key_file_get_integer ( config,
"Display",
"Display toolbar",
NULL );
- conf.active_scrolling_left_pane = g_key_file_get_integer ( config,
+ conf->active_scrolling_left_pane = g_key_file_get_integer ( config,
"Display",
"Active_scrolling_left_pane",
NULL );
- etat.show_headings_bar = g_key_file_get_integer ( config,
+ conf->show_headings_bar = g_key_file_get_integer ( config,
"Display",
"Show headings bar",
NULL );
- etat.show_closed_accounts = g_key_file_get_integer ( config,
+ conf->show_closed_accounts = g_key_file_get_integer ( config,
"Display",
"Show closed accounts",
NULL );
- conf.display_grisbi_title = g_key_file_get_integer ( config,
+ conf->display_grisbi_title = g_key_file_get_integer ( config,
"Display",
"Display grisbi title",
NULL );
@@ -440,12 +439,12 @@ gboolean gsb_file_config_load_config ( void )
g_free ( name );
}
- etat.last_tip = g_key_file_get_integer ( config,
+ conf->last_tip = g_key_file_get_integer ( config,
"Messages",
"Last tip",
NULL );
- etat.show_tip = g_key_file_get_integer ( config,
+ conf->show_tip = g_key_file_get_integer ( config,
"Messages",
"Show tip",
NULL );
@@ -465,23 +464,16 @@ gboolean gsb_file_config_load_config ( void )
*
* \return TRUE if ok
* */
-gboolean gsb_file_config_save_config ( void )
+gboolean gsb_file_config_save_config ( GrisbiAppConf *conf )
{
GKeyFile *config;
- gchar *filename;
gchar *file_content;
gchar *name;
- gchar *tmp_str;
gsize length;
FILE *conf_file;
gint i;
- gint tmp_int = 0;
- devel_debug (NULL);
-
- tmp_str = g_strconcat ( PACKAGE, GRISBIRC, NULL );
- filename = g_build_filename ( gsb_dirs_get_user_config_dir ( ), tmp_str, NULL );
- g_free ( tmp_str );
+ devel_debug ( conf_filename );
config = g_key_file_new ();
@@ -490,62 +482,55 @@ gboolean gsb_file_config_save_config ( void )
g_key_file_set_integer ( config,
"Model",
"Stable_config_file_model",
- conf.stable_config_file_model );
+ conf->stable_config_file_model );
#endif
- /* get the geometry */
- if ( gtk_widget_get_window ( GTK_WIDGET ( run.window ) ) )
- gtk_window_get_size ( GTK_WINDOW ( run.window ),
- &conf.main_width, &conf.main_height);
- else
- {
- conf.main_width = 0;
- conf.main_height = 0;
- }
-
g_key_file_set_integer ( config,
"Geometry",
"Root_x",
- conf.root_x );
+ conf->root_x );
g_key_file_set_integer ( config,
"Geometry",
"Root_y",
- conf.root_y );
+ conf->root_y );
g_key_file_set_integer ( config,
"Geometry",
"Width",
- conf.main_width );
+ conf->main_width );
g_key_file_set_integer ( config,
"Geometry",
"Height",
- conf.main_height );
+ conf->main_height );
+
+ g_key_file_set_integer ( config,
+ "Geometry",
+ "Full_screen",
+ conf->full_screen );
g_key_file_set_integer ( config,
"Geometry",
- "Full screen",
- conf.full_screen );
+ "Maximize_screen",
+ conf->maximize_screen );
g_key_file_set_integer ( config,
"Geometry",
"Prefs width",
- conf.prefs_width );
+ conf->prefs_width );
/* Remember size of main panel */
- if ( gsb_gui_is_hpaned_general ( ) )
- tmp_int = gsb_gui_get_hpaned_left_width ( );
g_key_file_set_integer ( config,
"Geometry",
"Panel_width",
- tmp_int );
+ conf->panel_width );
/* save general */
g_key_file_set_integer ( config,
"General",
"Can modify R",
- conf.r_modifiable );
+ conf->r_modifiable );
g_key_file_set_string ( config,
"General",
@@ -555,34 +540,34 @@ gboolean gsb_file_config_save_config ( void )
g_key_file_set_integer ( config,
"General",
"Show permission alert",
- conf.alerte_permission );
+ conf->alerte_permission );
g_key_file_set_integer ( config,
"General",
"Function of enter",
- conf.entree );
+ conf->entree );
g_key_file_set_integer ( config,
"General",
"Show alert messages",
- conf.alerte_mini );
+ conf->alerte_mini );
g_key_file_set_integer ( config,
"General",
"Use user font",
- conf.utilise_fonte_listes );
+ conf->utilise_fonte_listes );
- if ( conf.font_string )
+ if ( conf->font_string )
g_key_file_set_string ( config,
"General",
"Font name",
- conf.font_string );
+ conf->font_string );
- if ( conf.browser_command )
+ if ( conf->browser_command )
{
gchar *string;
- string = my_strdelimit ( conf.browser_command, "&", "\\e" );
+ string = my_strdelimit ( conf->browser_command, "&", "\\e" );
if ( string )
g_key_file_set_string ( config,
"General",
@@ -594,38 +579,38 @@ gboolean gsb_file_config_save_config ( void )
g_key_file_set_integer ( config,
"General",
"Pluriel_final",
- conf.pluriel_final );
+ conf->pluriel_final );
g_key_file_set_integer ( config,
"General",
"Metatree_action_2button_press",
- conf.metatree_action_2button_press );
+ conf->metatree_action_2button_press );
/* save backup part */
g_key_file_set_integer ( config,
"Backup",
"Make backup",
- conf.make_backup );
+ conf->make_backup );
g_key_file_set_integer ( config,
"Backup",
"Make backup single file",
- conf.make_bakup_single_file );
+ conf->make_bakup_single_file );
g_key_file_set_integer ( config,
"Backup",
"Make backup every x minutes",
- conf.make_backup_every_minutes );
+ conf->make_backup_every_minutes );
g_key_file_set_integer ( config,
"Backup",
"Compress backup",
- conf.compress_backup );
+ conf->compress_backup );
g_key_file_set_integer ( config,
"Backup",
"Make backup nb minutes",
- conf.make_backup_nb_minutes );
+ conf->make_backup_nb_minutes );
if (gsb_file_get_backup_path ())
g_key_file_set_string ( config,
@@ -637,143 +622,143 @@ gboolean gsb_file_config_save_config ( void )
g_key_file_set_integer ( config,
"IO",
"Load last file",
- conf.dernier_fichier_auto );
+ conf->dernier_fichier_auto );
g_key_file_set_integer ( config,
"IO",
"Save at closing",
- conf.sauvegarde_auto );
+ conf->sauvegarde_auto );
g_key_file_set_integer ( config,
"IO",
"Save at opening",
- conf.sauvegarde_demarrage );
+ conf->sauvegarde_demarrage );
g_key_file_set_integer ( config,
"IO",
"Nb last opened files",
- conf.nb_max_derniers_fichiers_ouverts );
+ conf->nb_max_derniers_fichiers_ouverts );
g_key_file_set_integer ( config,
"IO",
"Compress file",
- conf.compress_file );
+ conf->compress_file );
g_key_file_set_integer ( config,
"IO",
"Force saving",
- conf.force_enregistrement );
+ conf->force_enregistrement );
- if ( conf.nb_derniers_fichiers_ouverts > 0
+ if ( conf->nb_derniers_fichiers_ouverts > 0
&&
- tab_noms_derniers_fichiers_ouverts)
+ conf->tab_noms_derniers_fichiers_ouverts )
g_key_file_set_string_list ( config,
"IO",
"Names last files",
- (const gchar **) tab_noms_derniers_fichiers_ouverts,
- conf.nb_derniers_fichiers_ouverts);
+ (const gchar **) conf->tab_noms_derniers_fichiers_ouverts,
+ conf->nb_derniers_fichiers_ouverts);
g_key_file_set_integer ( config,
"IO",
"Check_archival_at_opening",
- conf.check_for_archival );
+ conf->check_for_archival );
g_key_file_set_integer ( config,
"IO",
"Max_transactions_before_warn_archival",
- conf.max_non_archived_transactions_for_check );
+ conf->max_non_archived_transactions_for_check );
/* save scheduled section */
g_key_file_set_integer ( config,
"Scheduled",
"Days before remind",
- nb_days_before_scheduled );
+ conf->nb_days_before_scheduled );
g_key_file_set_integer ( config,
"Scheduled",
"Execute scheduled of month",
- execute_scheduled_of_month );
+ conf->execute_scheduled_of_month );
g_key_file_set_integer ( config,
"Scheduled",
"Balances with scheduled",
- conf.balances_with_scheduled );
+ conf->balances_with_scheduled );
/* save shown section */
g_key_file_set_integer ( config,
"Display",
"Show transaction form",
- etat.formulaire_toujours_affiche );
+ conf->formulaire_toujours_affiche );
g_key_file_set_integer ( config,
"Display",
"Show selected transaction in form",
- conf.show_transaction_selected_in_form );
+ conf->show_transaction_selected_in_form );
g_key_file_set_integer ( config,
"Display",
"Show transaction gives balance",
- conf.show_transaction_gives_balance );
+ conf->show_transaction_gives_balance );
g_key_file_set_integer ( config,
"Display",
"Transactions_list_primary_sorting",
- conf.transactions_list_primary_sorting );
+ conf->transactions_list_primary_sorting );
g_key_file_set_integer ( config,
"Display",
"Transactions_list_secondary_sorting",
- conf.transactions_list_secondary_sorting );
+ conf->transactions_list_secondary_sorting );
g_key_file_set_integer ( config,
"Display",
"Show automatic financial year",
- etat.affichage_exercice_automatique );
+ conf->affichage_exercice_automatique );
g_key_file_set_integer ( config,
"Display",
"Automatic completion payee",
- conf.automatic_completion_payee );
+ conf->automatic_completion_payee );
g_key_file_set_integer ( config,
"Display",
"Limit payee completion",
- conf.limit_completion_to_current_account );
+ conf->limit_completion_to_current_account );
g_key_file_set_integer ( config,
"Display",
"Automatic_recover_splits",
- conf.automatic_recover_splits );
+ conf->automatic_recover_splits );
g_key_file_set_integer ( config,
"Display",
"Automatic_erase_credit_debit",
- conf.automatic_erase_credit_debit );
+ conf->automatic_erase_credit_debit );
g_key_file_set_integer ( config,
"Display",
"Display toolbar",
- etat.display_toolbar );
+ conf->display_toolbar );
g_key_file_set_integer ( config,
"Display",
"Active_scrolling_left_pane",
- conf.active_scrolling_left_pane );
+ conf->active_scrolling_left_pane );
g_key_file_set_integer ( config,
"Display",
"Show headings bar",
- etat.show_headings_bar );
+ conf->show_headings_bar );
g_key_file_set_integer ( config,
"Display",
"Show closed accounts",
- etat.show_closed_accounts );
+ conf->show_closed_accounts );
g_key_file_set_integer ( config,
"Display",
"Display grisbi title",
- conf.display_grisbi_title );
+ conf->display_grisbi_title );
/* save messages */
for ( i = 0; messages[i].name; i ++ )
@@ -794,23 +779,23 @@ gboolean gsb_file_config_save_config ( void )
g_key_file_set_integer ( config,
"Messages",
"Last tip",
- etat.last_tip );
+ conf->last_tip );
g_key_file_set_integer ( config,
"Messages",
"Show tip",
- etat.show_tip );
+ conf->show_tip );
/* save into a file */
file_content = g_key_file_to_data ( config, &length, NULL );
- conf_file = fopen ( filename, "w" );
+ conf_file = fopen ( conf_filename, "w" );
#ifndef _WIN32
if ( !conf_file )
{
utils_files_create_XDG_dir ( );
- conf_file = fopen ( filename, "w" );
+ conf_file = fopen ( conf_filename, "w" );
}
#endif
@@ -819,19 +804,17 @@ gboolean gsb_file_config_save_config ( void )
!fwrite ( file_content, sizeof ( gchar ), length, conf_file ) )
{
gchar* tmpstr = g_strdup_printf ( _("Cannot save configuration file '%s': %s"),
- filename,
+ conf_filename,
g_strerror ( errno ) );
dialogue_error ( tmpstr );
g_free ( tmpstr );
g_free ( file_content);
- g_free (filename);
g_key_file_free (config);
return ( FALSE );
}
fclose (conf_file);
g_free ( file_content);
- g_free (filename);
g_key_file_free (config);
return TRUE;
@@ -848,84 +831,78 @@ gboolean gsb_file_config_save_config ( void )
*
* \return
*/
-void gsb_file_config_clean_config ( void )
+void gsb_file_config_clean_config ( GrisbiAppConf *conf )
{
devel_debug (NULL);
- conf.main_width = 0;
- conf.main_height = 0;
- gsb_gui_set_hpaned_left_width ( -1 );
- conf.prefs_width = 600;
-
- conf.force_enregistrement = 1;
-
- conf.r_modifiable = 0; /* we can not change the reconciled transaction */
- conf.dernier_fichier_auto = 1; /* on n'ouvre pas directement le dernier fichier */
- conf.sauvegarde_auto = 0; /* on NE sauvegarde PAS * automatiquement par défaut */
- conf.entree = 1; /* la touche entree provoque l'enregistrement de l'opération */
- nb_days_before_scheduled = 0; /* nb de jours avant l'échéance pour prévenir */
- execute_scheduled_of_month = FALSE;
- conf.balances_with_scheduled = TRUE;
- etat.formulaire_toujours_affiche = 0; /* le formulaire ne s'affiche que lors de l'edition d'1 opé */
- etat.affichage_exercice_automatique = 0; /* l'exercice est choisi en fonction de la date */
- conf.automatic_completion_payee = 1; /* by default automatic completion */
- conf.limit_completion_to_current_account = 0; /* By default, do full search */
- conf.automatic_recover_splits = 1;
- conf.automatic_erase_credit_debit = 0;
-
- conf.display_grisbi_title = GSB_ACCOUNTS_TITLE; /* show Accounts file title par défaut */
- etat.display_toolbar = GSB_BUTTON_BOTH; /* How to display toolbar icons. */
- conf.active_scrolling_left_pane = FALSE; /* Active_scrolling_left_pane or not. */
- etat.show_headings_bar = TRUE; /* Show toolbar or not. */
- conf.show_transaction_selected_in_form = 1; /* show selected transaction in form */
- conf.show_transaction_gives_balance = 1; /* show transaction that gives the balance of the day */
- conf.transactions_list_primary_sorting = 1; /* Primary sorting option for the transactions */
- conf.transactions_list_secondary_sorting = 0; /* Secondary sorting option for the transactions */
- etat.show_closed_accounts = FALSE;
-
- if ( conf.font_string )
+ conf->main_width = 0;
+ conf->main_height = 0;
+ conf->panel_width = 250;
+ conf->prefs_width = 600;
+
+ conf->force_enregistrement = 1;
+
+ conf->r_modifiable = 0; /* we can not change the reconciled transaction */
+ conf->dernier_fichier_auto = 1; /* on n'ouvre pas directement le dernier fichier */
+ conf->sauvegarde_auto = 1; /* on sauvegarde automatiquement par défaut */
+ conf->entree = 1; /* la touche entree provoque l'enregistrement de l'opération */
+ conf->nb_days_before_scheduled = 0; /* nb de jours avant l'échéance pour prévenir */
+ conf->execute_scheduled_of_month = FALSE; /* exécution automatique à l'échéance. */
+ conf->balances_with_scheduled = TRUE;
+ conf->formulaire_toujours_affiche = 0; /* le formulaire ne s'affiche que lors de l'edition d'1 opé */
+ conf->affichage_exercice_automatique = 0; /* l'exercice est choisi en fonction de la date */
+ conf->automatic_completion_payee = 1; /* by default automatic completion */
+ conf->limit_completion_to_current_account = 0; /* By default, do full search */
+ conf->automatic_recover_splits = 1;
+ conf->automatic_erase_credit_debit = 0;
+
+ conf->display_grisbi_title = GSB_ACCOUNTS_TITLE; /* show Accounts file title par défaut */
+ conf->display_toolbar = GSB_BUTTON_BOTH; /* How to display toolbar icons. */
+ conf->active_scrolling_left_pane = FALSE; /* Active_scrolling_left_pane or not. */
+ conf->show_headings_bar = TRUE; /* Show toolbar or not. */
+ conf->show_transaction_selected_in_form = 1; /* show selected transaction in form */
+ conf->show_transaction_gives_balance = 1; /* show transaction that gives the balance of the day */
+ conf->transactions_list_primary_sorting = 1; /* Primary sorting option for the transactions */
+ conf->transactions_list_secondary_sorting = 0; /* Secondary sorting option for the transactions */
+ conf->show_closed_accounts = FALSE;
+
+ if ( conf->font_string )
{
- g_free ( conf.font_string );
- conf.font_string = NULL;
+ g_free ( conf->font_string );
+ conf->font_string = NULL;
}
- conf.force_enregistrement = 1; /* par défaut, on force l'enregistrement */
- gsb_file_update_last_path (g_get_home_dir ());
+ conf->force_enregistrement = 1; /* par défaut, on force l'enregistrement */
+ gsb_file_update_last_path ( g_get_home_dir ( ) );
gsb_file_set_backup_path ( gsb_dirs_get_user_data_dir ( ) );
- conf.make_backup = 1;
- conf.make_backup_every_minutes = FALSE;
- conf.make_backup_nb_minutes = 0;
+ conf->make_backup = 1;
+ conf->make_backup_every_minutes = FALSE;
+ conf->make_backup_nb_minutes = 0;
#if IS_DEVELOPMENT_VERSION == 1
- conf.stable_config_file_model = 0;
+ conf->stable_config_file_model = 0;
#endif
- conf.nb_derniers_fichiers_ouverts = 0;
- conf.nb_max_derniers_fichiers_ouverts = 3;
- tab_noms_derniers_fichiers_ouverts = NULL;
+ conf->nb_derniers_fichiers_ouverts = 0;
+ conf->nb_max_derniers_fichiers_ouverts = 3;
/* no compress by default */
- conf.compress_file = 0;
- conf.compress_backup = 0;
+ conf->compress_file = 0;
+ conf->compress_backup = 0;
/* archive data */
- conf.check_for_archival = TRUE;
- conf.max_non_archived_transactions_for_check = 3000;
+ conf->check_for_archival = TRUE;
+ conf->max_non_archived_transactions_for_check = 3000;
- etat.largeur_auto_colonnes = 0;
- etat.retient_affichage_par_compte = 0;
-
- etat.last_tip = -1;
- etat.show_tip = FALSE;
+ conf->last_tip = -1;
+ conf->show_tip = FALSE;
/* mise en conformité avec les recommandations FreeDesktop. */
- if ( conf.browser_command )
- g_free ( conf.browser_command );
- conf.browser_command = g_strdup ( ETAT_WWW_BROWSER );
-
- conf.metatree_action_2button_press = 0; /* action par défaut pour le double clic sur division */
+ if ( conf->browser_command )
+ g_free ( conf->browser_command );
+ conf->browser_command = g_strdup ( ETAT_WWW_BROWSER );
- memset ( etat.csv_skipped_lines, '\0', sizeof(gboolean) * CSV_MAX_TOP_LINES );
+ conf->metatree_action_2button_press = 0; /* action par défaut pour le double clic sur division */
}
@@ -949,10 +926,18 @@ const gchar *gsb_config_get_conf_filename ( void )
*
* \return
*/
-void gsb_config_initialise_conf_filename ( void )
+void gsb_config_initialise_conf_filename ( const gchar *config_file )
{
gchar *tmp_str;
+ devel_debug ( config_file );
+
+ if ( config_file )
+ {
+ conf_filename = g_strdup ( config_file );
+ return;
+ return; name = g_strdup ( config_file ); har *config_file ) ur le double clic sur division */ / é */ with another name or activate the \"%s\" option in preferences."), )); ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ }
+
tmp_str = g_strconcat ( PACKAGE, GRISBIRC, NULL );
conf_filename = g_build_filename ( gsb_dirs_get_user_config_dir ( ), tmp_str, NULL );
g_free ( tmp_str );
@@ -983,6 +968,13 @@ void gsb_config_free_conf_filename ( void )
}
+/**
+ *
+ *
+ * \param
+ *
+ * \return
+ **/
/* Local Variables: */
/* c-basic-offset: 4 */
/* End: */
diff --git a/src/gsb_file_config.h b/src/gsb_file_config.h
index 68fd8e0..edb7de7 100644
--- a/src/gsb_file_config.h
+++ b/src/gsb_file_config.h
@@ -3,14 +3,18 @@
#include <glib.h>
+/*START_INCLUDE*/
+#include "structures.h"
+/*END_INCLUDE*/
+
#define ETAT_WWW_BROWSER "xdg-open"
/* START_DECLARATION */
-gboolean gsb_file_config_load_config ( void );
-gboolean gsb_file_config_save_config ( void );
+gboolean gsb_file_config_load_config ( GrisbiAppConf *conf );
+gboolean gsb_file_config_save_config ( GrisbiAppConf *conf );
const gchar *gsb_config_get_conf_filename ( void );
void gsb_config_free_conf_filename ( void );
-void gsb_config_initialise_conf_filename ( void );
+void gsb_config_initialise_conf_filename ( const gchar *config_file );
/* END_DECLARATION */
#endif
diff --git a/src/gsb_file_load.c b/src/gsb_file_load.c
index 2de88b8..e28e069 100644
--- a/src/gsb_file_load.c
+++ b/src/gsb_file_load.c
@@ -40,6 +40,7 @@
#include "custom_list.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_assistant_archive.h"
#include "gsb_assistant_first.h"
#include "gsb_calendar.h"
@@ -65,6 +66,7 @@
#include "gsb_data_report_text_comparison.h"
#include "gsb_data_scheduled.h"
#include "gsb_data_transaction.h"
+#include "gsb_dirs.h"
#include "gsb_file.h"
#include "gsb_file_util.h"
#include "gsb_locale.h"
@@ -82,7 +84,6 @@
#include "utils_real.h"
#include "utils_str.h"
#include "erreur.h"
-#include "gsb_dirs.h"
/*END_INCLUDE*/
/*START_STATIC*/
@@ -8072,6 +8073,9 @@ gboolean gsb_file_load_update_previous_version ( void )
gint account_number;
GList *dlist_tmp;
gchar** strarray;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
strarray = g_strsplit ( download_tmp_values.file_version, ".", 0 );
tmpstr = g_strjoinv ( "", strarray );
@@ -8817,8 +8821,8 @@ gboolean gsb_file_load_update_previous_version ( void )
/*
* untill 0.6, no archive, so by default we let grisbi check at opening and set
* the transactions limit to 3000 */
- conf.check_for_archival = TRUE;
- conf.max_non_archived_transactions_for_check = 3000;
+ conf->check_for_archival = TRUE;
+ conf->max_non_archived_transactions_for_check = 3000;
/**
* new in 0.6, there is no name for saving file but a directory
@@ -8842,7 +8846,7 @@ gboolean gsb_file_load_update_previous_version ( void )
gsb_data_account_reorder (sort_accounts);
case 60:
- if ( conf.sauvegarde_demarrage )
+ if ( conf->sauvegarde_demarrage )
gsb_file_set_modified ( TRUE );
break;
@@ -8865,11 +8869,11 @@ gboolean gsb_file_load_update_previous_version ( void )
/* check now if a lot of transactions,
* if yes, we propose to file the transactions
* by default take the 3000 transactions as limit */
- if ( conf.check_for_archival
+ if ( conf->check_for_archival
&&
- g_slist_length (gsb_data_transaction_get_transactions_list ()) >
- conf.max_non_archived_transactions_for_check )
- gsb_assistant_archive_run (TRUE);
+ g_slist_length (gsb_data_transaction_get_transactions_list ()) >
+ conf->max_non_archived_transactions_for_check )
+ gsb_assistant_archive_run (TRUE);
/* if we opened an archive, we say it here */
if (etat.is_archive)
diff --git a/src/gsb_form.c b/src/gsb_form.c
index 950ac17..ad58127 100644
--- a/src/gsb_form.c
+++ b/src/gsb_form.c
@@ -40,8 +40,10 @@
#include "accueil.h"
#include "bet_data.h"
#include "dialog.h"
-#include "gsb_calendar_entry.h"
+#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_calendar.h"
+#include "gsb_calendar_entry.h"
#include "gsb_currency.h"
#include "gsb_data_account.h"
#include "gsb_data_budget.h"
@@ -55,57 +57,56 @@
#include "gsb_data_report.h"
#include "gsb_data_scheduled.h"
#include "gsb_data_transaction.h"
-#include "utils_dates.h"
#include "gsb_file.h"
#include "gsb_form_scheduler.h"
#include "gsb_form_transaction.h"
#include "gsb_form_widget.h"
#include "gsb_fyear.h"
#include "gsb_locale.h"
-#include "navigation.h"
-#include "menu.h"
-#include "tiers_onglet.h"
#include "gsb_payment_method.h"
-#include "parametres.h"
#include "gsb_real.h"
#include "gsb_reconcile.h"
#include "gsb_report.h"
#include "gsb_scheduler.h"
#include "gsb_scheduler_list.h"
#include "gsb_transactions_list.h"
-#include "utils_editables.h"
#include "gtk_combofix.h"
+#include "menu.h"
+#include "mouse.h"
+#include "navigation.h"
+#include "parametres.h"
+#include "structures.h"
+#include "tiers_onglet.h"
#include "traitement_variables.h"
-#include "utils_real.h"
-#include "utils_str.h"
#include "transaction_list.h"
#include "transaction_list_select.h"
+#include "utils_dates.h"
+#include "utils_editables.h"
#include "utils_operations.h"
-#include "fenetre_principale.h"
-#include "mouse.h"
-#include "structures.h"
+#include "utils_real.h"
+#include "utils_str.h"
#include "erreur.h"
/*END_INCLUDE*/
/*START_STATIC*/
static gboolean gsb_form_activate_expander ( GtkWidget *expander,
- gpointer null );
+ gpointer null );
static gboolean gsb_form_button_press ( GtkWidget *vbox,
- GdkEventButton *ev,
- gpointer null );
+ GdkEventButton *ev,
+ gpointer null );
static gint gsb_form_check_for_transfer ( const gchar *entry_string );
static gboolean gsb_form_get_categories ( gint transaction_number,
- gint new_transaction,
- gboolean is_transaction );
+ gint new_transaction,
+ gboolean is_transaction );
static gboolean gsb_form_hide ( void );
static gboolean gsb_form_initialise_transaction_form ( void );
static gboolean gsb_form_size_allocate ( GtkWidget *widget,
- GtkAllocation *allocation,
- gpointer null );
+ GtkAllocation *allocation,
+ gpointer null );
static void gsb_form_take_datas_from_form ( gint transaction_number,
- gboolean is_transaction );
+ gboolean is_transaction );
static gboolean gsb_form_validate_form_transaction ( gint transaction_number,
- gboolean is_transaction );
+ gboolean is_transaction );
/*END_STATIC*/
/*START_EXTERN*/
@@ -162,7 +163,7 @@ static GDate *save_form_date;
* */
GtkWidget *gsb_form_get_form_widget ( void )
{
- return transaction_form;
+ return transaction_form;
}
/**
@@ -172,18 +173,21 @@ GtkWidget *gsb_form_get_form_widget ( void )
* */
GtkWidget *gsb_form_new ( void )
{
- /* Create the expander */
- form_expander = gtk_expander_new ( "" );
- gtk_expander_set_expanded ( GTK_EXPANDER ( form_expander ),
- etat.formulaire_toujours_affiche );
- g_signal_connect_after( G_OBJECT(form_expander),
- "activate",
- G_CALLBACK (gsb_form_activate_expander),
- NULL );
-
- gsb_form_create_widgets ();
-
- return form_expander;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+ /* Create the expander */
+ form_expander = gtk_expander_new ( "" );
+ gtk_expander_set_expanded ( GTK_EXPANDER ( form_expander ), conf->formulaire_toujours_affiche );
+ g_signal_connect_after ( G_OBJECT ( form_expander ),
+ "activate",
+ G_CALLBACK ( gsb_form_activate_expander ),
+ NULL );
+
+ gsb_form_create_widgets ();
+
+ /* return */
+ return form_expander;
}
/**
@@ -195,7 +199,7 @@ GtkWidget *gsb_form_new ( void )
* */
GtkWidget *gsb_form_get_scheduler_part ( void )
{
- return form_scheduled_part;
+ return form_scheduled_part;
}
@@ -207,149 +211,150 @@ GtkWidget *gsb_form_get_scheduler_part ( void )
*/
void gsb_form_create_widgets ( void )
{
- GtkWidget * hbox, * label, * separator, * hbox_buttons, * hbox_buttons_inner;
- GtkWidget * child = gtk_bin_get_child ( GTK_BIN ( form_expander ) );
- GtkWidget *event_box;
+ GtkWidget * hbox, * label, * separator, * hbox_buttons, * hbox_buttons_inner;
+ GtkWidget * child = gtk_bin_get_child ( GTK_BIN ( form_expander ) );
+ GtkWidget *event_box;
gchar* tmpstr;
- devel_debug (NULL);
-
- if ( child && GTK_IS_WIDGET(child) )
- {
- gsb_form_widget_free_list ();
- gtk_container_remove ( GTK_CONTAINER ( form_expander ), child );
- }
-
- /* Expander has a composite label */
- hbox = gtk_hbox_new ( FALSE, 0 );
- gtk_expander_set_label_widget ( GTK_EXPANDER(form_expander), hbox );
-
- /* set the label transaction form */
- label = gtk_label_new ( NULL );
- tmpstr = make_pango_attribut ( "weight=\"bold\"", _("Transaction/Scheduled _form") );
- gtk_label_set_markup_with_mnemonic ( GTK_LABEL ( label ), tmpstr );
- g_free ( tmpstr );
- gtk_box_pack_start ( GTK_BOX ( hbox ),
- label,
- FALSE, FALSE, 0 );
-
- /* set the last statement label */
- label_last_statement = gtk_label_new ( NULL );
- gtk_box_pack_end ( GTK_BOX ( hbox ),
- label_last_statement,
- FALSE, FALSE, 0 );
-
- /* Create form inside the expander :
- * the form is 3 parts :
- * top : the values specific for the scheduled transactions
- * middle : the values for transactions and scheduled transactions
- * bottom : the buttons valid/cancel */
- transaction_form = gtk_vbox_new ( FALSE, 5 );
- gtk_container_add ( GTK_CONTAINER ( form_expander ),
+ devel_debug (NULL);
+
+ if ( child && GTK_IS_WIDGET(child) )
+ {
+ gsb_form_widget_free_list ();
+ gtk_container_remove ( GTK_CONTAINER ( form_expander ), child );
+ }
+
+ /* Expander has a composite label */
+ hbox = gtk_hbox_new ( FALSE, 0 );
+ gtk_expander_set_label_widget ( GTK_EXPANDER(form_expander), hbox );
+
+ /* set the label transaction form */
+ label = gtk_label_new ( NULL );
+ tmpstr = make_pango_attribut ( "weight=\"bold\"", _("Transaction/Scheduled _form") );
+ gtk_label_set_markup_with_mnemonic ( GTK_LABEL ( label ), tmpstr );
+ g_free ( tmpstr );
+ gtk_box_pack_start ( GTK_BOX ( hbox ),
+ label,
+ FALSE, FALSE, 0 );
+
+ /* set the last statement label */
+ label_last_statement = gtk_label_new ( NULL );
+ gtk_box_pack_end ( GTK_BOX ( hbox ),
+ label_last_statement,
+ FALSE, FALSE, 0 );
+
+ /* Create form inside the expander :
+ * the form is 3 parts :
+ * top : the values specific for the scheduled transactions
+ * middle : the values for transactions and scheduled transactions
+ * bottom : the buttons valid/cancel */
+ transaction_form = gtk_vbox_new ( FALSE, 5 );
+ gtk_container_add ( GTK_CONTAINER ( form_expander ),
transaction_form );
- /* play with that widget to tell to the tree view to scroll to keep the selection visible */
- g_signal_connect_after ( G_OBJECT (transaction_form),
- "size-allocate",
- G_CALLBACK (gsb_form_size_allocate),
- NULL );
-
- /* the scheduled part is a table of SCHEDULED_WIDTH col x SCHEDULED_HEIGHT rows */
-
- form_scheduled_part = gtk_table_new ( SCHEDULED_HEIGHT,
- SCHEDULED_WIDTH,
- FALSE );
- gtk_table_set_col_spacings ( GTK_TABLE (form_scheduled_part),
- 6 );
- gtk_box_pack_start ( GTK_BOX (transaction_form),
- form_scheduled_part,
- FALSE, FALSE,
- 0 );
-
- gsb_form_scheduler_create (form_scheduled_part);
-
- /* add a separator between the scheduled and transaction part */
- separator = gtk_hseparator_new ();
- gtk_box_pack_start ( GTK_BOX (transaction_form),
- separator,
- FALSE, FALSE,
- 0 );
-
- /* the transactions part is a variable table,
- * so set to 1x1 for now, it will change when we show it */
- /* didn't find another way to get the button-press-event on the form_transaction_part,
- * so use an event box */
- event_box = gtk_event_box_new ();
- gtk_event_box_set_above_child (GTK_EVENT_BOX (event_box),
- FALSE );
- gtk_box_pack_start ( GTK_BOX (transaction_form),
- event_box ,
- FALSE, FALSE,
- 0 );
- g_signal_connect ( G_OBJECT (event_box),
- "button-press-event",
- G_CALLBACK (gsb_form_button_press),
- NULL );
-
- form_transaction_part = gtk_table_new ( 1, 1, FALSE );
- gtk_table_set_col_spacings ( GTK_TABLE (form_transaction_part), 6 );
- g_signal_connect ( G_OBJECT (form_transaction_part),
- "size-allocate",
- G_CALLBACK (gsb_form_allocate_size),
- NULL );
- gtk_container_add ( GTK_CONTAINER (event_box),
+ /* play with that widget to tell to the tree view to scroll to keep the selection visible */
+ g_signal_connect_after ( G_OBJECT (transaction_form),
+ "size-allocate",
+ G_CALLBACK (gsb_form_size_allocate),
+ NULL );
+
+ /* the scheduled part is a table of SCHEDULED_WIDTH col x SCHEDULED_HEIGHT rows */
+
+ form_scheduled_part = gtk_table_new ( SCHEDULED_HEIGHT,
+ SCHEDULED_WIDTH,
+ FALSE );
+ gtk_table_set_col_spacings ( GTK_TABLE (form_scheduled_part),
+ 6 );
+ gtk_box_pack_start ( GTK_BOX (transaction_form),
+ form_scheduled_part,
+ FALSE, FALSE,
+ 0 );
+
+ gsb_form_scheduler_create (form_scheduled_part);
+
+ /* add a separator between the scheduled and transaction part */
+ separator = gtk_hseparator_new ();
+ gtk_box_pack_start ( GTK_BOX (transaction_form),
+ separator,
+ FALSE, FALSE,
+ 0 );
+
+ /* the transactions part is a variable table,
+ * so set to 1x1 for now, it will change when we show it */
+ /* didn't find another way to get the button-press-event on the form_transaction_part,
+ * so use an event box */
+ event_box = gtk_event_box_new ();
+ gtk_event_box_set_above_child (GTK_EVENT_BOX (event_box),
+ FALSE );
+ gtk_box_pack_start ( GTK_BOX (transaction_form),
+ event_box ,
+ FALSE, FALSE,
+ 0 );
+ g_signal_connect ( G_OBJECT (event_box),
+ "button-press-event",
+ G_CALLBACK (gsb_form_button_press),
+ NULL );
+
+ form_transaction_part = gtk_table_new ( 1, 1, FALSE );
+ gtk_table_set_col_spacings ( GTK_TABLE (form_transaction_part), 6 );
+ g_signal_connect ( G_OBJECT (form_transaction_part),
+ "size-allocate",
+ G_CALLBACK (gsb_form_allocate_size),
+ NULL );
+ gtk_container_add ( GTK_CONTAINER (event_box),
form_transaction_part );
- gsb_form_initialise_transaction_form ( );
-
- /* the buttons part is a hbox, with the recuperate child split
- * on the left and valid/cancel on the right */
- form_button_part = gtk_vbox_new ( FALSE, 0 );
- gtk_box_pack_start ( GTK_BOX (transaction_form), form_button_part, FALSE, FALSE, 0 );
-
- /* add a separator between the transaction and button part */
- separator = gtk_hseparator_new ();
- gtk_box_pack_start ( GTK_BOX (form_button_part), separator, FALSE, FALSE, 0 );
-
- /* Hbox containing buttons */
- hbox_buttons = gtk_hbox_new ( FALSE, 0 );
- gtk_box_pack_start ( GTK_BOX (form_button_part), hbox_buttons, FALSE, FALSE, 0 );
-
- hbox_buttons_inner = gtk_hbox_new ( TRUE, 0 );
- gtk_box_pack_end ( GTK_BOX (hbox_buttons), hbox_buttons_inner, FALSE, FALSE, 0 );
-
- /* create the check button to recover the children of splits */
- form_button_recover_split = gtk_check_button_new_with_label ( _("Recover the children"));
- gtk_box_pack_start ( GTK_BOX (hbox_buttons_inner),
- form_button_recover_split,
- FALSE, FALSE,
- 0 );
-
- /* create the valid/cancel buttons */
- form_button_valid = gtk_button_new_from_stock (GTK_STOCK_OK);
- gtk_button_set_relief ( GTK_BUTTON (form_button_valid), GTK_RELIEF_NONE );
- g_signal_connect ( G_OBJECT (form_button_valid), "clicked",
- G_CALLBACK (gsb_form_finish_edition), NULL );
- gtk_box_pack_end ( GTK_BOX (hbox_buttons_inner), form_button_valid, FALSE, FALSE, 0 );
-
- form_button_cancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
- gtk_button_set_relief ( GTK_BUTTON (form_button_cancel), GTK_RELIEF_NONE );
- g_signal_connect ( G_OBJECT (form_button_cancel), "clicked",
- G_CALLBACK (gsb_form_escape_form), NULL );
- gtk_box_pack_end ( GTK_BOX (hbox_buttons_inner), form_button_cancel, FALSE, FALSE, 0 );
-
- /* Kludge : otherwise, GtkExpander won't give us as many space
+ gsb_form_initialise_transaction_form ( );
+
+ /* the buttons part is a hbox, with the recuperate child split
+ * on the left and valid/cancel on the right */
+ form_button_part = gtk_vbox_new ( FALSE, 0 );
+ gtk_box_pack_start ( GTK_BOX (transaction_form), form_button_part, FALSE, FALSE, 0 );
+
+ /* add a separator between the transaction and button part */
+ separator = gtk_hseparator_new ();
+ gtk_box_pack_start ( GTK_BOX (form_button_part), separator, FALSE, FALSE, 0 );
+
+ /* Hbox containing buttons */
+ hbox_buttons = gtk_hbox_new ( FALSE, 0 );
+ gtk_box_pack_start ( GTK_BOX (form_button_part), hbox_buttons, FALSE, FALSE, 0 );
+
+ hbox_buttons_inner = gtk_hbox_new ( TRUE, 0 );
+ gtk_box_pack_end ( GTK_BOX (hbox_buttons), hbox_buttons_inner, FALSE, FALSE, 0 );
+
+ /* create the check button to recover the children of splits */
+ form_button_recover_split = gtk_check_button_new_with_label ( _("Recover the children"));
+ gtk_box_pack_start ( GTK_BOX (hbox_buttons_inner),
+ form_button_recover_split,
+ FALSE, FALSE,
+ 0 );
+
+ /* create the valid/cancel buttons */
+ form_button_valid = gtk_button_new_from_stock (GTK_STOCK_OK);
+ gtk_button_set_relief ( GTK_BUTTON (form_button_valid), GTK_RELIEF_NONE );
+ g_signal_connect ( G_OBJECT (form_button_valid), "clicked",
+ G_CALLBACK (gsb_form_finish_edition), NULL );
+ gtk_box_pack_end ( GTK_BOX (hbox_buttons_inner), form_button_valid, FALSE, FALSE, 0 );
+
+ form_button_cancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
+ gtk_button_set_relief ( GTK_BUTTON (form_button_cancel), GTK_RELIEF_NONE );
+ g_signal_connect ( G_OBJECT (form_button_cancel), "clicked",
+ G_CALLBACK (gsb_form_escape_form), NULL );
+ gtk_box_pack_end ( GTK_BOX (hbox_buttons_inner), form_button_cancel, FALSE, FALSE, 0 );
+
+ /* Kludge : otherwise, GtkExpander won't give us as many space
as we need. */
- gtk_widget_set_size_request ( hbox, 2048, -1 );
+/* gtk_widget_set_size_request ( hbox, 2048, -1 ); */
- gtk_widget_show_all ( hbox );
- gtk_widget_show_all ( transaction_form );
- gtk_widget_hide ( form_scheduled_part );
+ gtk_widget_show_all ( hbox );
+ gtk_widget_show_all ( transaction_form );
+ gtk_widget_hide ( form_scheduled_part );
- gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_valid ), FALSE );
- gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_cancel ), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_valid ), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_cancel ), FALSE );
- gsb_form_show ( FALSE );
+ /* return */
+ gsb_form_show ( FALSE );
}
@@ -366,17 +371,17 @@ void gsb_form_create_widgets ( void )
* \return FALSE
* */
static gboolean gsb_form_size_allocate ( GtkWidget *widget,
- GtkAllocation *allocation,
- gpointer null )
+ GtkAllocation *allocation,
+ gpointer null )
{
- if (gsb_form_is_visible () && !block_size_allocate)
- {
- block_size_allocate = TRUE;
- gsb_transactions_list_set_row_align (-1.0);
- }
- else
- block_size_allocate = FALSE;
- return FALSE;
+ if (gsb_form_is_visible () && !block_size_allocate)
+ {
+ block_size_allocate = TRUE;
+ gsb_transactions_list_set_row_align (-1.0);
+ }
+ else
+ block_size_allocate = FALSE;
+ return FALSE;
}
@@ -391,177 +396,177 @@ static gboolean gsb_form_size_allocate ( GtkWidget *widget,
* \return FALSE
* */
gboolean gsb_form_fill_by_transaction ( gint transaction_number,
- gint is_transaction,
- gboolean grab_focus )
+ gint is_transaction,
+ gboolean grab_focus )
{
- gint mother_number;
- gint account_number;
- gint focus_to;
- gint is_split;
- GSList *tmp_list;
-
- devel_debug_int (transaction_number);
-
- if ( !transaction_number )
- return FALSE;
-
- /* get the account */
- account_number = gsb_data_mix_get_account_number (transaction_number, is_transaction);
- mother_number = gsb_data_mix_get_mother_transaction_number (transaction_number, is_transaction);
- is_split = gsb_data_mix_get_split_of_transaction (transaction_number, is_transaction);
-
- /* if here account number = -1, it's because it's a white line or there were a problem ;
- * in all case, get the current account number */
- if (account_number == -1)
- account_number = gsb_form_get_account_number ();
-
- /* show and prepare the form */
- gsb_form_show ( TRUE );
-
- if ( !is_transaction )
- {
- /* we need to set up the part of scheduler form here because changing the account
- * button will change the form */
- gsb_form_scheduler_set ( transaction_number );
- }
-
- /* if the transaction is the white line, we set the date and necessary stuff and go away
- * for that use the button_press function, so clicking on a form's field or do enter/double click
- * on white line will do the same */
- if ( transaction_number == -1 )
- {
- GtkWidget *date_entry;
-
- /* if we can't touch the focus, it's because we just select a transaction, and
- * for now, select the white line, so keep the form blank */
- if ( !grab_focus )
- return FALSE;
-
- date_entry = gsb_form_widget_get_widget (TRANSACTION_FORM_DATE);
-
- if ( gsb_form_widget_check_empty (date_entry))
- /* for now, transaction_number_in_form is NULL so can call the next function
- * wich will prepare the form for a new transaction */
- gsb_form_button_press_event ( date_entry,
- NULL,
- GINT_TO_POINTER (TRANSACTION_FORM_DATE));
-
- gtk_editable_select_region ( GTK_EDITABLE (date_entry), 0, -1);
- gtk_widget_grab_focus ( GTK_WIDGET (date_entry));
-
- return FALSE;
- }
-
- /* set the number of the transaction in the form, can be -2, -3...
- * for white line split
- * that must be defined before gsb_form_change_sensitive_buttons
- * because without that number, others functions cannot get the account
- * number for an execution of scheduled in the home page
- * but after gsb_form_show because it will set that value to 0...*/
- g_object_set_data ( G_OBJECT ( transaction_form ),
+ gint mother_number;
+ gint account_number;
+ gint focus_to;
+ gint is_split;
+ GSList *tmp_list;
+
+ devel_debug_int (transaction_number);
+
+ if ( !transaction_number )
+ return FALSE;
+
+ /* get the account */
+ account_number = gsb_data_mix_get_account_number (transaction_number, is_transaction);
+ mother_number = gsb_data_mix_get_mother_transaction_number (transaction_number, is_transaction);
+ is_split = gsb_data_mix_get_split_of_transaction (transaction_number, is_transaction);
+
+ /* if here account number = -1, it's because it's a white line or there were a problem ;
+ * in all case, get the current account number */
+ if (account_number == -1)
+ account_number = gsb_form_get_account_number ();
+
+ /* show and prepare the form */
+ gsb_form_show ( TRUE );
+
+ if ( !is_transaction )
+ {
+ /* we need to set up the part of scheduler form here because changing the account
+ * button will change the form */
+ gsb_form_scheduler_set ( transaction_number );
+ }
+
+ /* if the transaction is the white line, we set the date and necessary stuff and go away
+ * for that use the button_press function, so clicking on a form's field or do enter/double click
+ * on white line will do the same */
+ if ( transaction_number == -1 )
+ {
+ GtkWidget *date_entry;
+
+ /* if we can't touch the focus, it's because we just select a transaction, and
+ * for now, select the white line, so keep the form blank */
+ if ( !grab_focus )
+ return FALSE;
+
+ date_entry = gsb_form_widget_get_widget (TRANSACTION_FORM_DATE);
+
+ if ( gsb_form_widget_check_empty (date_entry))
+ /* for now, transaction_number_in_form is NULL so can call the next function
+ * wich will prepare the form for a new transaction */
+ gsb_form_button_press_event ( date_entry,
+ NULL,
+ GINT_TO_POINTER (TRANSACTION_FORM_DATE));
+
+ gtk_editable_select_region ( GTK_EDITABLE (date_entry), 0, -1);
+ gtk_widget_grab_focus ( GTK_WIDGET (date_entry));
+
+ return FALSE;
+ }
+
+ /* set the number of the transaction in the form, can be -2, -3...
+ * for white line split
+ * that must be defined before gsb_form_change_sensitive_buttons
+ * because without that number, others functions cannot get the account
+ * number for an execution of scheduled in the home page
+ * but after gsb_form_show because it will set that value to 0...*/
+ g_object_set_data ( G_OBJECT ( transaction_form ),
"transaction_number_in_form",
GINT_TO_POINTER (transaction_number));
- gsb_form_change_sensitive_buttons (TRUE);
-
- /* by default, a function before changed all the form from non sensitive to sensitive,
- * but for split or split child, some widgets need to be unsensitive/hidden */
- gsb_form_set_sensitive (is_split, mother_number);
-
- /* fill what is necessary in the form */
- tmp_list = gsb_form_widget_get_list ();
-
- while (tmp_list)
- {
- struct_element *element;
-
- element = tmp_list -> data;
-
- if (mother_number
- &&
- transaction_number < 0)
- {
- /* we are on a split white line, we fill only few fields
- * with the element_number of the mother */
- switch (element -> element_number)
- {
- case TRANSACTION_FORM_DATE:
- case TRANSACTION_FORM_VALUE_DATE:
- case TRANSACTION_FORM_PARTY:
- case TRANSACTION_FORM_TYPE:
- case TRANSACTION_FORM_CHEQUE:
- case TRANSACTION_FORM_DEVISE:
- case TRANSACTION_FORM_BANK:
- gsb_form_fill_element ( element -> element_number,
- account_number,
- mother_number,
- is_transaction );
- break;
- }
- }
- else
- /* normal transaction */
- gsb_form_fill_element ( element -> element_number,
- account_number,
- transaction_number,
- is_transaction );
-
- tmp_list = tmp_list -> next;
- }
-
- /* for a transaction, need to check if marked R, and do some stuff with that */
- if (is_transaction)
- {
- gint contra_transaction_number;
-
- /* get the contra transaction */
- contra_transaction_number = gsb_data_transaction_get_contra_transaction_number ( transaction_number );
-
- /* if the transaction is marked R and splitted, cannot change the amounts */
- if ( gsb_data_transaction_get_marked_transaction (transaction_number) == OPERATION_RAPPROCHEE
- && mother_number == 0 )
- {
- gtk_widget_set_sensitive ( gsb_form_widget_get_widget (TRANSACTION_FORM_DEBIT), FALSE );
- gtk_widget_set_sensitive ( gsb_form_widget_get_widget (TRANSACTION_FORM_CREDIT), FALSE );
- }
-
- /* if the contra transaction is marked R, cannot change category and amounts */
- if ( contra_transaction_number > 0
- &&
- gsb_data_transaction_get_marked_transaction (contra_transaction_number) == OPERATION_RAPPROCHEE )
- {
- gtk_widget_set_sensitive ( gsb_form_widget_get_widget (TRANSACTION_FORM_DEBIT), FALSE );
- gtk_widget_set_sensitive ( gsb_form_widget_get_widget (TRANSACTION_FORM_CREDIT), FALSE );
-
- /* if it's a transfer, we cannot change too the category */
- gtk_widget_set_sensitive ( gsb_form_widget_get_widget (TRANSACTION_FORM_CATEGORY), FALSE );
- }
- }
-
- /* we take focus only if asked */
- if (grab_focus)
- {
- GtkWidget *widget;
-
- /* the form is full, if it's not a split, we give the focus to the date
- * else, we give the focus to the first free form element */
- if (mother_number)
- focus_to = gsb_form_widget_next_element ( account_number,
- TRANSACTION_FORM_DATE,
- GSB_RIGHT );
- else
- focus_to = TRANSACTION_FORM_DATE;
-
- widget = gsb_form_widget_get_widget ( focus_to );
- gtk_editable_select_region ( GTK_EDITABLE ( widget ), 0, -1 );
- if ( !is_transaction && gtk_widget_is_focus ( widget ) )
- gsb_form_widget_entry_get_focus ( widget, NULL, GINT_TO_POINTER ( focus_to ) );
- else
- gtk_widget_grab_focus ( widget );
-
- }
-
- return FALSE;
+ gsb_form_change_sensitive_buttons (TRUE);
+
+ /* by default, a function before changed all the form from non sensitive to sensitive,
+ * but for split or split child, some widgets need to be unsensitive/hidden */
+ gsb_form_set_sensitive (is_split, mother_number);
+
+ /* fill what is necessary in the form */
+ tmp_list = gsb_form_widget_get_list ();
+
+ while (tmp_list)
+ {
+ struct_element *element;
+
+ element = tmp_list -> data;
+
+ if (mother_number
+ &&
+ transaction_number < 0)
+ {
+ /* we are on a split white line, we fill only few fields
+ * with the element_number of the mother */
+ switch (element -> element_number)
+ {
+ case TRANSACTION_FORM_DATE:
+ case TRANSACTION_FORM_VALUE_DATE:
+ case TRANSACTION_FORM_PARTY:
+ case TRANSACTION_FORM_TYPE:
+ case TRANSACTION_FORM_CHEQUE:
+ case TRANSACTION_FORM_DEVISE:
+ case TRANSACTION_FORM_BANK:
+ gsb_form_fill_element ( element -> element_number,
+ account_number,
+ mother_number,
+ is_transaction );
+ break;
+ }
+ }
+ else
+ /* normal transaction */
+ gsb_form_fill_element ( element -> element_number,
+ account_number,
+ transaction_number,
+ is_transaction );
+
+ tmp_list = tmp_list -> next;
+ }
+
+ /* for a transaction, need to check if marked R, and do some stuff with that */
+ if (is_transaction)
+ {
+ gint contra_transaction_number;
+
+ /* get the contra transaction */
+ contra_transaction_number = gsb_data_transaction_get_contra_transaction_number ( transaction_number );
+
+ /* if the transaction is marked R and splitted, cannot change the amounts */
+ if ( gsb_data_transaction_get_marked_transaction (transaction_number) == OPERATION_RAPPROCHEE
+ && mother_number == 0 )
+ {
+ gtk_widget_set_sensitive ( gsb_form_widget_get_widget (TRANSACTION_FORM_DEBIT), FALSE );
+ gtk_widget_set_sensitive ( gsb_form_widget_get_widget (TRANSACTION_FORM_CREDIT), FALSE );
+ }
+
+ /* if the contra transaction is marked R, cannot change category and amounts */
+ if ( contra_transaction_number > 0
+ &&
+ gsb_data_transaction_get_marked_transaction (contra_transaction_number) == OPERATION_RAPPROCHEE )
+ {
+ gtk_widget_set_sensitive ( gsb_form_widget_get_widget (TRANSACTION_FORM_DEBIT), FALSE );
+ gtk_widget_set_sensitive ( gsb_form_widget_get_widget (TRANSACTION_FORM_CREDIT), FALSE );
+
+ /* if it's a transfer, we cannot change too the category */
+ gtk_widget_set_sensitive ( gsb_form_widget_get_widget (TRANSACTION_FORM_CATEGORY), FALSE );
+ }
+ }
+
+ /* we take focus only if asked */
+ if (grab_focus)
+ {
+ GtkWidget *widget;
+
+ /* the form is full, if it's not a split, we give the focus to the date
+ * else, we give the focus to the first free form element */
+ if (mother_number)
+ focus_to = gsb_form_widget_next_element ( account_number,
+ TRANSACTION_FORM_DATE,
+ GSB_RIGHT );
+ else
+ focus_to = TRANSACTION_FORM_DATE;
+
+ widget = gsb_form_widget_get_widget ( focus_to );
+ gtk_editable_select_region ( GTK_EDITABLE ( widget ), 0, -1 );
+ if ( !is_transaction && gtk_widget_is_focus ( widget ) )
+ gsb_form_widget_entry_get_focus ( widget, NULL, GINT_TO_POINTER ( focus_to ) );
+ else
+ gtk_widget_grab_focus ( widget );
+
+ }
+
+ return FALSE;
}
@@ -576,61 +581,61 @@ gboolean gsb_form_fill_by_transaction ( gint transaction_number,
* \return FALSE
* */
gboolean gsb_form_set_sensitive ( gboolean split,
- gboolean split_child)
+ gboolean split_child)
{
- GSList *tmp_list;
+ GSList *tmp_list;
- /* for now, come here only for split or split child */
- if (!split
- &&
- !split_child)
- return FALSE;
+ /* for now, come here only for split or split child */
+ if (!split
+ &&
+ !split_child)
+ return FALSE;
- tmp_list = gsb_form_widget_get_list ();
+ tmp_list = gsb_form_widget_get_list ();
- while (tmp_list)
- {
- struct_element *element;
+ while (tmp_list)
+ {
+ struct_element *element;
- element = tmp_list -> data;
+ element = tmp_list -> data;
- /* for a split, hide the exercice and the budget */
- if (split)
- {
- switch (element -> element_number)
- {
- case TRANSACTION_FORM_BUDGET:
- case TRANSACTION_FORM_VOUCHER:
- gtk_widget_set_sensitive ( element -> element_widget,
- FALSE );
- break;
- }
- }
+ /* for a split, hide the exercice and the budget */
+ if (split)
+ {
+ switch (element -> element_number)
+ {
+ case TRANSACTION_FORM_BUDGET:
+ case TRANSACTION_FORM_VOUCHER:
+ gtk_widget_set_sensitive ( element -> element_widget,
+ FALSE );
+ break;
+ }
+ }
- /* for a child of split, cannot change the date, payee... */
- if ( split_child )
- {
- /* mixed widgets for transactions and scheduled transactions */
- switch (element -> element_number)
- {
- case TRANSACTION_FORM_DATE:
- case TRANSACTION_FORM_VALUE_DATE:
- case TRANSACTION_FORM_PARTY:
- case TRANSACTION_FORM_DEVISE:
- case TRANSACTION_FORM_CHANGE:
- case TRANSACTION_FORM_TYPE:
- case TRANSACTION_FORM_CHEQUE:
- case TRANSACTION_FORM_BANK:
- gtk_widget_set_sensitive ( element -> element_widget,
- FALSE );
- break;
- }
- /* specific widgets for scheduled transactions */
- gtk_widget_hide (gsb_form_get_scheduler_part ());
- }
- tmp_list = tmp_list -> next;
+ /* for a child of split, cannot change the date, payee... */
+ if ( split_child )
+ {
+ /* mixed widgets for transactions and scheduled transactions */
+ switch (element -> element_number)
+ {
+ case TRANSACTION_FORM_DATE:
+ case TRANSACTION_FORM_VALUE_DATE:
+ case TRANSACTION_FORM_PARTY:
+ case TRANSACTION_FORM_DEVISE:
+ case TRANSACTION_FORM_CHANGE:
+ case TRANSACTION_FORM_TYPE:
+ case TRANSACTION_FORM_CHEQUE:
+ case TRANSACTION_FORM_BANK:
+ gtk_widget_set_sensitive ( element -> element_widget,
+ FALSE );
+ break;
+ }
+ /* specific widgets for scheduled transactions */
+ gtk_widget_hide (gsb_form_get_scheduler_part ());
}
- return FALSE;
+ tmp_list = tmp_list -> next;
+ }
+ return FALSE;
}
@@ -647,298 +652,298 @@ gboolean gsb_form_set_sensitive ( gboolean split,
* \return
* */
void gsb_form_fill_element ( gint element_number,
- gint account_number,
- gint transaction_number,
- gboolean is_transaction )
+ gint account_number,
+ gint transaction_number,
+ gboolean is_transaction )
{
- GtkWidget *widget;
- GtkWidget *tmp_widget;
- gchar *char_tmp;
- gint number;
+ GtkWidget *widget;
+ GtkWidget *tmp_widget;
+ gchar *char_tmp;
+ gint number;
- widget = gsb_form_widget_get_widget (element_number);
- if (!widget)
- return;
+ widget = gsb_form_widget_get_widget (element_number);
+ if (!widget)
+ return;
- switch (element_number)
- {
+ switch (element_number)
+ {
case TRANSACTION_FORM_OP_NB:
- gtk_label_set_text ( GTK_LABEL ( widget ),
- char_tmp = utils_str_itoa (transaction_number));
- g_free (char_tmp);
- break;
+ gtk_label_set_text ( GTK_LABEL ( widget ),
+ char_tmp = utils_str_itoa (transaction_number));
+ g_free (char_tmp);
+ break;
case TRANSACTION_FORM_DATE:
- gsb_form_entry_get_focus (widget);
- gsb_calendar_entry_set_date ( widget, gsb_data_mix_get_date (transaction_number, is_transaction));
- break;
+ gsb_form_entry_get_focus (widget);
+ gsb_calendar_entry_set_date ( widget, gsb_data_mix_get_date (transaction_number, is_transaction));
+ break;
case TRANSACTION_FORM_VALUE_DATE:
- /* value_date only for transactions */
- if ( is_transaction
- &&
- gsb_data_transaction_get_value_date (transaction_number))
- {
- gsb_form_entry_get_focus (widget);
- gsb_calendar_entry_set_date ( widget, gsb_data_transaction_get_value_date (transaction_number));
- }
- break;
+ /* value_date only for transactions */
+ if ( is_transaction
+ &&
+ gsb_data_transaction_get_value_date (transaction_number))
+ {
+ gsb_form_entry_get_focus (widget);
+ gsb_calendar_entry_set_date ( widget, gsb_data_transaction_get_value_date (transaction_number));
+ }
+ break;
case TRANSACTION_FORM_EXERCICE:
- gsb_fyear_set_combobox_history ( widget,
- gsb_data_mix_get_financial_year_number (transaction_number, is_transaction));
- break;
+ gsb_fyear_set_combobox_history ( widget,
+ gsb_data_mix_get_financial_year_number (transaction_number, is_transaction));
+ break;
case TRANSACTION_FORM_PARTY:
- if ( gsb_data_mix_get_party_number (transaction_number, is_transaction))
- {
- gsb_form_entry_get_focus (widget);
- gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
+ if ( gsb_data_mix_get_party_number (transaction_number, is_transaction))
+ {
+ gsb_form_entry_get_focus (widget);
+ gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
gsb_data_payee_get_name ( gsb_data_mix_get_party_number (transaction_number, is_transaction), TRUE ));
- }
- break;
+ }
+ break;
case TRANSACTION_FORM_DEBIT:
- if (gsb_data_mix_get_amount (transaction_number, is_transaction).mantissa < 0)
- {
- char_tmp = utils_real_get_string_with_currency (gsb_real_abs (gsb_data_mix_get_amount (transaction_number, is_transaction)),
- gsb_data_mix_get_currency_number (transaction_number, is_transaction),
- FALSE );
+ if (gsb_data_mix_get_amount (transaction_number, is_transaction).mantissa < 0)
+ {
+ char_tmp = utils_real_get_string_with_currency (gsb_real_abs (gsb_data_mix_get_amount (transaction_number, is_transaction)),
+ gsb_data_mix_get_currency_number (transaction_number, is_transaction),
+ FALSE );
- gsb_form_entry_get_focus (widget);
- gtk_entry_set_text ( GTK_ENTRY ( widget ),
- char_tmp );
- g_free (char_tmp);
- }
- break;
+ gsb_form_entry_get_focus (widget);
+ gtk_entry_set_text ( GTK_ENTRY ( widget ),
+ char_tmp );
+ g_free (char_tmp);
+ }
+ break;
case TRANSACTION_FORM_CREDIT:
- if (gsb_data_mix_get_amount (transaction_number, is_transaction).mantissa >= 0)
- {
- char_tmp = utils_real_get_string_with_currency (gsb_data_mix_get_amount (transaction_number, is_transaction),
- gsb_data_mix_get_currency_number (transaction_number, is_transaction),
- FALSE );
+ if (gsb_data_mix_get_amount (transaction_number, is_transaction).mantissa >= 0)
+ {
+ char_tmp = utils_real_get_string_with_currency (gsb_data_mix_get_amount (transaction_number, is_transaction),
+ gsb_data_mix_get_currency_number (transaction_number, is_transaction),
+ FALSE );
- gsb_form_entry_get_focus (widget);
- gtk_entry_set_text ( GTK_ENTRY ( widget ),
- char_tmp );
- g_free (char_tmp);
- }
- break;
+ gsb_form_entry_get_focus (widget);
+ gtk_entry_set_text ( GTK_ENTRY ( widget ),
+ char_tmp );
+ g_free (char_tmp);
+ }
+ break;
case TRANSACTION_FORM_CATEGORY:
- if (gsb_data_mix_get_split_of_transaction (transaction_number, is_transaction))
- {
- /* it's a split of transaction */
- gsb_form_entry_get_focus (widget);
- gtk_combofix_set_text ( GTK_COMBOFIX (widget),
+ if (gsb_data_mix_get_split_of_transaction (transaction_number, is_transaction))
+ {
+ /* it's a split of transaction */
+ gsb_form_entry_get_focus (widget);
+ gtk_combofix_set_text ( GTK_COMBOFIX (widget),
_("Split of transaction") );
- }
- else
- {
- gint contra_transaction_number;
+ }
+ else
+ {
+ gint contra_transaction_number;
- contra_transaction_number = gsb_data_mix_get_transaction_number_transfer (transaction_number, is_transaction);
- switch (contra_transaction_number)
- {
- case -1:
- /* transfer to deleted account, not possible with scheduled */
- gsb_form_entry_get_focus (widget);
- gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
+ contra_transaction_number = gsb_data_mix_get_transaction_number_transfer (transaction_number, is_transaction);
+ switch (contra_transaction_number)
+ {
+ case -1:
+ /* transfer to deleted account, not possible with scheduled */
+ gsb_form_entry_get_focus (widget);
+ gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
_("Transfer : Deleted account") );
- break;
- case 0:
- /* normal category */
- char_tmp = gsb_data_category_get_name ( gsb_data_mix_get_category_number (transaction_number, is_transaction),
- gsb_data_mix_get_sub_category_number (transaction_number, is_transaction),
- NULL );
- if (char_tmp)
- {
- gsb_form_entry_get_focus (widget);
- gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
- char_tmp );
- g_free (char_tmp);
- }
- break;
- default:
- /* transfer */
- gsb_form_entry_get_focus (widget);
- gtk_combofix_set_text ( GTK_COMBOFIX (widget),
- char_tmp = g_strconcat ( _("Transfer : "),
- gsb_data_account_get_name (gsb_data_mix_get_account_number_transfer (transaction_number, is_transaction)), NULL ));
- g_free (char_tmp);
+ break;
+ case 0:
+ /* normal category */
+ char_tmp = gsb_data_category_get_name ( gsb_data_mix_get_category_number (transaction_number, is_transaction),
+ gsb_data_mix_get_sub_category_number (transaction_number, is_transaction),
+ NULL );
+ if (char_tmp)
+ {
+ gsb_form_entry_get_focus (widget);
+ gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
+ char_tmp );
+ g_free (char_tmp);
}
+ break;
+ default:
+ /* transfer */
+ gsb_form_entry_get_focus (widget);
+ gtk_combofix_set_text ( GTK_COMBOFIX (widget),
+ char_tmp = g_strconcat ( _("Transfer : "),
+ gsb_data_account_get_name (gsb_data_mix_get_account_number_transfer (transaction_number, is_transaction)), NULL ));
+ g_free (char_tmp);
}
- break;
+ }
+ break;
case TRANSACTION_FORM_BUDGET:
- char_tmp = gsb_data_budget_get_name ( gsb_data_mix_get_budgetary_number (transaction_number, is_transaction),
- gsb_data_mix_get_sub_budgetary_number (transaction_number, is_transaction),
- NULL );
- if (char_tmp)
- {
- gsb_form_entry_get_focus (widget);
- gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
+ char_tmp = gsb_data_budget_get_name ( gsb_data_mix_get_budgetary_number (transaction_number, is_transaction),
+ gsb_data_mix_get_sub_budgetary_number (transaction_number, is_transaction),
+ NULL );
+ if (char_tmp)
+ {
+ gsb_form_entry_get_focus (widget);
+ gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
char_tmp );
- g_free (char_tmp);
- }
- break;
+ g_free (char_tmp);
+ }
+ break;
case TRANSACTION_FORM_NOTES:
- if (gsb_data_mix_get_notes (transaction_number, is_transaction))
- {
- gsb_form_entry_get_focus (widget);
- gtk_entry_set_text ( GTK_ENTRY ( widget ),
- gsb_data_mix_get_notes (transaction_number, is_transaction));
- }
- break;
+ if (gsb_data_mix_get_notes (transaction_number, is_transaction))
+ {
+ gsb_form_entry_get_focus (widget);
+ gtk_entry_set_text ( GTK_ENTRY ( widget ),
+ gsb_data_mix_get_notes (transaction_number, is_transaction));
+ }
+ break;
case TRANSACTION_FORM_TYPE:
- /* one small thing here : normally if the transaction is a debit, we set the
- * negative payment method. but the problem : if we are on a child of split,
- * that child contains the payment method of the mother, and if the child has not
- * the same sign of the mother (rare but possible), grisbi will not find the good payment
- * method for that child because it's not on the good sign... so for a child of split,
- * we set the payment box of the mother */
- number = gsb_data_mix_get_mother_transaction_number (transaction_number, is_transaction);
- if (!number)
- /* it's not a child split, so set number to transaction_number */
- number = transaction_number;
-
- /* ok, now number contains either the transaction_number, either the mother transaction number,
- * we can check the sign with it */
- if (gsb_data_mix_get_amount (number, is_transaction).mantissa < 0)
- {
- if ( gsb_payment_method_get_combo_sign ( widget ) != GSB_PAYMENT_DEBIT
- ||
- ( gsb_payment_method_get_selected_number ( widget )
- !=
- gsb_data_account_get_default_debit ( account_number ) ) )
- gsb_payment_method_create_combo_list ( widget,
- GSB_PAYMENT_DEBIT,
- account_number, 0, FALSE );
- }
- else
- {
- if ( gsb_payment_method_get_combo_sign ( widget ) != GSB_PAYMENT_CREDIT
- ||
- ( gsb_payment_method_get_selected_number ( widget )
- !=
- gsb_data_account_get_default_debit ( account_number ) ) )
- gsb_payment_method_create_combo_list ( widget,
- GSB_PAYMENT_CREDIT,
- account_number, 0, FALSE );
- }
-
- /* don't show the cheque entry for a child of split */
- tmp_widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CHEQUE );
- if ( gtk_widget_get_visible ( widget ) )
- {
- gboolean check_entry = FALSE;
-
- number = gsb_data_mix_get_method_of_payment_number (transaction_number, is_transaction);
- if ( transaction_number == - 1 )
- check_entry = TRUE;
-
- /* we show the cheque entry only for transactions */
- if (gsb_payment_method_set_combobox_history ( widget, number, check_entry )
- &&
- gsb_data_payment_get_show_entry (number)
- &&
- is_transaction
- &&
- !gsb_data_mix_get_mother_transaction_number (transaction_number, is_transaction) )
- {
- gsb_form_entry_get_focus ( tmp_widget );
- if ( gsb_data_transaction_get_method_of_payment_content ( transaction_number ) )
- gtk_entry_set_text ( GTK_ENTRY ( tmp_widget ),
- gsb_data_transaction_get_method_of_payment_content ( transaction_number) );
-
- gtk_widget_show ( tmp_widget );
- }
- else
- gtk_widget_hide ( tmp_widget );
- }
- else
- gtk_widget_hide ( tmp_widget );
- break;
+ /* one small thing here : normally if the transaction is a debit, we set the
+ * negative payment method. but the problem : if we are on a child of split,
+ * that child contains the payment method of the mother, and if the child has not
+ * the same sign of the mother (rare but possible), grisbi will not find the good payment
+ * method for that child because it's not on the good sign... so for a child of split,
+ * we set the payment box of the mother */
+ number = gsb_data_mix_get_mother_transaction_number (transaction_number, is_transaction);
+ if (!number)
+ /* it's not a child split, so set number to transaction_number */
+ number = transaction_number;
+
+ /* ok, now number contains either the transaction_number, either the mother transaction number,
+ * we can check the sign with it */
+ if (gsb_data_mix_get_amount (number, is_transaction).mantissa < 0)
+ {
+ if ( gsb_payment_method_get_combo_sign ( widget ) != GSB_PAYMENT_DEBIT
+ ||
+ ( gsb_payment_method_get_selected_number ( widget )
+ !=
+ gsb_data_account_get_default_debit ( account_number ) ) )
+ gsb_payment_method_create_combo_list ( widget,
+ GSB_PAYMENT_DEBIT,
+ account_number, 0, FALSE );
+ }
+ else
+ {
+ if ( gsb_payment_method_get_combo_sign ( widget ) != GSB_PAYMENT_CREDIT
+ ||
+ ( gsb_payment_method_get_selected_number ( widget )
+ !=
+ gsb_data_account_get_default_debit ( account_number ) ) )
+ gsb_payment_method_create_combo_list ( widget,
+ GSB_PAYMENT_CREDIT,
+ account_number, 0, FALSE );
+ }
+
+ /* don't show the cheque entry for a child of split */
+ tmp_widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CHEQUE );
+ if ( gtk_widget_get_visible ( widget ) )
+ {
+ gboolean check_entry = FALSE;
+
+ number = gsb_data_mix_get_method_of_payment_number (transaction_number, is_transaction);
+ if ( transaction_number == - 1 )
+ check_entry = TRUE;
+
+ /* we show the cheque entry only for transactions */
+ if (gsb_payment_method_set_combobox_history ( widget, number, check_entry )
+ &&
+ gsb_data_payment_get_show_entry (number)
+ &&
+ is_transaction
+ &&
+ !gsb_data_mix_get_mother_transaction_number (transaction_number, is_transaction) )
+ {
+ gsb_form_entry_get_focus ( tmp_widget );
+ if ( gsb_data_transaction_get_method_of_payment_content ( transaction_number ) )
+ gtk_entry_set_text ( GTK_ENTRY ( tmp_widget ),
+ gsb_data_transaction_get_method_of_payment_content ( transaction_number) );
+
+ gtk_widget_show ( tmp_widget );
+ }
+ else
+ gtk_widget_hide ( tmp_widget );
+ }
+ else
+ gtk_widget_hide ( tmp_widget );
+ break;
case TRANSACTION_FORM_DEVISE:
- number = gsb_data_mix_get_currency_number (transaction_number, is_transaction);
-
- gsb_currency_set_combobox_history ( widget, number);
- if ( transaction_number < 1 )
- gsb_currency_init_exchanges ( );
-
- if (is_transaction)
- {
- if ( gsb_data_transaction_get_marked_transaction ( transaction_number ) == OPERATION_RAPPROCHEE )
- {
- gtk_widget_set_sensitive ( widget, FALSE );
- gtk_widget_hide ( gsb_form_widget_get_widget (
- TRANSACTION_FORM_CHANGE ) );
- }
- }
- break;
+ number = gsb_data_mix_get_currency_number (transaction_number, is_transaction);
+
+ gsb_currency_set_combobox_history ( widget, number);
+ if ( transaction_number < 1 )
+ gsb_currency_init_exchanges ( );
+
+ if (is_transaction)
+ {
+ if ( gsb_data_transaction_get_marked_transaction ( transaction_number ) == OPERATION_RAPPROCHEE )
+ {
+ gtk_widget_set_sensitive ( widget, FALSE );
+ gtk_widget_hide ( gsb_form_widget_get_widget (
+ TRANSACTION_FORM_CHANGE ) );
+ }
+ }
+ break;
case TRANSACTION_FORM_BANK:
- if ( gsb_data_mix_get_bank_references (transaction_number, is_transaction))
- {
- gsb_form_entry_get_focus (widget);
- gtk_entry_set_text ( GTK_ENTRY ( widget ),
- gsb_data_mix_get_bank_references (transaction_number, is_transaction));
- }
- break;
+ if ( gsb_data_mix_get_bank_references (transaction_number, is_transaction))
+ {
+ gsb_form_entry_get_focus (widget);
+ gtk_entry_set_text ( GTK_ENTRY ( widget ),
+ gsb_data_mix_get_bank_references (transaction_number, is_transaction));
+ }
+ break;
case TRANSACTION_FORM_VOUCHER:
- if ( gsb_data_mix_get_voucher (transaction_number, is_transaction))
- {
- gsb_form_entry_get_focus (widget);
- gtk_entry_set_text ( GTK_ENTRY ( widget ),
- gsb_data_mix_get_voucher (transaction_number, is_transaction));
- }
- break;
+ if ( gsb_data_mix_get_voucher (transaction_number, is_transaction))
+ {
+ gsb_form_entry_get_focus (widget);
+ gtk_entry_set_text ( GTK_ENTRY ( widget ),
+ gsb_data_mix_get_voucher (transaction_number, is_transaction));
+ }
+ break;
case TRANSACTION_FORM_CONTRA:
- if (gsb_data_mix_get_transaction_number_transfer (transaction_number, is_transaction) > 0)
- {
- number = gsb_data_mix_get_account_number_transfer (transaction_number, is_transaction);
-
- if ( gsb_data_mix_get_amount (transaction_number, is_transaction).mantissa < 0 )
- gsb_payment_method_create_combo_list ( widget,
- GSB_PAYMENT_CREDIT,
- number, 0, TRUE );
- else
- gsb_payment_method_create_combo_list ( widget,
- GSB_PAYMENT_DEBIT,
- number, 0, TRUE );
-
- if (gtk_widget_get_visible (widget))
- {
- gint method;
-
- if (is_transaction)
- method = gsb_data_transaction_get_method_of_payment_number (
- gsb_data_transaction_get_contra_transaction_number (transaction_number));
- else
- method = gsb_data_scheduled_get_contra_method_of_payment_number (transaction_number);
-
- gsb_payment_method_set_combobox_history ( widget, method, FALSE );
- }
- }
- else
- gtk_widget_hide ( widget );
- break;
+ if (gsb_data_mix_get_transaction_number_transfer (transaction_number, is_transaction) > 0)
+ {
+ number = gsb_data_mix_get_account_number_transfer (transaction_number, is_transaction);
+
+ if ( gsb_data_mix_get_amount (transaction_number, is_transaction).mantissa < 0 )
+ gsb_payment_method_create_combo_list ( widget,
+ GSB_PAYMENT_CREDIT,
+ number, 0, TRUE );
+ else
+ gsb_payment_method_create_combo_list ( widget,
+ GSB_PAYMENT_DEBIT,
+ number, 0, TRUE );
+
+ if (gtk_widget_get_visible (widget))
+ {
+ gint method;
+
+ if (is_transaction)
+ method = gsb_data_transaction_get_method_of_payment_number (
+ gsb_data_transaction_get_contra_transaction_number (transaction_number));
+ else
+ method = gsb_data_scheduled_get_contra_method_of_payment_number (transaction_number);
+
+ gsb_payment_method_set_combobox_history ( widget, method, FALSE );
+ }
+ }
+ else
+ gtk_widget_hide ( widget );
+ break;
case TRANSACTION_FORM_MODE:
- if ( gsb_data_mix_get_automatic_transaction (transaction_number, is_transaction))
- gtk_label_set_text ( GTK_LABEL ( widget ),
- _("Auto"));
- else
- gtk_label_set_text ( GTK_LABEL ( widget ),
- _("Manual"));
- break;
- }
+ if ( gsb_data_mix_get_automatic_transaction (transaction_number, is_transaction))
+ gtk_label_set_text ( GTK_LABEL ( widget ),
+ _("Auto"));
+ else
+ gtk_label_set_text ( GTK_LABEL ( widget ),
+ _("Manual"));
+ break;
+ }
}
@@ -951,21 +956,21 @@ void gsb_form_fill_element ( gint element_number,
* return FALSE
* */
gboolean gsb_form_set_expander_visible ( gboolean visible,
- gboolean transactions_list )
+ gboolean transactions_list )
{
- if ( visible )
- {
- gtk_widget_show (form_expander);
+ if ( visible )
+ {
+ gtk_widget_show (form_expander);
- if (transactions_list)
- gtk_widget_show (label_last_statement);
- else
- gtk_widget_hide (label_last_statement);
- }
+ if (transactions_list)
+ gtk_widget_show (label_last_statement);
else
- gtk_widget_hide (form_expander);
+ gtk_widget_hide (label_last_statement);
+ }
+ else
+ gtk_widget_hide (form_expander);
- return FALSE;
+ return FALSE;
}
@@ -980,10 +985,10 @@ gboolean gsb_form_set_expander_visible ( gboolean visible,
* */
gboolean gsb_form_switch_expander ( void )
{
- gtk_expander_set_expanded ( GTK_EXPANDER (form_expander),
- !gsb_form_is_visible ());
+ gtk_expander_set_expanded ( GTK_EXPANDER (form_expander),
+ !gsb_form_is_visible ());
- return FALSE;
+ return FALSE;
}
@@ -997,33 +1002,36 @@ gboolean gsb_form_switch_expander ( void )
* \return FALSE
* */
gboolean gsb_form_activate_expander ( GtkWidget *expander,
- gpointer null )
+ gpointer null )
{
- devel_debug (NULL);
-
- if ( gtk_expander_get_expanded (GTK_EXPANDER (expander)))
- {
- GtkWidget *date_entry;
-
- gsb_form_show ( TRUE );
- etat.formulaire_toujours_affiche = TRUE;
- gsb_form_widget_set_focus ( TRANSACTION_FORM_DATE );
- date_entry = gsb_form_widget_get_widget ( TRANSACTION_FORM_DATE );
- gsb_form_widget_set_empty ( date_entry, TRUE );
- gsb_form_button_press_event ( date_entry,
- NULL,
- GINT_TO_POINTER ( TRANSACTION_FORM_DATE ) );
- gtk_widget_grab_focus ( GTK_WIDGET ( date_entry ) );
- gtk_editable_set_position (GTK_EDITABLE ( date_entry ), -1 );
- }
- else
- {
- gsb_form_show ( FALSE );
- etat.formulaire_toujours_affiche = FALSE;
- }
- gsb_menu_update_view_menu ( gsb_gui_navigation_get_current_account () );
-
- return FALSE;
+ GrisbiAppConf *conf;
+
+ devel_debug (NULL);
+ conf = grisbi_app_get_conf ( );
+
+ if ( gtk_expander_get_expanded ( GTK_EXPANDER ( expander ) ) )
+ {
+ GtkWidget *date_entry;
+
+ gsb_form_show ( TRUE );
+ conf->formulaire_toujours_affiche = TRUE;
+ gsb_form_widget_set_focus ( TRANSACTION_FORM_DATE );
+ date_entry = gsb_form_widget_get_widget ( TRANSACTION_FORM_DATE );
+ gsb_form_widget_set_empty ( date_entry, TRUE );
+ gsb_form_button_press_event ( date_entry,
+ NULL,
+ GINT_TO_POINTER ( TRANSACTION_FORM_DATE ) );
+ gtk_widget_grab_focus ( GTK_WIDGET ( date_entry ) );
+ gtk_editable_set_position (GTK_EDITABLE ( date_entry ), -1 );
+ }
+ else
+ {
+ gsb_form_show ( FALSE );
+ conf->formulaire_toujours_affiche = FALSE;
+ }
+ gsb_menu_update_view_menu ( gsb_gui_navigation_get_current_account () );
+
+ return FALSE;
}
@@ -1039,37 +1047,36 @@ gboolean gsb_form_activate_expander ( GtkWidget *expander,
* */
gboolean gsb_form_show ( gboolean show )
{
- gint origin;
+ gint origin;
- devel_debug_int (show);
+ devel_debug_int (show);
- origin = gsb_form_get_origin ();
+ origin = gsb_form_get_origin ();
- /* show or hide the scheduler part */
- switch (origin)
- {
+ /* show or hide the scheduler part */
+ switch (origin)
+ {
case ORIGIN_VALUE_OTHER:
case ORIGIN_VALUE_HOME:
- return FALSE;
- break;
+ return FALSE;
+ break;
case ORIGIN_VALUE_SCHEDULED:
- gsb_form_scheduler_set_frequency ( 2 );
- gtk_widget_show ( form_scheduled_part );
- break;
+ gsb_form_scheduler_set_frequency ( 2 );
+ gtk_widget_show ( form_scheduled_part );
+ break;
default:
- gtk_widget_hide ( form_scheduled_part );
- break;
- }
+ gtk_widget_hide ( form_scheduled_part );
+ }
- gsb_form_fill_from_account ( origin );
- gtk_widget_show ( form_transaction_part );
+ gsb_form_fill_from_account ( origin );
+ gtk_widget_show ( form_transaction_part );
- if ( ! gsb_form_is_visible ( ) && show )
- gtk_expander_set_expanded (GTK_EXPANDER (form_expander), TRUE );
+ if ( ! gsb_form_is_visible ( ) && show )
+ gtk_expander_set_expanded (GTK_EXPANDER (form_expander), TRUE );
- return FALSE;
+ return FALSE;
}
@@ -1081,13 +1088,13 @@ gboolean gsb_form_show ( gboolean show )
*/
gboolean gsb_form_is_visible ( void )
{
- return gtk_expander_get_expanded ( GTK_EXPANDER ( form_expander ) );
+ return gtk_expander_get_expanded ( GTK_EXPANDER ( form_expander ) );
}
/**
- * hide the form, depending to the variable etat.formulaire_toujours_affiche
+ * hide the form, depending to the variable conf->formulaire_toujours_affiche
* if the user wants the form always showed, that function does nothing
* else, destroy the form and hide the expander
*
@@ -1097,8 +1104,8 @@ gboolean gsb_form_is_visible ( void )
* */
gboolean gsb_form_hide ( void )
{
- gsb_form_escape_form ();
- return FALSE;
+ gsb_form_escape_form ();
+ return FALSE;
}
@@ -1114,43 +1121,42 @@ gboolean gsb_form_hide ( void )
* */
gint gsb_form_get_account_number ( void )
{
- gint account_number;
- gint origin;
+ gint account_number;
+ gint origin;
- origin = gsb_form_get_origin ();
+ origin = gsb_form_get_origin ();
- switch (origin)
- {
+ switch (origin)
+ {
case ORIGIN_VALUE_OTHER:
- return -2;
- break;
+ return -2;
+ break;
case ORIGIN_VALUE_HOME:
- /* we are on the home page, we need to check if the form is showed,
- * if yes, we get the account number of the scheduled showed in that form */
- if ( transaction_form && gtk_widget_get_visible (transaction_form))
- {
- gint scheduled_number;
-
- scheduled_number = GPOINTER_TO_INT ( g_object_get_data ( G_OBJECT (transaction_form),
- "transaction_number_in_form" ));
- if (!scheduled_number)
- return -2;
- account_number = gsb_data_scheduled_get_account_number (scheduled_number);
- }
- else
- return -2;
- break;
+ /* we are on the home page, we need to check if the form is showed,
+ * if yes, we get the account number of the scheduled showed in that form */
+ if ( transaction_form && gtk_widget_get_visible (transaction_form))
+ {
+ gint scheduled_number;
+
+ scheduled_number = GPOINTER_TO_INT ( g_object_get_data ( G_OBJECT (transaction_form),
+ "transaction_number_in_form" ));
+ if (!scheduled_number)
+ return -2;
+ account_number = gsb_data_scheduled_get_account_number (scheduled_number);
+ }
+ else
+ return -2;
+ break;
case ORIGIN_VALUE_SCHEDULED:
- account_number = gsb_form_scheduler_get_account ();
- break;
-
+ account_number = gsb_form_scheduler_get_account ();
+ break;
+
default:
- account_number = origin;
- break;
- }
- return account_number;
+ account_number = origin;
+ }
+ return account_number;
}
@@ -1168,26 +1174,26 @@ gint gsb_form_get_account_number ( void )
* */
gint gsb_form_get_origin ( void )
{
- gint account_number;
+ gint account_number;
- switch (gsb_gui_navigation_get_current_page())
- {
+ switch (gsb_gui_navigation_get_current_page())
+ {
case GSB_ACCOUNT_PAGE:
- account_number = gsb_gui_navigation_get_current_account ();
+ account_number = gsb_gui_navigation_get_current_account ();
- if ( account_number != -1)
- return account_number;
- break;
+ if ( account_number != -1)
+ return account_number;
+ break;
case GSB_SCHEDULER_PAGE:
- return ORIGIN_VALUE_SCHEDULED;
- break;
+ return ORIGIN_VALUE_SCHEDULED;
+ break;
case GSB_HOME_PAGE:
- return ORIGIN_VALUE_HOME;
- break;
- }
- return ORIGIN_VALUE_OTHER;
+ return ORIGIN_VALUE_HOME;
+ break;
+ }
+ return ORIGIN_VALUE_OTHER;
}
@@ -1202,64 +1208,64 @@ gint gsb_form_get_origin ( void )
* */
gboolean gsb_form_fill_from_account ( gint account_number )
{
- gint row, column;
- gint rows_number, columns_number;
+ gint row, column;
+ gint rows_number, columns_number;
- devel_debug_int (account_number);
+ devel_debug_int (account_number);
- /* account_number can be -1 if come here from the accounts choice button,
- * and -2 if there were a problem with the origin */
- switch (account_number)
- {
+ /* account_number can be -1 if come here from the accounts choice button,
+ * and -2 if there were a problem with the origin */
+ switch (account_number)
+ {
case -2:
- return FALSE;
- break;
-
+ return FALSE;
+ break;
+
case -1:
- account_number = gsb_form_scheduler_get_account ();
- if (account_number == -2 )
- return FALSE;
- break;
- }
-
- /* if each account has a separate form, get it here,
- * else, get the form of the first account */
-
- rows_number = gsb_data_form_get_nb_rows ( account_number );
- columns_number = gsb_data_form_get_nb_columns ( account_number );
-
- for ( row=0 ; row < rows_number ; row++ )
- for ( column=0 ; column < columns_number ; column++ )
- {
- GtkWidget *widget;
- gint element = gsb_data_form_get_value ( account_number, column, row );
-
- widget = gsb_form_widget_get_widget ( element );
-
- if ( !widget )
- continue;
+ account_number = gsb_form_scheduler_get_account ();
+ if (account_number == -2 )
+ return FALSE;
+ break;
+ }
- /* We want to show all the widgets that are independent of operations and put
- * the means of payment in accordance with the type of account */
- if ( element == TRANSACTION_FORM_TYPE )
- {
- gint sign;
+ /* if each account has a separate form, get it here,
+ * else, get the form of the first account */
- if ( gsb_data_account_get_default_credit ( account_number ) == 0 )
- sign = GSB_PAYMENT_NEUTRAL;
- else
- sign = GSB_PAYMENT_DEBIT;
+ rows_number = gsb_data_form_get_nb_rows ( account_number );
+ columns_number = gsb_data_form_get_nb_columns ( account_number );
- gsb_payment_method_create_combo_list ( widget, sign, account_number, 0, FALSE );
- }
- else if ( element != TRANSACTION_FORM_CONTRA
- &&
- element != TRANSACTION_FORM_CHEQUE )
- gtk_widget_show (widget);
- }
+ for ( row=0 ; row < rows_number ; row++ )
+ for ( column=0 ; column < columns_number ; column++ )
+ {
+ GtkWidget *widget;
+ gint element = gsb_data_form_get_value ( account_number, column, row );
+
+ widget = gsb_form_widget_get_widget ( element );
+
+ if ( !widget )
+ continue;
+
+ /* We want to show all the widgets that are independent of operations and put
+ * the means of payment in accordance with the type of account */
+ if ( element == TRANSACTION_FORM_TYPE )
+ {
+ gint sign;
+
+ if ( gsb_data_account_get_default_credit ( account_number ) == 0 )
+ sign = GSB_PAYMENT_NEUTRAL;
+ else
+ sign = GSB_PAYMENT_DEBIT;
+
+ gsb_payment_method_create_combo_list ( widget, sign, account_number, 0, FALSE );
+ }
+ else if ( element != TRANSACTION_FORM_CONTRA
+ &&
+ element != TRANSACTION_FORM_CHEQUE )
+ gtk_widget_show (widget);
+ }
- gsb_form_clean (account_number);
- return FALSE;
+ gsb_form_clean (account_number);
+ return FALSE;
}
@@ -1273,151 +1279,151 @@ gboolean gsb_form_fill_from_account ( gint account_number )
* */
gboolean gsb_form_clean ( gint account_number )
{
- GSList *tmp_list;
+ GSList *tmp_list;
+
+ devel_debug_int (account_number);
- devel_debug_int (account_number);
+ /* clean the transactions widget */
+ tmp_list = gsb_form_widget_get_list ();
- /* clean the transactions widget */
- tmp_list = gsb_form_widget_get_list ();
+ while (tmp_list)
+ {
+ struct_element *element;
- while (tmp_list)
+ element = tmp_list -> data;
+
+ /* better to protect here if widget != NULL (bad experience...) */
+ if (element -> element_widget)
{
- struct_element *element;
+ /* some widgets can be set unsensitive because of the children of splits,
+ * so resensitive all to be sure */
+ gtk_widget_set_sensitive ( element -> element_widget, TRUE );
+
+ switch (element -> element_number)
+ {
+ case TRANSACTION_FORM_DATE:
+ gsb_form_widget_set_empty ( element -> element_widget, TRUE );
+ gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Date") );
+ break;
- element = tmp_list -> data;
+ case TRANSACTION_FORM_VALUE_DATE:
+ gsb_form_widget_set_empty ( element -> element_widget, TRUE );
+ gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Value date") );
+ break;
- /* better to protect here if widget != NULL (bad experience...) */
- if (element -> element_widget)
- {
- /* some widgets can be set unsensitive because of the children of splits,
- * so resensitive all to be sure */
- gtk_widget_set_sensitive ( element -> element_widget, TRUE );
+ case TRANSACTION_FORM_EXERCICE:
+ /* editing a transaction can show some fyear wich shouldn't be showed,
+ * so hide them here */
+ gsb_fyear_update_fyear_list ();
- switch (element -> element_number)
- {
- case TRANSACTION_FORM_DATE:
- gsb_form_widget_set_empty ( element -> element_widget, TRUE );
- gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Date") );
- break;
-
- case TRANSACTION_FORM_VALUE_DATE:
- gsb_form_widget_set_empty ( element -> element_widget, TRUE );
- gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Value date") );
- break;
-
- case TRANSACTION_FORM_EXERCICE:
- /* editing a transaction can show some fyear wich shouldn't be showed,
- * so hide them here */
- gsb_fyear_update_fyear_list ();
-
- /* set the combo_box on 'Automatic' */
- gsb_fyear_set_combobox_history ( element -> element_widget, 0 );
-
- gtk_widget_set_sensitive ( GTK_WIDGET ( element -> element_widget ), FALSE );
- break;
-
- case TRANSACTION_FORM_PARTY:
- gsb_form_widget_set_empty ( GTK_COMBOFIX ( element -> element_widget ) -> entry, TRUE );
- gtk_combofix_set_text ( GTK_COMBOFIX ( element -> element_widget ), _("Payee") );
- break;
-
- case TRANSACTION_FORM_DEBIT:
- gsb_form_widget_set_empty ( element -> element_widget, TRUE );
- gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Debit") );
- break;
-
- case TRANSACTION_FORM_CREDIT:
- gsb_form_widget_set_empty ( element -> element_widget, TRUE );
- gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Credit") );
- break;
-
- case TRANSACTION_FORM_CATEGORY:
- gsb_form_widget_set_empty ( GTK_COMBOFIX ( element -> element_widget ) -> entry, TRUE );
- gtk_combofix_set_text ( GTK_COMBOFIX ( element -> element_widget ),
- _("Categories : Sub-categories") );
- break;
-
- case TRANSACTION_FORM_FREE:
- break;
-
- case TRANSACTION_FORM_BUDGET:
- gsb_form_widget_set_empty ( GTK_COMBOFIX ( element -> element_widget ) -> entry, TRUE );
- gtk_combofix_set_text ( GTK_COMBOFIX ( element -> element_widget ), _("Budgetary line") );
- break;
-
- case TRANSACTION_FORM_NOTES:
- gsb_form_widget_set_empty ( element -> element_widget, TRUE );
- gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Notes") );
- break;
-
- case TRANSACTION_FORM_TYPE:
- {
- gint payment_number;
+ /* set the combo_box on 'Automatic' */
+ gsb_fyear_set_combobox_history ( element -> element_widget, 0 );
- payment_number = gsb_data_account_get_default_debit ( account_number );
- gsb_payment_method_set_combobox_history ( element -> element_widget, payment_number, TRUE );
- gtk_widget_set_sensitive ( GTK_WIDGET ( element -> element_widget ), FALSE );
- gsb_payment_method_show_cheque_entry_if_necessary ( payment_number );
+ gtk_widget_set_sensitive ( GTK_WIDGET ( element -> element_widget ), FALSE );
+ break;
- break;
- }
- case TRANSACTION_FORM_CONTRA:
- gtk_widget_hide ( element -> element_widget );
- break;
-
- case TRANSACTION_FORM_CHEQUE:
- gsb_form_widget_set_empty ( element -> element_widget, TRUE );
- gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ),
- _("Cheque/Transfer number") );
- break;
-
- case TRANSACTION_FORM_DEVISE:
- g_signal_handlers_block_by_func ( G_OBJECT ( element -> element_widget ),
- G_CALLBACK ( gsb_form_transaction_currency_changed ),
- NULL );
- gsb_currency_set_combobox_history ( element -> element_widget,
- gsb_data_account_get_currency ( account_number ) );
- gtk_widget_set_sensitive ( GTK_WIDGET ( element -> element_widget ), FALSE );
- g_signal_handlers_unblock_by_func ( G_OBJECT ( element -> element_widget ),
- G_CALLBACK ( gsb_form_transaction_currency_changed ),
- NULL );
- break;
-
- case TRANSACTION_FORM_CHANGE:
- gtk_widget_hide ( element -> element_widget );
- break;
-
- case TRANSACTION_FORM_BANK:
- gsb_form_widget_set_empty ( element -> element_widget, TRUE );
- gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Bank references") );
- break;
-
- case TRANSACTION_FORM_VOUCHER:
- gsb_form_widget_set_empty ( element -> element_widget, TRUE );
- gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Voucher") );
- break;
-
- case TRANSACTION_FORM_OP_NB:
- gtk_label_set_text ( GTK_LABEL ( element -> element_widget ), NULL );
- break;
-
- case TRANSACTION_FORM_MODE:
- gtk_label_set_text ( GTK_LABEL ( element -> element_widget ), NULL );
- break;
- }
- }
- tmp_list = tmp_list -> next;
+ case TRANSACTION_FORM_PARTY:
+ gsb_form_widget_set_empty ( GTK_COMBOFIX ( element -> element_widget ) -> entry, TRUE );
+ gtk_combofix_set_text ( GTK_COMBOFIX ( element -> element_widget ), _("Payee") );
+ break;
+
+ case TRANSACTION_FORM_DEBIT:
+ gsb_form_widget_set_empty ( element -> element_widget, TRUE );
+ gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Debit") );
+ break;
+
+ case TRANSACTION_FORM_CREDIT:
+ gsb_form_widget_set_empty ( element -> element_widget, TRUE );
+ gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Credit") );
+ break;
+
+ case TRANSACTION_FORM_CATEGORY:
+ gsb_form_widget_set_empty ( GTK_COMBOFIX ( element -> element_widget ) -> entry, TRUE );
+ gtk_combofix_set_text ( GTK_COMBOFIX ( element -> element_widget ),
+ _("Categories : Sub-categories") );
+ break;
+
+ case TRANSACTION_FORM_FREE:
+ break;
+
+ case TRANSACTION_FORM_BUDGET:
+ gsb_form_widget_set_empty ( GTK_COMBOFIX ( element -> element_widget ) -> entry, TRUE );
+ gtk_combofix_set_text ( GTK_COMBOFIX ( element -> element_widget ), _("Budgetary line") );
+ break;
+
+ case TRANSACTION_FORM_NOTES:
+ gsb_form_widget_set_empty ( element -> element_widget, TRUE );
+ gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Notes") );
+ break;
+
+ case TRANSACTION_FORM_TYPE:
+ {
+ gint payment_number;
+
+ payment_number = gsb_data_account_get_default_debit ( account_number );
+ gsb_payment_method_set_combobox_history ( element -> element_widget, payment_number, TRUE );
+ gtk_widget_set_sensitive ( GTK_WIDGET ( element -> element_widget ), FALSE );
+ gsb_payment_method_show_cheque_entry_if_necessary ( payment_number );
+
+ break;
+ }
+ case TRANSACTION_FORM_CONTRA:
+ gtk_widget_hide ( element -> element_widget );
+ break;
+
+ case TRANSACTION_FORM_CHEQUE:
+ gsb_form_widget_set_empty ( element -> element_widget, TRUE );
+ gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ),
+ _("Cheque/Transfer number") );
+ break;
+
+ case TRANSACTION_FORM_DEVISE:
+ g_signal_handlers_block_by_func ( G_OBJECT ( element -> element_widget ),
+ G_CALLBACK ( gsb_form_transaction_currency_changed ),
+ NULL );
+ gsb_currency_set_combobox_history ( element -> element_widget,
+ gsb_data_account_get_currency ( account_number ) );
+ gtk_widget_set_sensitive ( GTK_WIDGET ( element -> element_widget ), FALSE );
+ g_signal_handlers_unblock_by_func ( G_OBJECT ( element -> element_widget ),
+ G_CALLBACK ( gsb_form_transaction_currency_changed ),
+ NULL );
+ break;
+
+ case TRANSACTION_FORM_CHANGE:
+ gtk_widget_hide ( element -> element_widget );
+ break;
+
+ case TRANSACTION_FORM_BANK:
+ gsb_form_widget_set_empty ( element -> element_widget, TRUE );
+ gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Bank references") );
+ break;
+
+ case TRANSACTION_FORM_VOUCHER:
+ gsb_form_widget_set_empty ( element -> element_widget, TRUE );
+ gtk_entry_set_text ( GTK_ENTRY ( element -> element_widget ), _("Voucher") );
+ break;
+
+ case TRANSACTION_FORM_OP_NB:
+ gtk_label_set_text ( GTK_LABEL ( element -> element_widget ), NULL );
+ break;
+
+ case TRANSACTION_FORM_MODE:
+ gtk_label_set_text ( GTK_LABEL ( element -> element_widget ), NULL );
+ break;
+ }
}
- g_object_set_data ( G_OBJECT ( transaction_form ), "transaction_number_in_form", NULL );
+ tmp_list = tmp_list -> next;
+ }
+ g_object_set_data ( G_OBJECT ( transaction_form ), "transaction_number_in_form", NULL );
- /* don't show the recover button */
- gtk_widget_hide ( form_button_recover_split );
+ /* don't show the recover button */
+ gtk_widget_hide ( form_button_recover_split );
- /* unsensitive the valid and cancel buttons */
- gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_valid ), FALSE );
- gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_cancel ), FALSE );
+ /* unsensitive the valid and cancel buttons */
+ gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_valid ), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_cancel ), FALSE );
- return FALSE;
+ return FALSE;
}
@@ -1432,15 +1438,15 @@ gboolean gsb_form_clean ( gint account_number )
*/
gint gsb_form_get_element_expandable ( gint element_number )
{
- switch ( element_number )
- {
+ switch ( element_number )
+ {
case TRANSACTION_FORM_OP_NB:
case TRANSACTION_FORM_MODE:
- return GTK_SHRINK;
+ return GTK_SHRINK;
default:
- return GTK_EXPAND | GTK_FILL;
- }
+ return GTK_EXPAND | GTK_FILL;
+ }
}
@@ -1455,28 +1461,28 @@ gint gsb_form_get_element_expandable ( gint element_number )
* */
gboolean gsb_form_entry_get_focus ( GtkWidget *entry )
{
- /* the entry can be a combofix or a real entry */
- if (GTK_IS_COMBOFIX ( entry ))
- {
- if ( gsb_form_widget_check_empty (GTK_COMBOFIX ( entry ) -> entry ) )
- {
- gtk_combofix_set_text ( GTK_COMBOFIX ( entry ), "" );
- gsb_form_widget_set_empty ( GTK_COMBOFIX ( entry) -> entry, FALSE );
- }
- }
- else
- {
- if ( gsb_form_widget_check_empty ( entry ) )
- {
- gtk_entry_set_text ( GTK_ENTRY ( entry ), "" );
- gsb_form_widget_set_empty ( entry, FALSE );
- }
- }
- /* sensitive the valid and cancel buttons */
- gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_valid ), TRUE );
- gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_cancel ), TRUE );
-
- return FALSE;
+ /* the entry can be a combofix or a real entry */
+ if (GTK_IS_COMBOFIX ( entry ))
+ {
+ if ( gsb_form_widget_check_empty (GTK_COMBOFIX ( entry ) -> entry ) )
+ {
+ gtk_combofix_set_text ( GTK_COMBOFIX ( entry ), "" );
+ gsb_form_widget_set_empty ( GTK_COMBOFIX ( entry) -> entry, FALSE );
+ }
+ }
+ else
+ {
+ if ( gsb_form_widget_check_empty ( entry ) )
+ {
+ gtk_entry_set_text ( GTK_ENTRY ( entry ), "" );
+ gsb_form_widget_set_empty ( entry, FALSE );
+ }
+ }
+ /* sensitive the valid and cancel buttons */
+ gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_valid ), TRUE );
+ gtk_widget_set_sensitive ( GTK_WIDGET ( form_button_cancel ), TRUE );
+
+ return FALSE;
}
@@ -1490,320 +1496,320 @@ gboolean gsb_form_entry_get_focus ( GtkWidget *entry )
* \return FALSE
* */
gboolean gsb_form_entry_lose_focus ( GtkWidget *entry,
- GdkEventFocus *ev,
- gint *ptr_origin )
+ GdkEventFocus *ev,
+ gint *ptr_origin )
{
- gchar *string;
- gint element_number;
- GtkWidget *widget;
- GtkWidget *tmp_widget;
- gint account_number;
- gint transaction_number;
- gint payment_number;
-
- /* still not found, if change the content of the form, something come in entry
- * wich is nothing, so protect here */
- if ( !GTK_IS_WIDGET (entry)
- ||
- !GTK_IS_ENTRY (entry))
- return FALSE;
-
- /* remove the selection */
- gtk_editable_select_region ( GTK_EDITABLE ( entry ), 0, 0 );
- element_number = GPOINTER_TO_INT (ptr_origin);
- account_number = gsb_form_get_account_number ();
- transaction_number = GPOINTER_TO_INT ( g_object_get_data (
- G_OBJECT ( gsb_form_get_form_widget ( ) ),
- "transaction_number_in_form" ) );
-
- /* sometimes the combofix popus stays showed, so remove here */
- if ( element_number == TRANSACTION_FORM_PARTY
- ||
- element_number == TRANSACTION_FORM_CATEGORY
- ||
- element_number == TRANSACTION_FORM_BUDGET )
- {
- widget = gsb_form_widget_get_widget (element_number);
- gtk_combofix_hide_popup ( GTK_COMBOFIX ( widget ) );
- }
-
- /* string will be filled only if the field is empty */
- string = NULL;
- switch ( element_number )
- {
- case TRANSACTION_FORM_PARTY :
- /* we complete the transaction */
- if ( !gsb_form_transaction_complete_form_by_payee (gtk_entry_get_text (GTK_ENTRY (entry))))
- string = gsb_form_widget_get_name (TRANSACTION_FORM_PARTY);
- break;
-
- case TRANSACTION_FORM_DEBIT :
- if ( gsb_form_widget_amount_entry_validate ( element_number ) == FALSE )
- return TRUE;
- /* we change the payment method to adapt it for the debit */
- if ( strlen ( gtk_entry_get_text ( GTK_ENTRY (entry))))
- {
- /* empty the credit */
- widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CREDIT);
- if (!gsb_form_widget_check_empty (widget))
- {
- gtk_entry_set_text ( GTK_ENTRY ( widget ),
- gsb_form_widget_get_name ( TRANSACTION_FORM_CREDIT ) );
- gsb_form_widget_set_empty ( widget, TRUE );
- }
-
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_TYPE);
-
- /* change the method of payment if necessary
- * (if grey, it's a child of split so do nothing) */
- if ( widget
- &&
- gtk_widget_get_sensitive (widget))
- {
- /* change the signe of the method of payment and the contra */
- if ( gsb_payment_method_get_combo_sign ( widget ) == GSB_PAYMENT_CREDIT)
- {
- gsb_payment_method_create_combo_list ( widget,
- GSB_PAYMENT_DEBIT,
- account_number, 0, FALSE );
- /* if there is no payment method, the last function hide it, but we have
- * to hide the cheque element too */
- if ( !gtk_widget_get_visible ( widget ) )
- gtk_widget_hide ( gsb_form_widget_get_widget ( TRANSACTION_FORM_CHEQUE ) );
-
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CONTRA );
- if ( widget && gtk_widget_get_visible ( widget ) )
- gsb_payment_method_create_combo_list ( gsb_form_widget_get_widget (
- TRANSACTION_FORM_CONTRA ),
- GSB_PAYMENT_CREDIT,
- account_number, 0, TRUE );
- }
- }
- gsb_form_check_auto_separator (entry);
- }
- else
- {
- /* si pas de nouveau débit on essaie de remettre l'ancien crédit */
- if ( (string = gsb_form_widget_get_old_credit ( ) ) )
- {
- tmp_widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CREDIT );
-
- gtk_entry_set_text ( GTK_ENTRY ( tmp_widget ), string );
- gsb_form_widget_set_empty ( tmp_widget, FALSE );
- g_free ( string );
-
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_TYPE );
- if ( widget
- &&
- gtk_widget_get_sensitive ( widget ) )
- {
- /* change the signe of the method of payment and the contra */
- if ( gsb_payment_method_get_combo_sign ( widget ) == GSB_PAYMENT_DEBIT )
- {
- if ( transaction_number == -1 )
- payment_number = gsb_form_widget_get_old_credit_payment_number ( );
- else
- payment_number = gsb_data_transaction_get_method_of_payment_number (
- transaction_number );
-
- gsb_payment_method_create_combo_list ( widget,
- GSB_PAYMENT_CREDIT,
- account_number, 0, FALSE );
- gsb_payment_method_set_payment_position ( widget, payment_number );
-
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CHEQUE );
- if ( widget && gtk_widget_get_visible ( widget ) )
- {
- if ( gsb_form_widget_get_old_credit_payment_content ( ) )
- {
- gtk_entry_set_text ( GTK_ENTRY ( widget ),
- gsb_form_widget_get_old_credit_payment_content ( ) );
- gsb_form_widget_set_empty ( widget, FALSE );
- }
- }
-
- widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CONTRA);
- if ( widget && gtk_widget_get_visible ( widget ) )
- gsb_payment_method_create_combo_list ( gsb_form_widget_get_widget (
- TRANSACTION_FORM_CONTRA ),
- GSB_PAYMENT_DEBIT,
- account_number, 0, TRUE );
- }
- }
- }
- string = gsb_form_widget_get_name (TRANSACTION_FORM_DEBIT);
- }
- break;
-
- case TRANSACTION_FORM_CREDIT :
- if ( gsb_form_widget_amount_entry_validate ( element_number ) == FALSE )
- return TRUE;
- /* we change the payment method to adapt it for the debit */
- if ( strlen ( gtk_entry_get_text ( GTK_ENTRY (entry))))
- {
- /* empty the debit */
- widget = gsb_form_widget_get_widget (TRANSACTION_FORM_DEBIT);
- if (!gsb_form_widget_check_empty (widget))
- {
- gtk_entry_set_text ( GTK_ENTRY (widget),
- gsb_form_widget_get_name (TRANSACTION_FORM_DEBIT));
- gsb_form_widget_set_empty ( widget, TRUE );
- }
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_TYPE);
-
- /* change the method of payment if necessary
- * (if grey, it's a child of split so do nothing) */
- if ( widget
- &&
- gtk_widget_get_sensitive (widget))
- {
- /* change the signe of the method of payment and the contra */
- if ( gsb_payment_method_get_combo_sign (widget) == GSB_PAYMENT_DEBIT)
- {
- gsb_payment_method_create_combo_list ( widget,
- GSB_PAYMENT_CREDIT,
- account_number, 0, FALSE );
- /* if there is no payment method, the last function hide it, but we have
- * to hide the cheque element too */
- if ( !gtk_widget_get_visible (widget))
- gtk_widget_hide (gsb_form_widget_get_widget (TRANSACTION_FORM_CHEQUE));
-
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CONTRA);
- if ( widget && gtk_widget_get_visible ( widget ) )
- gsb_payment_method_create_combo_list ( widget,
- GSB_PAYMENT_DEBIT,
- account_number, 0, TRUE );
- }
- }
- gsb_form_check_auto_separator (entry);
- }
- else
- {
- /* si pas de nouveau credit on essaie de remettre l'ancien débit */
- if ( (string = gsb_form_widget_get_old_debit ( ) ) )
- {
- tmp_widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_DEBIT );
-
- gtk_entry_set_text ( GTK_ENTRY ( tmp_widget ), string );
- gsb_form_widget_set_empty ( tmp_widget, FALSE );
- g_free ( string );
-
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_TYPE );
- if ( widget
- &&
- gtk_widget_get_sensitive ( widget ) )
- {
- /* change the signe of the method of payment and the contra */
- if ( gsb_payment_method_get_combo_sign ( widget ) == GSB_PAYMENT_CREDIT )
- {
- if ( transaction_number == -1 )
- payment_number = gsb_form_widget_get_old_debit_payment_number ( );
- else
- payment_number = gsb_data_transaction_get_method_of_payment_number (
- transaction_number );
-
- gsb_payment_method_create_combo_list ( widget,
- GSB_PAYMENT_DEBIT,
- account_number, 0, FALSE );
- gsb_payment_method_set_payment_position ( widget, payment_number );
-
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CHEQUE );
- if ( widget && gtk_widget_get_visible ( widget ) )
- {
- if ( gsb_form_widget_get_old_debit_payment_content ( ) )
- {
- gtk_entry_set_text ( GTK_ENTRY ( widget ),
- gsb_form_widget_get_old_debit_payment_content ( ) );
- gsb_form_widget_set_empty ( widget, FALSE );
- }
- }
-
- widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CONTRA);
- if ( widget && gtk_widget_get_visible ( widget ) )
- gsb_payment_method_create_combo_list ( gsb_form_widget_get_widget (
- TRANSACTION_FORM_CONTRA ),
- GSB_PAYMENT_CREDIT,
- account_number, 0, TRUE );
- }
- }
- }
- string = gsb_form_widget_get_name ( TRANSACTION_FORM_CREDIT );
- }
- break;
+ gchar *string;
+ gint element_number;
+ GtkWidget *widget;
+ GtkWidget *tmp_widget;
+ gint account_number;
+ gint transaction_number;
+ gint payment_number;
+
+ /* still not found, if change the content of the form, something come in entry
+ * wich is nothing, so protect here */
+ if ( !GTK_IS_WIDGET (entry)
+ ||
+ !GTK_IS_ENTRY (entry))
+ return FALSE;
+
+ /* remove the selection */
+ gtk_editable_select_region ( GTK_EDITABLE ( entry ), 0, 0 );
+ element_number = GPOINTER_TO_INT (ptr_origin);
+ account_number = gsb_form_get_account_number ();
+ transaction_number = GPOINTER_TO_INT ( g_object_get_data (
+ G_OBJECT ( gsb_form_get_form_widget ( ) ),
+ "transaction_number_in_form" ) );
+
+ /* sometimes the combofix popus stays showed, so remove here */
+ if ( element_number == TRANSACTION_FORM_PARTY
+ ||
+ element_number == TRANSACTION_FORM_CATEGORY
+ ||
+ element_number == TRANSACTION_FORM_BUDGET )
+ {
+ widget = gsb_form_widget_get_widget (element_number);
+ gtk_combofix_hide_popup ( GTK_COMBOFIX ( widget ) );
+ }
+
+ /* string will be filled only if the field is empty */
+ string = NULL;
+ switch ( element_number )
+ {
+ case TRANSACTION_FORM_PARTY :
+ /* we complete the transaction */
+ if ( !gsb_form_transaction_complete_form_by_payee (gtk_entry_get_text (GTK_ENTRY (entry))))
+ string = gsb_form_widget_get_name (TRANSACTION_FORM_PARTY);
+ break;
+
+ case TRANSACTION_FORM_DEBIT :
+ if ( gsb_form_widget_amount_entry_validate ( element_number ) == FALSE )
+ return TRUE;
+ /* we change the payment method to adapt it for the debit */
+ if ( strlen ( gtk_entry_get_text ( GTK_ENTRY (entry))))
+ {
+ /* empty the credit */
+ widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CREDIT);
+ if (!gsb_form_widget_check_empty (widget))
+ {
+ gtk_entry_set_text ( GTK_ENTRY ( widget ),
+ gsb_form_widget_get_name ( TRANSACTION_FORM_CREDIT ) );
+ gsb_form_widget_set_empty ( widget, TRUE );
+ }
+
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_TYPE);
+
+ /* change the method of payment if necessary
+ * (if grey, it's a child of split so do nothing) */
+ if ( widget
+ &&
+ gtk_widget_get_sensitive (widget))
+ {
+ /* change the signe of the method of payment and the contra */
+ if ( gsb_payment_method_get_combo_sign ( widget ) == GSB_PAYMENT_CREDIT)
+ {
+ gsb_payment_method_create_combo_list ( widget,
+ GSB_PAYMENT_DEBIT,
+ account_number, 0, FALSE );
+ /* if there is no payment method, the last function hide it, but we have
+ * to hide the cheque element too */
+ if ( !gtk_widget_get_visible ( widget ) )
+ gtk_widget_hide ( gsb_form_widget_get_widget ( TRANSACTION_FORM_CHEQUE ) );
+
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CONTRA );
+ if ( widget && gtk_widget_get_visible ( widget ) )
+ gsb_payment_method_create_combo_list ( gsb_form_widget_get_widget (
+ TRANSACTION_FORM_CONTRA ),
+ GSB_PAYMENT_CREDIT,
+ account_number, 0, TRUE );
+ }
+ }
+ gsb_form_check_auto_separator (entry);
+ }
+ else
+ {
+ /* si pas de nouveau débit on essaie de remettre l'ancien crédit */
+ if ( (string = gsb_form_widget_get_old_credit ( ) ) )
+ {
+ tmp_widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CREDIT );
+
+ gtk_entry_set_text ( GTK_ENTRY ( tmp_widget ), string );
+ gsb_form_widget_set_empty ( tmp_widget, FALSE );
+ g_free ( string );
+
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_TYPE );
+ if ( widget
+ &&
+ gtk_widget_get_sensitive ( widget ) )
+ {
+ /* change the signe of the method of payment and the contra */
+ if ( gsb_payment_method_get_combo_sign ( widget ) == GSB_PAYMENT_DEBIT )
+ {
+ if ( transaction_number == -1 )
+ payment_number = gsb_form_widget_get_old_credit_payment_number ( );
+ else
+ payment_number = gsb_data_transaction_get_method_of_payment_number (
+ transaction_number );
+
+ gsb_payment_method_create_combo_list ( widget,
+ GSB_PAYMENT_CREDIT,
+ account_number, 0, FALSE );
+ gsb_payment_method_set_payment_position ( widget, payment_number );
+
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CHEQUE );
+ if ( widget && gtk_widget_get_visible ( widget ) )
+ {
+ if ( gsb_form_widget_get_old_credit_payment_content ( ) )
+ {
+ gtk_entry_set_text ( GTK_ENTRY ( widget ),
+ gsb_form_widget_get_old_credit_payment_content ( ) );
+ gsb_form_widget_set_empty ( widget, FALSE );
+ }
+ }
+
+ widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CONTRA);
+ if ( widget && gtk_widget_get_visible ( widget ) )
+ gsb_payment_method_create_combo_list ( gsb_form_widget_get_widget (
+ TRANSACTION_FORM_CONTRA ),
+ GSB_PAYMENT_DEBIT,
+ account_number, 0, TRUE );
+ }
+ }
+ }
+ string = gsb_form_widget_get_name (TRANSACTION_FORM_DEBIT);
+ }
+ break;
+
+ case TRANSACTION_FORM_CREDIT :
+ if ( gsb_form_widget_amount_entry_validate ( element_number ) == FALSE )
+ return TRUE;
+ /* we change the payment method to adapt it for the debit */
+ if ( strlen ( gtk_entry_get_text ( GTK_ENTRY (entry))))
+ {
+ /* empty the debit */
+ widget = gsb_form_widget_get_widget (TRANSACTION_FORM_DEBIT);
+ if (!gsb_form_widget_check_empty (widget))
+ {
+ gtk_entry_set_text ( GTK_ENTRY (widget),
+ gsb_form_widget_get_name (TRANSACTION_FORM_DEBIT));
+ gsb_form_widget_set_empty ( widget, TRUE );
+ }
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_TYPE);
+
+ /* change the method of payment if necessary
+ * (if grey, it's a child of split so do nothing) */
+ if ( widget
+ &&
+ gtk_widget_get_sensitive (widget))
+ {
+ /* change the signe of the method of payment and the contra */
+ if ( gsb_payment_method_get_combo_sign (widget) == GSB_PAYMENT_DEBIT)
+ {
+ gsb_payment_method_create_combo_list ( widget,
+ GSB_PAYMENT_CREDIT,
+ account_number, 0, FALSE );
+ /* if there is no payment method, the last function hide it, but we have
+ * to hide the cheque element too */
+ if ( !gtk_widget_get_visible (widget))
+ gtk_widget_hide (gsb_form_widget_get_widget (TRANSACTION_FORM_CHEQUE));
+
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CONTRA);
+ if ( widget && gtk_widget_get_visible ( widget ) )
+ gsb_payment_method_create_combo_list ( widget,
+ GSB_PAYMENT_DEBIT,
+ account_number, 0, TRUE );
+ }
+ }
+ gsb_form_check_auto_separator (entry);
+ }
+ else
+ {
+ /* si pas de nouveau credit on essaie de remettre l'ancien débit */
+ if ( (string = gsb_form_widget_get_old_debit ( ) ) )
+ {
+ tmp_widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_DEBIT );
+
+ gtk_entry_set_text ( GTK_ENTRY ( tmp_widget ), string );
+ gsb_form_widget_set_empty ( tmp_widget, FALSE );
+ g_free ( string );
+
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_TYPE );
+ if ( widget
+ &&
+ gtk_widget_get_sensitive ( widget ) )
+ {
+ /* change the signe of the method of payment and the contra */
+ if ( gsb_payment_method_get_combo_sign ( widget ) == GSB_PAYMENT_CREDIT )
+ {
+ if ( transaction_number == -1 )
+ payment_number = gsb_form_widget_get_old_debit_payment_number ( );
+ else
+ payment_number = gsb_data_transaction_get_method_of_payment_number (
+ transaction_number );
+
+ gsb_payment_method_create_combo_list ( widget,
+ GSB_PAYMENT_DEBIT,
+ account_number, 0, FALSE );
+ gsb_payment_method_set_payment_position ( widget, payment_number );
+
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CHEQUE );
+ if ( widget && gtk_widget_get_visible ( widget ) )
+ {
+ if ( gsb_form_widget_get_old_debit_payment_content ( ) )
+ {
+ gtk_entry_set_text ( GTK_ENTRY ( widget ),
+ gsb_form_widget_get_old_debit_payment_content ( ) );
+ gsb_form_widget_set_empty ( widget, FALSE );
+ }
+ }
+
+ widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CONTRA);
+ if ( widget && gtk_widget_get_visible ( widget ) )
+ gsb_payment_method_create_combo_list ( gsb_form_widget_get_widget (
+ TRANSACTION_FORM_CONTRA ),
+ GSB_PAYMENT_CREDIT,
+ account_number, 0, TRUE );
+ }
+ }
+ }
+ string = gsb_form_widget_get_name ( TRANSACTION_FORM_CREDIT );
+ }
+ break;
case TRANSACTION_FORM_CATEGORY :
- if ( strlen ( gtk_entry_get_text ( GTK_ENTRY (entry))))
- {
- /* if it's a transfer, set the content of the contra combo */
- if ( gsb_data_form_check_for_value ( TRANSACTION_FORM_CONTRA ) )
- {
- /* if it's a transfer, set the contra_method of payment menu */
- gint contra_account_number;
-
- contra_account_number = gsb_form_check_for_transfer ( gtk_entry_get_text (
- GTK_ENTRY ( entry ) ) );
- if ( contra_account_number >= 0 && contra_account_number != account_number )
- {
- if ( gsb_form_widget_check_empty ( gsb_form_widget_get_widget ( TRANSACTION_FORM_CREDIT ) ) )
- /* there is something in debit */
- gsb_payment_method_create_combo_list (
- gsb_form_widget_get_widget ( TRANSACTION_FORM_CONTRA ),
- GSB_PAYMENT_CREDIT,
- contra_account_number, 0, TRUE );
- else
- /* there is something in credit */
- gsb_payment_method_create_combo_list (
- gsb_form_widget_get_widget ( TRANSACTION_FORM_CONTRA ),
- GSB_PAYMENT_DEBIT,
- contra_account_number, 0, TRUE );
- }
- else
- gtk_widget_hide ( gsb_form_widget_get_widget (TRANSACTION_FORM_CONTRA));
- }
- if ( strcmp ( gtk_entry_get_text ( GTK_ENTRY ( entry ) ), _("Split of transaction") )
- && gtk_widget_get_visible ( form_button_recover_split ) )
- {
- gtk_widget_hide ( form_button_recover_split );
- }
- }
- else
- string = gsb_form_widget_get_name (TRANSACTION_FORM_CATEGORY);
- break;
+ if ( strlen ( gtk_entry_get_text ( GTK_ENTRY (entry))))
+ {
+ /* if it's a transfer, set the content of the contra combo */
+ if ( gsb_data_form_check_for_value ( TRANSACTION_FORM_CONTRA ) )
+ {
+ /* if it's a transfer, set the contra_method of payment menu */
+ gint contra_account_number;
+
+ contra_account_number = gsb_form_check_for_transfer ( gtk_entry_get_text (
+ GTK_ENTRY ( entry ) ) );
+ if ( contra_account_number >= 0 && contra_account_number != account_number )
+ {
+ if ( gsb_form_widget_check_empty ( gsb_form_widget_get_widget ( TRANSACTION_FORM_CREDIT ) ) )
+ /* there is something in debit */
+ gsb_payment_method_create_combo_list (
+ gsb_form_widget_get_widget ( TRANSACTION_FORM_CONTRA ),
+ GSB_PAYMENT_CREDIT,
+ contra_account_number, 0, TRUE );
+ else
+ /* there is something in credit */
+ gsb_payment_method_create_combo_list (
+ gsb_form_widget_get_widget ( TRANSACTION_FORM_CONTRA ),
+ GSB_PAYMENT_DEBIT,
+ contra_account_number, 0, TRUE );
+ }
+ else
+ gtk_widget_hide ( gsb_form_widget_get_widget (TRANSACTION_FORM_CONTRA));
+ }
+ if ( strcmp ( gtk_entry_get_text ( GTK_ENTRY ( entry ) ), _("Split of transaction") )
+ && gtk_widget_get_visible ( form_button_recover_split ) )
+ {
+ gtk_widget_hide ( form_button_recover_split );
+ }
+ }
+ else
+ string = gsb_form_widget_get_name (TRANSACTION_FORM_CATEGORY);
+ break;
case TRANSACTION_FORM_CHEQUE :
case TRANSACTION_FORM_BUDGET :
case TRANSACTION_FORM_VOUCHER :
case TRANSACTION_FORM_NOTES :
case TRANSACTION_FORM_BANK :
- if ( !strlen ( gtk_entry_get_text ( GTK_ENTRY ( entry ))))
- string = _(gsb_form_widget_get_name (element_number));
- break;
+ if ( !strlen ( gtk_entry_get_text ( GTK_ENTRY ( entry ))))
+ string = _(gsb_form_widget_get_name (element_number));
+ break;
default :
- break;
- }
+ break;
+ }
- /* if string is not NULL, the entry is empty so set the empty field to TRUE */
- if ( string )
+ /* if string is not NULL, the entry is empty so set the empty field to TRUE */
+ if ( string )
+ {
+ switch ( element_number)
{
- switch ( element_number)
- {
- case TRANSACTION_FORM_PARTY :
- case TRANSACTION_FORM_CATEGORY :
- case TRANSACTION_FORM_BUDGET :
- /* need to work with the combofix to avoid some signals if we work
- * directly on the entry */
- gtk_combofix_set_text ( GTK_COMBOFIX ( gsb_form_widget_get_widget (element_number) ),
+ case TRANSACTION_FORM_PARTY :
+ case TRANSACTION_FORM_CATEGORY :
+ case TRANSACTION_FORM_BUDGET :
+ /* need to work with the combofix to avoid some signals if we work
+ * directly on the entry */
+ gtk_combofix_set_text ( GTK_COMBOFIX ( gsb_form_widget_get_widget (element_number) ),
_(string) );
- break;
+ break;
- default:
- gtk_entry_set_text ( GTK_ENTRY ( entry ), string );
- break;
- }
- gsb_form_widget_set_empty ( entry, TRUE );
+ default:
+ gtk_entry_set_text ( GTK_ENTRY ( entry ), string );
+ break;
}
- return FALSE;
+ gsb_form_widget_set_empty ( entry, TRUE );
+ }
+ return FALSE;
}
@@ -1817,69 +1823,69 @@ gboolean gsb_form_entry_lose_focus ( GtkWidget *entry,
* */
void gsb_form_check_auto_separator ( GtkWidget *entry )
{
- gint account_number;
- gchar *string;
- gint floating_point;
- gchar *tmp = NULL;
- gchar *mon_decimal_point;
- gunichar decimal_point;
- gint i;
-
- if (!etat.automatic_separator
- ||
- !entry )
- return;
-
- /* we need a my_strdup to permit to do the g_free later
- * because if strlen < floating point we need to
- * malloc another string */
- string = my_strdup (gtk_entry_get_text (GTK_ENTRY(entry)));
- if ( !string || strlen (string) == 0 )
- return;
-
- account_number = gsb_form_get_account_number ();
- floating_point = gsb_data_currency_get_floating_point (gsb_data_account_get_currency (account_number));
-
- mon_decimal_point = gsb_locale_get_mon_decimal_point ( );
- decimal_point = g_utf8_get_char_validated ( mon_decimal_point, -1 );
-
- if ( g_utf8_strchr (string, -1, decimal_point ) )
- {
- g_free (string);
- g_free ( mon_decimal_point );
- return;
- }
-
- /* if string is < the floating_point, increase it to have
- * 1 character more (to set the 0 before the .) */
- if (strlen(string) <= floating_point)
- {
- gchar *concat_tmp;
-
- tmp = g_malloc (floating_point - strlen(string) + 2);
- for (i=0 ; i<(floating_point - strlen(string) + 1) ; i++)
- tmp[i] = '0';
- tmp[floating_point - strlen(string) + 1] = 0;
- concat_tmp = g_strconcat ( tmp, string, NULL );
- g_free (tmp);
- g_free (string);
- string = concat_tmp;
- }
-
- tmp = g_malloc ((strlen(string)+2) * sizeof (gchar));
-
- memcpy ( tmp, string, strlen(string) - floating_point);
-
- i = strlen(string) - floating_point;
- tmp[i] = decimal_point;
- i++;
- memcpy ( tmp + i, string + i - 1, floating_point );
- i = i + floating_point;
- tmp[i] = 0;
- gtk_entry_set_text (GTK_ENTRY (entry), tmp );
- g_free (tmp);
- g_free (string);
- g_free ( mon_decimal_point );
+ gint account_number;
+ gchar *string;
+ gint floating_point;
+ gchar *tmp = NULL;
+ gchar *mon_decimal_point;
+ gunichar decimal_point;
+ gint i;
+
+ if (!etat.automatic_separator
+ ||
+ !entry )
+ return;
+
+ /* we need a my_strdup to permit to do the g_free later
+ * because if strlen < floating point we need to
+ * malloc another string */
+ string = my_strdup (gtk_entry_get_text (GTK_ENTRY(entry)));
+ if ( !string || strlen (string) == 0 )
+ return;
+
+ account_number = gsb_form_get_account_number ();
+ floating_point = gsb_data_currency_get_floating_point (gsb_data_account_get_currency (account_number));
+
+ mon_decimal_point = gsb_locale_get_mon_decimal_point ( );
+ decimal_point = g_utf8_get_char_validated ( mon_decimal_point, -1 );
+
+ if ( g_utf8_strchr (string, -1, decimal_point ) )
+ {
+ g_free (string);
+ g_free ( mon_decimal_point );
+ return;
+ }
+
+ /* if string is < the floating_point, increase it to have
+ * 1 character more (to set the 0 before the .) */
+ if (strlen(string) <= floating_point)
+ {
+ gchar *concat_tmp;
+
+ tmp = g_malloc (floating_point - strlen(string) + 2);
+ for (i=0 ; i<(floating_point - strlen(string) + 1) ; i++)
+ tmp[i] = '0';
+ tmp[floating_point - strlen(string) + 1] = 0;
+ concat_tmp = g_strconcat ( tmp, string, NULL );
+ g_free (tmp);
+ g_free (string);
+ string = concat_tmp;
+ }
+
+ tmp = g_malloc ((strlen(string)+2) * sizeof (gchar));
+
+ memcpy ( tmp, string, strlen(string) - floating_point);
+
+ i = strlen(string) - floating_point;
+ tmp[i] = decimal_point;
+ i++;
+ memcpy ( tmp + i, string + i - 1, floating_point );
+ i = i + floating_point;
+ tmp[i] = 0;
+ gtk_entry_set_text (GTK_ENTRY (entry), tmp );
+ g_free (tmp);
+ g_free (string);
+ g_free ( mon_decimal_point );
}
@@ -1898,27 +1904,27 @@ void gsb_form_check_auto_separator ( GtkWidget *entry )
* */
gint gsb_form_check_for_transfer ( const gchar *entry_string )
{
- const gchar *account_name;
-
- if ( !entry_string
- ||
- strncmp ( entry_string,
- _("Transfer : "),
- strlen (_("Transfer : "))))
- return -3;
-
- account_name = memchr ( entry_string,
- ':',
- strlen (entry_string));
- /* after the : there is a space before the account name */
- account_name = account_name + 2;
-
- if ( strcmp ( account_name,
- _("Deleted account")))
- return gsb_data_account_get_no_account_by_name (account_name);
-
- else
- return -2;
+ const gchar *account_name;
+
+ if ( !entry_string
+ ||
+ strncmp ( entry_string,
+ _("Transfer : "),
+ strlen (_("Transfer : "))))
+ return -3;
+
+ account_name = memchr ( entry_string,
+ ':',
+ strlen (entry_string));
+ /* after the : there is a space before the account name */
+ account_name = account_name + 2;
+
+ if ( strcmp ( account_name,
+ _("Deleted account")))
+ return gsb_data_account_get_no_account_by_name (account_name);
+
+ else
+ return -2;
}
@@ -1935,82 +1941,82 @@ gint gsb_form_check_for_transfer ( const gchar *entry_string )
* \return FALSE
* */
gboolean gsb_form_button_press_event ( GtkWidget *entry,
- GdkEventButton *ev,
- gint *ptr_origin )
+ GdkEventButton *ev,
+ gint *ptr_origin )
{
- gint element_number;
- GtkWidget *widget;
-
- element_number = GPOINTER_TO_INT (ptr_origin);
-
- /* we do the first part only if we click on the form directly, without double click or
- * entry in the transaction list,
- * in that case, transaction_number_in_form is 0 and set to -1, as a white line */
- if (!g_object_get_data (G_OBJECT (transaction_form), "transaction_number_in_form"))
+ gint element_number;
+ GtkWidget *widget;
+
+ element_number = GPOINTER_TO_INT (ptr_origin);
+
+ /* we do the first part only if we click on the form directly, without double click or
+ * entry in the transaction list,
+ * in that case, transaction_number_in_form is 0 and set to -1, as a white line */
+ if (!g_object_get_data (G_OBJECT (transaction_form), "transaction_number_in_form"))
+ {
+ GtkWidget *date_entry;
+
+ /* set the new transaction number */
+ g_object_set_data ( G_OBJECT (transaction_form),
+ "transaction_number_in_form",
+ GINT_TO_POINTER (-1));
+
+ /* set the current date into the date entry */
+ date_entry = gsb_form_widget_get_widget (TRANSACTION_FORM_DATE);
+ if ( gsb_form_widget_check_empty (date_entry))
{
- GtkWidget *date_entry;
-
- /* set the new transaction number */
- g_object_set_data ( G_OBJECT (transaction_form),
- "transaction_number_in_form",
- GINT_TO_POINTER (-1));
-
- /* set the current date into the date entry */
- date_entry = gsb_form_widget_get_widget (TRANSACTION_FORM_DATE);
- if ( gsb_form_widget_check_empty (date_entry))
- {
- if ( save_form_date )
- gtk_entry_set_text ( GTK_ENTRY ( date_entry ),
- gsb_format_gdate ( save_form_date ) );
- else
- gtk_entry_set_text ( GTK_ENTRY ( date_entry ),
- gsb_date_today ( ) );
- gsb_form_widget_set_empty ( date_entry, FALSE );
- }
+ if ( save_form_date )
+ gtk_entry_set_text ( GTK_ENTRY ( date_entry ),
+ gsb_format_gdate ( save_form_date ) );
+ else
+ gtk_entry_set_text ( GTK_ENTRY ( date_entry ),
+ gsb_date_today ( ) );
+ gsb_form_widget_set_empty ( date_entry, FALSE );
+ }
- /* set the form sensitive */
- gsb_form_change_sensitive_buttons (TRUE);
+ /* set the form sensitive */
+ gsb_form_change_sensitive_buttons (TRUE);
- /* if we are on scheduled transactions, show the scheduled part of form */
- if (gsb_form_get_origin () == ORIGIN_VALUE_SCHEDULED)
- gsb_form_scheduler_sensitive_buttons (TRUE);
+ /* if we are on scheduled transactions, show the scheduled part of form */
+ if (gsb_form_get_origin () == ORIGIN_VALUE_SCHEDULED)
+ gsb_form_scheduler_sensitive_buttons (TRUE);
- /* set the number of cheque for the method of payment if necessary */
- widget = gsb_form_widget_get_widget (TRANSACTION_FORM_TYPE);
+ /* set the number of cheque for the method of payment if necessary */
+ widget = gsb_form_widget_get_widget (TRANSACTION_FORM_TYPE);
- if ( widget
- &&
- gtk_widget_get_visible (widget))
- {
- gint payment_number;
- gint account_number;
- gchar* tmp_str;
+ if ( widget
+ &&
+ gtk_widget_get_visible (widget))
+ {
+ gint payment_number;
+ gint account_number;
+ gchar* tmp_str;
- account_number = gsb_form_get_account_number ();
- payment_number = gsb_payment_method_get_selected_number (widget);
- if ( gsb_data_payment_get_automatic_numbering ( payment_number ))
- {
- widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CHEQUE);
+ account_number = gsb_form_get_account_number ();
+ payment_number = gsb_payment_method_get_selected_number (widget);
+ if ( gsb_data_payment_get_automatic_numbering ( payment_number ))
+ {
+ widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CHEQUE);
- gsb_form_entry_get_focus (widget);
+ gsb_form_entry_get_focus (widget);
- if ( !strlen (gtk_entry_get_text ( GTK_ENTRY (widget))))
- {
- tmp_str = gsb_data_payment_incremente_last_number ( payment_number, 1 );
- gtk_entry_set_text ( GTK_ENTRY (widget), tmp_str);
- g_free ( tmp_str );
- }
- }
+ if ( !strlen (gtk_entry_get_text ( GTK_ENTRY (widget))))
+ {
+ tmp_str = gsb_data_payment_incremente_last_number ( payment_number, 1 );
+ gtk_entry_set_text ( GTK_ENTRY (widget), tmp_str);
+ g_free ( tmp_str );
}
+ }
}
+ }
- /* if ev is NULL, go away here
- * (means come from a function as gsb_form_finish_edition...) */
- if ( !ev )
- return FALSE;
-
+ /* if ev is NULL, go away here
+ * (means come from a function as gsb_form_finish_edition...) */
+ if ( !ev )
return FALSE;
+
+ return FALSE;
}
@@ -2023,18 +2029,18 @@ gboolean gsb_form_button_press_event ( GtkWidget *entry,
* */
gboolean gsb_form_change_sensitive_buttons ( gboolean sensitive )
{
- if ( gsb_data_form_check_for_value ( TRANSACTION_FORM_TYPE ))
- gtk_widget_set_sensitive ( GTK_WIDGET ( gsb_form_widget_get_widget (TRANSACTION_FORM_TYPE)),
- sensitive );
-
- if ( gsb_data_form_check_for_value ( TRANSACTION_FORM_DEVISE ))
- gtk_widget_set_sensitive ( GTK_WIDGET ( gsb_form_widget_get_widget (TRANSACTION_FORM_DEVISE)),
- sensitive );
-
- if ( gsb_data_form_check_for_value ( TRANSACTION_FORM_EXERCICE ))
- gtk_widget_set_sensitive ( GTK_WIDGET ( gsb_form_widget_get_widget (TRANSACTION_FORM_EXERCICE)),
- sensitive );
- return FALSE;
+ if ( gsb_data_form_check_for_value ( TRANSACTION_FORM_TYPE ))
+ gtk_widget_set_sensitive ( GTK_WIDGET ( gsb_form_widget_get_widget (TRANSACTION_FORM_TYPE)),
+ sensitive );
+
+ if ( gsb_data_form_check_for_value ( TRANSACTION_FORM_DEVISE ))
+ gtk_widget_set_sensitive ( GTK_WIDGET ( gsb_form_widget_get_widget (TRANSACTION_FORM_DEVISE)),
+ sensitive );
+
+ if ( gsb_data_form_check_for_value ( TRANSACTION_FORM_EXERCICE ))
+ gtk_widget_set_sensitive ( GTK_WIDGET ( gsb_form_widget_get_widget (TRANSACTION_FORM_EXERCICE)),
+ sensitive );
+ return FALSE;
}
@@ -2048,1236 +2054,1240 @@ gboolean gsb_form_change_sensitive_buttons ( gboolean sensitive )
* \return FALSE
* */
gboolean gsb_form_key_press_event ( GtkWidget *widget,
- GdkEventKey *ev,
- gint *ptr_origin )
+ GdkEventKey *ev,
+ gint *ptr_origin )
{
- gint element_number;
- gint account_number;
- gint element_suivant;
- GtkWidget *widget_prov;
-
- element_number = GPOINTER_TO_INT (ptr_origin);
- account_number = gsb_form_get_account_number ();
-
- /* if conf.entree = 1, entry finish the transaction, else does as tab */
- if ( !conf.entree
- &&
- ( ev -> keyval == GDK_KEY_Return
- ||
- ev -> keyval == GDK_KEY_KP_Enter ))
- ev->keyval = GDK_KEY_Tab ;
-
- if (!g_object_get_data (G_OBJECT (transaction_form), "transaction_number_in_form"))
- /* set the new transaction number */
- g_object_set_data ( G_OBJECT ( transaction_form ),
- "transaction_number_in_form",
- GINT_TO_POINTER ( -1 ) );
-
- switch ( ev -> keyval )
- {
- case GDK_KEY_1:
- case GDK_KEY_2:
- case GDK_KEY_3:
- case GDK_KEY_4:
- case GDK_KEY_5:
- case GDK_KEY_6:
- case GDK_KEY_7:
- case GDK_KEY_8:
- case GDK_KEY_9:
- case GDK_KEY_0:
- switch ( element_number )
- {
- case TRANSACTION_FORM_DEBIT:
- widget_prov = gsb_form_widget_get_widget ( TRANSACTION_FORM_CREDIT );
- if ( !gsb_form_widget_check_empty ( widget_prov ) )
- {
- gtk_entry_set_text ( GTK_ENTRY ( widget_prov ),
- gsb_form_widget_get_name ( TRANSACTION_FORM_CREDIT ) );
- gsb_form_widget_set_empty ( widget_prov, TRUE );
- }
- break;
- case TRANSACTION_FORM_CREDIT:
- widget_prov = gsb_form_widget_get_widget ( TRANSACTION_FORM_DEBIT );
- if ( !gsb_form_widget_check_empty ( widget_prov ) )
- {
- gtk_entry_set_text ( GTK_ENTRY (widget_prov),
- gsb_form_widget_get_name (TRANSACTION_FORM_DEBIT));
- gsb_form_widget_set_empty ( widget_prov, TRUE );
- }
- break;
- }
- break;
- case GDK_KEY_Escape :
- gsb_form_escape_form ();
- break;
+ gint element_number;
+ gint account_number;
+ gint element_suivant;
+ GtkWidget *widget_prov;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
+ element_number = GPOINTER_TO_INT (ptr_origin);
+ account_number = gsb_form_get_account_number ();
+
+ /* if conf->entree = 1, entry finish the transaction, else does as tab */
+ if ( !conf->entree
+ &&
+ ( ev -> keyval == GDK_KEY_Return
+ ||
+ ev -> keyval == GDK_KEY_KP_Enter ))
+ ev->keyval = GDK_KEY_Tab ;
+
+ if (!g_object_get_data (G_OBJECT (transaction_form), "transaction_number_in_form"))
+ /* set the new transaction number */
+ g_object_set_data ( G_OBJECT ( transaction_form ),
+ "transaction_number_in_form",
+ GINT_TO_POINTER ( -1 ) );
+
+ switch ( ev -> keyval )
+ {
+ case GDK_KEY_1:
+ case GDK_KEY_2:
+ case GDK_KEY_3:
+ case GDK_KEY_4:
+ case GDK_KEY_5:
+ case GDK_KEY_6:
+ case GDK_KEY_7:
+ case GDK_KEY_8:
+ case GDK_KEY_9:
+ case GDK_KEY_0:
+ switch ( element_number )
+ {
+ case TRANSACTION_FORM_DEBIT:
+ widget_prov = gsb_form_widget_get_widget ( TRANSACTION_FORM_CREDIT );
+ if ( !gsb_form_widget_check_empty ( widget_prov ) )
+ {
+ gtk_entry_set_text ( GTK_ENTRY ( widget_prov ),
+ gsb_form_widget_get_name ( TRANSACTION_FORM_CREDIT ) );
+ gsb_form_widget_set_empty ( widget_prov, TRUE );
+ }
+ break;
+ case TRANSACTION_FORM_CREDIT:
+ widget_prov = gsb_form_widget_get_widget ( TRANSACTION_FORM_DEBIT );
+ if ( !gsb_form_widget_check_empty ( widget_prov ) )
+ {
+ gtk_entry_set_text ( GTK_ENTRY (widget_prov),
+ gsb_form_widget_get_name (TRANSACTION_FORM_DEBIT));
+ gsb_form_widget_set_empty ( widget_prov, TRUE );
+ }
+ break;
+ }
+ break;
+ case GDK_KEY_Escape :
+ gsb_form_escape_form ();
+ break;
+
+ case GDK_KEY_Up:
+ element_suivant = gsb_form_widget_next_element ( account_number,
+ element_number,
+ GSB_UP );
+ gsb_form_widget_set_focus ( element_suivant );
+ return TRUE;
+ break;
+
+ case GDK_KEY_Down:
+ element_suivant = gsb_form_widget_next_element ( account_number,
+ element_number,
+ GSB_DOWN );
+ gsb_form_widget_set_focus ( element_suivant );
+ return TRUE;
+ break;
+
+ case GDK_KEY_ISO_Left_Tab:
+ if ( element_number == TRANSACTION_FORM_CREDIT
+ || element_number == TRANSACTION_FORM_DEBIT )
+ {
+ if ( gsb_form_widget_amount_entry_validate ( element_number ) == FALSE )
+ return TRUE;
+ }
+
+ element_suivant = gsb_form_widget_next_element ( account_number,
+ element_number,
+ GSB_LEFT );
+
+ if ( element_number == TRANSACTION_FORM_VALUE_DATE )
+ {
+ widget_prov = gsb_form_widget_get_widget (
+ TRANSACTION_FORM_VALUE_DATE);
+
+ if (strlen (gtk_entry_get_text (GTK_ENTRY (widget_prov))) == 0 )
+ {
+ gsb_form_widget_set_empty ( widget_prov, TRUE );
+ gtk_entry_set_text ( GTK_ENTRY ( widget_prov ), _("Value date") );
+ }
+ gsb_form_widget_set_focus ( element_suivant );
+ }
+
+ gsb_form_widget_set_focus ( element_suivant );
+ return TRUE;
+ break;
+
+ case GDK_KEY_Tab :
+ if ( element_number == TRANSACTION_FORM_CREDIT
+ || element_number == TRANSACTION_FORM_DEBIT )
+ {
+ if ( gsb_form_widget_amount_entry_validate ( element_number ) == FALSE )
+ return TRUE;
+ }
+
+ element_suivant = gsb_form_widget_next_element ( account_number,
+ element_number,
+ GSB_RIGHT );
+
+ /* if element = value_date fix the bug 578 */
+ if ( element_number == TRANSACTION_FORM_VALUE_DATE )
+ {
+ widget_prov = gsb_form_widget_get_widget (
+ TRANSACTION_FORM_VALUE_DATE);
+
+ if (strlen (gtk_entry_get_text ( GTK_ENTRY ( widget_prov ) ) ) == 0 )
+ {
+ gsb_form_widget_set_empty ( widget_prov, TRUE );
+ gtk_entry_set_text ( GTK_ENTRY ( widget_prov ), _("Value date") );
+ }
+ gsb_form_widget_set_focus ( element_suivant );
+ }
+
+ if ( element_suivant == -2 )
+ gsb_form_finish_edition();
+ else
+ gsb_form_widget_set_focus ( element_suivant );
+ return TRUE;
+ break;
+
+ case GDK_KEY_KP_Enter :
+ case GDK_KEY_Return :
+
+ /* need to check here if we are performing a scheduled transaction in home page
+ * or another transaction, because if we are in home page, cannot finish like that,
+ * we need to finish with the dialog wich contains the form */
+ if (gsb_gui_navigation_get_current_page () == GSB_HOME_PAGE)
+ {
+ GtkWidget *tmp_widget;
+
+ /* ok, we are on the home page. the best way is to send the response ok
+ * to the dialog */
+ tmp_widget = widget;
+
+ do
+ {
+ tmp_widget = gtk_widget_get_parent (GTK_WIDGET (tmp_widget));
+ }
+ while ( GTK_IS_WIDGET (tmp_widget)
+ &&
+ !GTK_IS_DIALOG (tmp_widget));
+ gtk_dialog_response (GTK_DIALOG (tmp_widget), GTK_RESPONSE_OK);
+ return TRUE;
+ }
+ else
+ {
+ if ( element_number == TRANSACTION_FORM_CREDIT
+ || element_number == TRANSACTION_FORM_DEBIT )
+ {
+ if ( gsb_form_widget_amount_entry_validate ( element_number ) == FALSE )
+ return TRUE;
+ }
+
+ widget_prov = gsb_form_widget_get_widget ( TRANSACTION_FORM_PARTY );
+
+ if ( GTK_IS_COMBOFIX ( widget_prov ) )
+ gsb_form_transaction_complete_form_by_payee ( gtk_combofix_get_text (
+ GTK_COMBOFIX ( widget_prov ) ) );
+
+ gsb_form_finish_edition ();
+ return TRUE;
+ }
+ break;
+
+ case GDK_KEY_KP_Add:
+ case GDK_KEY_plus:
+ case GDK_KEY_equal: /* This should make all our US users happy */
+ /* increase the check of 1 */
+ if (element_number == TRANSACTION_FORM_CHEQUE)
+ {
+ increment_decrement_champ ( widget,
+ 1 );
+ return TRUE;
+ }
+ break;
+
+ case GDK_KEY_KP_Subtract:
+ case GDK_KEY_minus:
+ /* decrease the check of 1 */
+ if (element_number == TRANSACTION_FORM_CHEQUE)
+ {
+ increment_decrement_champ ( widget,
+ -1 );
+ return TRUE;
+ }
+ break;
+ }
+
+ if ( element_number == TRANSACTION_FORM_TYPE )
+ {
+ gint payment_number;
+
+ switch ( ev -> keyval )
+ {
+ case GDK_KEY_c:
+ case GDK_KEY_C:
+ payment_number = gsb_data_payment_get_number_by_name ( _("Credit card"),
+ account_number );
+ if ( payment_number )
+ gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
+
+ return TRUE;
+ break;
+ case GDK_KEY_d:
+ case GDK_KEY_D:
+ payment_number = gsb_data_payment_get_number_by_name ( _("Direct deposit"),
+ account_number );
+ if ( payment_number )
+ gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
+
+ return TRUE;
+ break;
+ case GDK_KEY_h:
+ case GDK_KEY_H:
+ payment_number = gsb_data_payment_get_number_by_name ( _("Check"),
+ account_number );
+ if ( payment_number )
+ gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
+
+ return TRUE;
+ break;
+ case GDK_KEY_l:
+ case GDK_KEY_L:
+ payment_number = gsb_data_payment_get_number_by_name ( _("Cash withdrawal"),
+ account_number );
+ if ( payment_number )
+ gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
+
+ return TRUE;
+ break;
+
+ case GDK_KEY_p:
+ case GDK_KEY_P:
+ payment_number = gsb_data_payment_get_number_by_name ( _("Direct debit"),
+ account_number );
+ if ( payment_number )
+ gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
+
+ return TRUE;
+ break;
+ case GDK_KEY_t:
+ case GDK_KEY_T:
+ case GDK_KEY_v:
+ case GDK_KEY_V:
+ payment_number = gsb_data_payment_get_number_by_name ( _("Transfer"),
+ account_number );
+ if ( payment_number )
+ gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
+
+ return TRUE;
+ break;
+ }
+ }
+
+ return FALSE;
+}
- case GDK_KEY_Up:
- element_suivant = gsb_form_widget_next_element ( account_number,
- element_number,
- GSB_UP );
- gsb_form_widget_set_focus ( element_suivant );
- return TRUE;
- break;
- case GDK_KEY_Down:
- element_suivant = gsb_form_widget_next_element ( account_number,
- element_number,
- GSB_DOWN );
- gsb_form_widget_set_focus ( element_suivant );
- return TRUE;
- break;
+/**
+ * called when the user finishes the edition of the form
+ * this function works for transaction and scheduled transactions,
+ * it add/modify the transaction in the form
+ *
+ * \param none
+ *
+ * \return FALSE
+ * */
+gboolean gsb_form_finish_edition ( void )
+{
+ gint transaction_number;
+ GSList *payee_list;
+ GSList *list_tmp;
+ gint account_number;
+ gint new_transaction;
+ gboolean is_transaction;
+ gboolean execute_scheduled = FALSE;
+ gint saved_scheduled_number = 0;
+ gint source_transaction_number = -1;
+ gint nbre_passage = 0;
+ gint mother_number;
+
+ devel_debug (NULL);
+
+ /* get the number of the transaction, stored in the form (< 0 if new ) */
+ transaction_number = GPOINTER_TO_INT (g_object_get_data ( G_OBJECT ( transaction_form ),
+ "transaction_number_in_form" ));
+
+ /* set a debug here, if transaction_number is 0, should look for where it comes */
+ if (!transaction_number)
+ notice_debug ("Coming in gsb_form_finish_edition with a 0 number of transaction. "
+ "This is a bug,\nplease try to do it again and report the bug.");
+
+ account_number = gsb_form_get_account_number ();
+
+ /* check if we finish a transaction or a scheduled transaction
+ * we have to decide if it's a transaction or a scheduled transaction,
+ * and if it's a scheduled, if we execute it (and create transaction) or work on it*/
+ if (gsb_form_get_origin () == ORIGIN_VALUE_SCHEDULED
+ ||
+ gsb_form_get_origin () == ORIGIN_VALUE_HOME )
+ {
+ if (g_object_get_data ( G_OBJECT (transaction_form), "execute_scheduled"))
+ {
+ /* we want to execute the scheduled transaction */
+ is_transaction = TRUE;
+ execute_scheduled = TRUE;
+
+ /* we need to keep the number of scheduled, to check later if there is
+ * some children and modifie the scheduled transaction */
+ saved_scheduled_number = transaction_number;
+ /* as it's a new transaction, do the same as a white line */
+ transaction_number = -1;
+ }
+ else
+ is_transaction = FALSE;
+ }
+ else
+ is_transaction = TRUE;
+
+ /* a new transaction has a number < 0
+ * -1 for the general white line
+ * -2, -3, ... for the white lines of scheduled transactions
+ * or it's an execution of scheduled transaction */
+ if ( transaction_number < 0 )
+ new_transaction = 1;
+ else
+ new_transaction = 0;
+
+ /* check if the datas are ok */
+ if ( !gsb_form_validate_form_transaction (transaction_number, is_transaction))
+ return FALSE;
+
+ /* if the party is a report, we make as transactions as the number of parties in the
+ * report. So we create a list with the party's numbers or -1 if it's a normal
+ * party */
+ payee_list = gsb_form_transaction_get_parties_list_from_report ();
+
+ /* now we go throw the list */
+ list_tmp = payee_list;
+
+ while ( list_tmp )
+ {
+ if ( GPOINTER_TO_INT (list_tmp -> data) == -1 )
+ /* it's a normal party, we set the list_tmp to NULL */
+ list_tmp = NULL;
+ else
+ {
+ /* it's a report, so each time we come here we set the parti's combofix to the
+ * party of the report */
+
+ if ( !list_tmp -> data )
+ {
+ dialogue_error ( _("No payee selected for this report."));
+ return FALSE;
+ }
+ else
+ {
+ GtkWidget *widget;
+ gint payment_number;
+
+ if ( nbre_passage == 0 )
+ {
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_PARTY );
+ gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
+ gsb_data_payee_get_name ( GPOINTER_TO_INT (
+ list_tmp -> data ), TRUE ) );
+ gsb_form_widget_set_empty ( GTK_WIDGET ( GTK_COMBOFIX ( widget ) -> entry ), FALSE );
+ }
+ else
+ {
+ transaction_number = gsb_data_transaction_new_transaction ( account_number );
+
+ gsb_data_transaction_copy_transaction ( source_transaction_number,
+ transaction_number, TRUE );
+ gsb_data_transaction_set_party_number ( transaction_number,
+ GPOINTER_TO_INT ( list_tmp -> data ) );
+
+ /* if it's not the first party and the method of payment has to change its number (cheque),
+ * we increase the number. as we are in a party's list, it's always a new transactio,
+ * so we know that it's not the first if transaction_number is not 0 */
+
+ payment_number = gsb_data_transaction_get_method_of_payment_number (
+ source_transaction_number);
+
+ if ( gsb_data_payment_get_automatic_numbering ( payment_number ) )
+ {
+ gchar *tmpstr;
+
+ tmpstr = gsb_data_payment_incremente_last_number ( payment_number,
+ nbre_passage );
+ gsb_data_transaction_set_method_of_payment_content (
+ transaction_number,
+ tmpstr );
+ g_free ( tmpstr ) ;
+ }
+ gsb_transactions_list_append_new_transaction ( transaction_number, TRUE);
+ }
+ nbre_passage++;
+ }
+
+ list_tmp = list_tmp -> next;
+ if ( list_tmp == NULL )
+ break;
+ else if ( nbre_passage > 1 )
+ continue;
+ }
+
+ /* now we create the transaction if necessary and set the mother in case of child of split */
+ if ( new_transaction )
+ {
+ /* it's a new transaction, we create it, and set the mother if necessary */
+ gint mother_transaction = 0;
+
+ /* if we are on a white child (ie number < -1, -1 is only for the general white line),
+ * get the mother of transaction */
+ if ( transaction_number < -1 )
+ mother_transaction = gsb_data_mix_get_mother_transaction_number (
+ transaction_number, is_transaction);
+ transaction_number = gsb_data_mix_new_transaction (account_number, is_transaction);
+ if ( source_transaction_number == -1 )
+ source_transaction_number = transaction_number;
+
+ gsb_data_mix_set_mother_transaction_number ( transaction_number,
+ mother_transaction,
+ is_transaction );
+
+ /* si l'opération mère est rapprochée on marque aussi la fille */
+ if ( mother_transaction
+ &&
+ gsb_data_transaction_get_marked_transaction ( mother_transaction ) == OPERATION_RAPPROCHEE )
+ {
+ gsb_data_transaction_set_marked_transaction ( transaction_number, OPERATION_RAPPROCHEE );
+ gsb_data_transaction_set_reconcile_number ( transaction_number,
+ gsb_data_transaction_get_reconcile_number ( mother_transaction ) );
+ }
+ }
+
+ /* take the datas in the form, except the category */
+ gsb_form_take_datas_from_form ( transaction_number, is_transaction );
+
+ /* si l'opération est une opération planifiée exécutée on met en forme TRANSACTION_FORM_CHEQUE */
+ if ( execute_scheduled )
+ {
+ gint payment_number;
+
+ payment_number = gsb_data_transaction_get_method_of_payment_number ( transaction_number );
+
+ if ( gsb_data_payment_get_automatic_numbering ( payment_number ) )
+ {
+ gchar *tmp_str;
+
+ tmp_str = gsb_data_payment_incremente_last_number ( payment_number, 1 );
+ gsb_data_transaction_set_method_of_payment_content (
+ transaction_number,
+ tmp_str );
+ g_free ( tmp_str ) ;
+ }
+ }
+
+ /* perhaps the currency button is not shown
+ * in that case, we give the account currency to that transaction */
+ if ( new_transaction
+ &&
+ !gsb_form_widget_get_widget (TRANSACTION_FORM_DEVISE))
+ gsb_data_mix_set_currency_number ( transaction_number,
+ gsb_data_account_get_currency (account_number),
+ is_transaction );
+
+ /* get the category and do the stuff with that (contra-transaction...) */
+ gsb_form_get_categories ( transaction_number,
+ new_transaction,
+ is_transaction );
+
+ /* for the rest we need to split for transactions/scheduled */
+ if (is_transaction)
+ {
+ /* it's a transaction or an execution of scheduled transaction */
+ if ( new_transaction )
+ {
+ gint split_transaction_number;
+
+ gsb_transactions_list_append_new_transaction (transaction_number, TRUE);
+
+ /* if it's a real new transaction and if it's a split, we ask if the user wants
+ * to recover previous children */
+ if ( gsb_data_transaction_get_split_of_transaction (transaction_number)
+ &&
+ !execute_scheduled
+ &&
+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (form_button_recover_split))
+ &&
+ (split_transaction_number = gsb_form_transactions_look_for_last_party ( gsb_data_transaction_get_party_number (transaction_number),
+ transaction_number,
+ gsb_data_transaction_get_account_number(transaction_number))))
+ gsb_form_transaction_recover_splits_of_transaction ( transaction_number,
+ split_transaction_number);
+ }
+ else
+ {
+ /* update a transaction */
+ gsb_transactions_list_update_transaction (transaction_number);
+
+ /* we are on a modification of transaction, but if the modified transaction is a split
+ * and has no children (ie only white line), we assume the user wants now fill the children, so we will do the
+ * same as for a new transaction : open the expander and select the white line */
+ if (transaction_list_get_n_children (transaction_number) == 1)
+ {
+ new_transaction = TRUE;
+ gsb_transactions_list_switch_expander (transaction_number);
+ }
+ }
+ }
+ else
+ {
+ /* it's a scheduled transaction */
+ gsb_form_scheduler_get_scheduler_part (transaction_number);
+
+ if (new_transaction)
+ {
+ gint split_transaction_number;
+
+ gsb_scheduler_list_append_new_scheduled ( transaction_number,
+ gsb_scheduler_list_get_end_date_scheduled_showed ());
+ /* recover if necessary previous children */
+ if (gsb_data_scheduled_get_split_of_scheduled (transaction_number)
+ &&
+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (form_button_recover_split))
+ &&
+ (split_transaction_number = gsb_form_transactions_look_for_last_party ( gsb_data_scheduled_get_party_number (transaction_number),
+ 0,
+ gsb_data_scheduled_get_account_number(transaction_number))))
+ gsb_form_scheduler_recover_splits_of_transaction ( transaction_number,
+ split_transaction_number);
+ }
+ else
+ gsb_scheduler_list_update_transaction_in_list (transaction_number);
+
+ /* needed for the two in case of we change the date */
+ gsb_scheduler_list_set_background_color (gsb_scheduler_list_get_tree_view ());
+ gsb_calendar_update ();
+ }
+ }
+ g_slist_free ( payee_list );
+
+ /* if it's a reconciliation and we modify a transaction, check
+ * the amount of marked transactions */
+ if ( is_transaction && run.equilibrage )
+ {
+ if (new_transaction)
+ /* we are reconciling and it's a new transaction, so need to show the checkbox */
+ transaction_list_show_toggle_mark (TRUE);
+ else
+ {
+ gsb_reconcile_update_amounts (NULL, NULL);
+ }
+ }
+
+ /* if we executed a scheduled transation, need to increase the date of the scheduled
+ * and execute the children if it's a split */
+ if (execute_scheduled)
+ {
+ gint increase_result;
+
+ /* first, check if it's a scheduled split and execute the childrent */
+ if ( gsb_data_scheduled_get_split_of_scheduled (saved_scheduled_number) )
+ gsb_scheduler_execute_children_of_scheduled_transaction ( saved_scheduled_number,
+ transaction_number );
+
+ /* now we can increase the scheduled transaction */
+ increase_result = gsb_scheduler_increase_scheduled ( saved_scheduled_number );
+
+ /* the next step is to update the list, but do it only if we are on the scheduled
+ * list, else we needn't because the update will be done when going to that list */
+ if (gsb_gui_navigation_get_current_page () == GSB_SCHEDULER_PAGE)
+ {
+ if (increase_result)
+ gsb_scheduler_list_update_transaction_in_list ( saved_scheduled_number );
+
+ gsb_scheduler_list_set_background_color ( gsb_scheduler_list_get_tree_view () );
+ }
+ }
+
+ /* if it was a new transaction, do the stuff to do another new transaction */
+ if ( new_transaction && !execute_scheduled )
+ {
+ /* we are on a new transaction, if that transaction is a split,
+ * we give the focus to the new white line created for that and
+ * edit it, for that we need to open the transaction to select the
+ * white line, and set it as current transaction */
+ if ( gsb_data_mix_get_split_of_transaction (transaction_number, is_transaction))
+ {
+ /* it's a split */
+ gint white_line_number;
+
+ white_line_number = gsb_data_mix_get_white_line (transaction_number, is_transaction);
+ if ( is_transaction )
+ transaction_list_select ( white_line_number );
+ else
+ gsb_scheduler_list_select (white_line_number);
+ }
+
+ /* it was a new transaction, we save the last date entry */
+ gsb_date_set_last_date ( gtk_entry_get_text (
+ GTK_ENTRY ( gsb_form_widget_get_widget ( TRANSACTION_FORM_DATE ) ) ) );
+
+ /* we need to use edit_transaction to make a new child split if necessary */
+ if ( is_transaction)
+ gsb_transactions_list_edit_transaction (
+ gsb_data_account_get_current_transaction_number ( account_number ) );
+ else
+ gsb_scheduler_list_edit_transaction ( gsb_scheduler_list_get_current_scheduled_number ( ) );
+ }
+ else
+ gsb_form_hide ();
+
+ /* on sort de la saisie des opérations filles si variance == 0 */
+ if ( ( mother_number = gsb_data_mix_get_mother_transaction_number ( transaction_number, is_transaction ) ) )
+ {
+ if ( is_transaction
+ &&
+ transaction_list_get_variance ( gsb_data_account_get_current_transaction_number ( account_number ) ) )
+ transaction_list_select ( mother_number );
+ else if ( !is_transaction && !execute_scheduled && gsb_data_scheduled_get_variance ( mother_number ) )
+ gsb_scheduler_list_select ( mother_number );
+ }
+
+ /* if it was a modification of transaction, we need to update the sort and colors
+ * (done automatically for new transaction) */
+ if ( is_transaction && !new_transaction )
+ gsb_transactions_list_update_tree_view (account_number, TRUE);
+
+ /* show the warnings */
+ if ( is_transaction )
+ {
+ affiche_dialogue_soldes_minimaux ();
+ update_transaction_in_trees ( transaction_number );
+ if ( gsb_data_transaction_get_marked_transaction ( transaction_number ) == OPERATION_POINTEE )
+ {
+ gsb_navigation_update_statement_label ( account_number );
+ mise_a_jour_liste_comptes_accueil = 1;
+ }
+ }
+
+ /* as we modify or create a transaction, we invalidate the current report */
+ gsb_report_set_current ( 0 );
+
+ /* force the update module budget */
+ gsb_data_account_set_bet_maj ( account_number, BET_MAJ_ALL );
+
+ gsb_file_set_modified ( TRUE );
+
+ /* If the origin of the operation is a model, so we select the new transaction */
+ if ( GPOINTER_TO_INT (g_object_get_data ( G_OBJECT ( transaction_form ),
+ "transaction_selected_in_form" ) ) == -1 )
+ {
+ transaction_list_select ( transaction_number );
+ return FALSE;
+ }
+
+ if ( execute_scheduled )
+ {
+ GtkTreeSelection *selection;
+ GtkTreePath *path;
+
+ selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( gsb_scheduler_list_get_tree_view ( ) ) );
+ path = gtk_tree_path_new_from_string ( "0" );
+ gtk_tree_selection_select_path ( selection, path );
+
+ gtk_tree_path_free ( path );
+ }
+
+ /* give the focus to the date widget */
+ if ( is_transaction )
+ gsb_form_widget_set_focus ( TRANSACTION_FORM_DATE );
+ else
+ gsb_scheduler_list_edit_transaction (gsb_scheduler_list_get_current_scheduled_number ());
+
+ return FALSE;
+}
- case GDK_KEY_ISO_Left_Tab:
- if ( element_number == TRANSACTION_FORM_CREDIT
- || element_number == TRANSACTION_FORM_DEBIT )
- {
- if ( gsb_form_widget_amount_entry_validate ( element_number ) == FALSE )
- return TRUE;
- }
- element_suivant = gsb_form_widget_next_element ( account_number,
- element_number,
- GSB_LEFT );
+/**
+ * check if the transaction/scheduled transaction in the form is correct
+ *
+ * \param transaction_number can be -2 for a new daughter scheduled transaction, 0 for a new transaction
+ * or any number corresponding to an older transaction
+ * \param is_transaction TRUE if it's for a transaction, FALSE for a scheduled transaction
+ *
+ * \return TRUE or FALSE
+ * */
+gboolean gsb_form_validate_form_transaction ( gint transaction_number,
+ gboolean is_transaction )
+{
+ GtkWidget *widget;
+ GtkWidget *date_widget;
+ gchar* tmpstr;
+ gint mother_number;
+ gint account_number;
+
+ devel_debug_int ( transaction_number );
+
+ account_number = gsb_form_get_account_number ( );
+
+ /* check if it's a daughter split */
+ mother_number = gsb_data_mix_get_mother_transaction_number ( transaction_number, is_transaction );
+
+ /* begin to work with dates */
+ date_widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_DATE );
+
+ /* check the date exists */
+ if ( gsb_form_widget_check_empty ( date_widget ) )
+ {
+ dialogue_error ( _("You must enter a date.") );
+ return (FALSE);
+ }
+
+ /* check the date ok */
+ if ( !gsb_date_check_entry ( date_widget ) )
+ {
+ tmpstr = g_strdup_printf ( _("Invalid date %s"),
+ gtk_entry_get_text ( GTK_ENTRY ( date_widget ) ) );
+ dialogue_error ( tmpstr );
+ g_free( tmpstr );
+ gtk_editable_select_region ( GTK_EDITABLE ( date_widget ), 0, -1 );
+ gtk_widget_grab_focus ( date_widget );
+
+ return (FALSE);
+ }
+ else
+ {
+ if ( save_form_date )
+ g_date_free ( save_form_date );
+ save_form_date = gsb_date_copy ( gsb_calendar_entry_get_date ( date_widget ) );
+ }
+
+ /* work with value date */
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_VALUE_DATE );
+
+ if ( widget && ! gsb_form_widget_check_empty ( widget ) )
+ {
+ if ( !gsb_date_check_entry ( widget ) )
+ {
+ tmpstr = g_strdup_printf ( _("Invalid value date %s"),
+ gtk_entry_get_text (GTK_ENTRY (widget)));
+ dialogue_error ( tmpstr );
+ g_free ( tmpstr );
+ gtk_editable_select_region ( GTK_EDITABLE ( widget ), 0, -1 );
+ gtk_widget_grab_focus ( widget );
+
+ return (FALSE);
+ }
+ else if ( is_transaction
+ && gsb_data_transaction_get_marked_transaction ( transaction_number ) == OPERATION_RAPPROCHEE
+ && mother_number == 0 )
+ {
+ GDate *value_date;
+ const GDate *init_date;
+ const GDate *final_date;
+ gint reconcile_number;
+
+ value_date = gsb_calendar_entry_get_date ( widget );
+ reconcile_number = gsb_data_transaction_get_reconcile_number ( transaction_number );
+ init_date = gsb_data_reconcile_get_init_date ( reconcile_number );
+ final_date = gsb_data_reconcile_get_final_date ( reconcile_number );
+ if ( g_date_compare ( value_date, init_date ) < 0
+ ||
+ g_date_compare ( value_date, final_date ) > 0 )
+ {
+ tmpstr = g_strdup_printf ( _("Beware the date must be between %s and %s"),
+ gsb_format_gdate ( init_date ),
+ gsb_format_gdate ( final_date ) );
+ dialogue_hint ( tmpstr, _("Invalid date") );
+
+ g_free( tmpstr );
+
+ gsb_calendar_entry_set_color ( widget, FALSE );
+ gtk_editable_select_region ( GTK_EDITABLE ( widget ), 0, -1 );
+ gtk_widget_grab_focus ( widget );
+
+ return FALSE;
+ }
+ }
+ }
+ else /* contrôle de la date de l'opération rapprochée si pas de date de valeur */
+ {
+ if ( is_transaction
+ && gsb_data_transaction_get_marked_transaction ( transaction_number ) == OPERATION_RAPPROCHEE
+ && mother_number == 0 )
+ {
+ const GDate *final_date;
+ gint reconcile_number;
+
+ reconcile_number = gsb_data_transaction_get_reconcile_number ( transaction_number );
+ final_date = gsb_data_reconcile_get_final_date ( reconcile_number );
+ if ( g_date_compare ( save_form_date, final_date ) > 0 )
+ {
+ tmpstr = g_strdup_printf ( _("The date must be less than or equal to %s"),
+ gsb_format_gdate ( final_date ) );
+ dialogue_hint ( tmpstr, _("Invalid date") );
+
+ g_free( tmpstr );
+
+ gsb_calendar_entry_set_color ( date_widget, FALSE );
+ gtk_editable_select_region ( GTK_EDITABLE ( date_widget ), 0, -1 );
+ gtk_widget_grab_focus ( date_widget );
+
+ return FALSE;
+ }
+ }
+ }
+
+ /* check if debit or credit is > 0 */
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_DEBIT );
+
+ if ( widget && mother_number )
+ {
+ gsb_real number = null_real;
+
+ if ( gsb_form_widget_check_empty ( widget ) == FALSE )
+ number = utils_real_get_from_string ( gtk_entry_get_text ( GTK_ENTRY ( widget ) ) );
+
+ if ( gsb_form_widget_check_empty ( widget ) == TRUE
+ ||
+ number.mantissa == 0 )
+ {
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CREDIT );
+ number = utils_real_get_from_string ( gtk_entry_get_text ( GTK_ENTRY ( widget ) ) );
+
+ if ( gsb_form_widget_check_empty ( widget ) == TRUE
+ ||
+ number.mantissa == 0 )
+ {
+ dialogue_error ( _("You must enter an amount.") );
+
+ return (FALSE);
+ }
+ }
+ }
+
+ /* now work with the categories */
+ widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CATEGORY);
+
+ /* check if it's a daughter split that the category is not a split of transaction */
+ if ( widget
+ &&
+ !gsb_form_widget_check_empty (GTK_COMBOFIX (widget) -> entry)
+ &&
+ mother_number
+ &&
+ !strcmp ( gtk_combofix_get_text (GTK_COMBOFIX (widget)),
+ _("Split of transaction")))
+ {
+ dialogue_error ( _("You cannot set split of transaction in category for a daughter "
+ "of a split of transaction.") );
+ return (FALSE);
+ }
+
+ /* check it's not a transfer on itself and the contra-account exists
+ * !!! widget is already set to the category, don't change it before */
+ if ( widget
+ &&
+ !gsb_form_widget_check_empty (GTK_COMBOFIX (widget) -> entry))
+ {
+ gint account_transfer;
+
+ account_transfer = gsb_form_check_for_transfer (gtk_combofix_get_text (GTK_COMBOFIX (widget)));
+
+ switch (account_transfer)
+ {
+ /* if the check returns -3, it's not a transfer, so it's a normal category */
+ case -3:
+ break;
- if ( element_number == TRANSACTION_FORM_VALUE_DATE )
- {
- widget_prov = gsb_form_widget_get_widget (
- TRANSACTION_FORM_VALUE_DATE);
-
- if (strlen (gtk_entry_get_text (GTK_ENTRY (widget_prov))) == 0 )
- {
- gsb_form_widget_set_empty ( widget_prov, TRUE );
- gtk_entry_set_text ( GTK_ENTRY ( widget_prov ), _("Value date") );
- }
- gsb_form_widget_set_focus ( element_suivant );
- }
+ /* if the check returns -2, it's a deleted account (refuse for scheduled transaction)*/
+ case -2:
+ if (is_transaction)
+ {
+ gsb_data_transaction_set_category_number ( transaction_number,
+ 0 );
+ gsb_data_transaction_set_sub_category_number ( transaction_number,
+ 0 );
+ gsb_data_transaction_set_contra_transaction_number ( transaction_number,
+ -1);
+ }
+ else
+ {
+ dialogue_error ( _("Cannot associate a transfer to a deleted account in a scheduled transaction."));
+ return FALSE;
+ }
+ break;
- gsb_form_widget_set_focus ( element_suivant );
- return TRUE;
- break;
+ /* if the check returns -1, it's a non existant account */
+ case -1:
+ dialogue_error ( _("There is no associated account for this transfer or associated account is invalid.") );
+ return (FALSE);
+ break;
- case GDK_KEY_Tab :
- if ( element_number == TRANSACTION_FORM_CREDIT
- || element_number == TRANSACTION_FORM_DEBIT )
- {
- if ( gsb_form_widget_amount_entry_validate ( element_number ) == FALSE )
- return TRUE;
- }
+ /* all other values are a number of account */
+ default :
+ if (account_transfer == account_number)
+ {
+ dialogue_error ( _("Can't issue a transfer its own account.") );
+ return (FALSE);
+ }
+ if ( gsb_data_account_get_closed_account (account_transfer) )
+ {
+ dialogue_error ( _("Can't issue a transfer on a closed account." ));
+ return ( FALSE );
+ }
+ }
+ }
- element_suivant = gsb_form_widget_next_element ( account_number,
- element_number,
- GSB_RIGHT );
+ /* for the automatic method of payment entry (especially cheques)
+ * check if not used before (only for new transaction) */
+ widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CHEQUE );
- /* if element = value_date fix the bug 578 */
- if ( element_number == TRANSACTION_FORM_VALUE_DATE )
- {
- widget_prov = gsb_form_widget_get_widget (
- TRANSACTION_FORM_VALUE_DATE);
-
- if (strlen (gtk_entry_get_text ( GTK_ENTRY ( widget_prov ) ) ) == 0 )
- {
- gsb_form_widget_set_empty ( widget_prov, TRUE );
- gtk_entry_set_text ( GTK_ENTRY ( widget_prov ), _("Value date") );
- }
- gsb_form_widget_set_focus ( element_suivant );
- }
+ if ( widget
+ &&
+ gtk_widget_get_visible (widget))
+ {
+ GtkWidget *combo_box;
+ gint payment;
- if ( element_suivant == -2 )
- gsb_form_finish_edition();
- else
- gsb_form_widget_set_focus ( element_suivant );
- return TRUE;
- break;
+ combo_box = gsb_form_widget_get_widget (TRANSACTION_FORM_TYPE);
+ payment = gsb_payment_method_get_selected_number (combo_box);
- case GDK_KEY_KP_Enter :
- case GDK_KEY_Return :
+ if (gsb_data_payment_get_automatic_numbering (payment))
+ {
+ /* check if there is something in */
+
+ if ( gsb_form_widget_check_empty ( widget ) )
+ {
+ if ( !question_yes_no ( _("Selected method of payment has an automatic incremental number\n"
+ "but doesn't contain any number.\nContinue anyway?"),
+ GTK_RESPONSE_CANCEL ) )
+ return (FALSE);
+ }
+ else if ( mother_number == 0 )
+ {
+ /* check that the number is not used */
+ gint tmp_transaction_number;
+
+ tmp_transaction_number = gsb_data_transaction_check_content_payment (
+ payment,
+ gtk_entry_get_text ( GTK_ENTRY ( widget ) ) );
+
+ if ( tmp_transaction_number
+ &&
+ tmp_transaction_number != transaction_number
+ &&
+ !question_yes_no ( _("Warning: this cheque number is already used.\nContinue anyway?"),
+ GTK_RESPONSE_CANCEL ) )
+ return FALSE;
+ }
+ }
+ }
- /* need to check here if we are performing a scheduled transaction in home page
- * or another transaction, because if we are in home page, cannot finish like that,
- * we need to finish with the dialog wich contains the form */
- if (gsb_gui_navigation_get_current_page () == GSB_HOME_PAGE)
- {
- GtkWidget *tmp_widget;
-
- /* ok, we are on the home page. the best way is to send the response ok
- * to the dialog */
- tmp_widget = widget;
-
- do
- {
- tmp_widget = gtk_widget_get_parent (GTK_WIDGET (tmp_widget));
- }
- while ( GTK_IS_WIDGET (tmp_widget)
- &&
- !GTK_IS_DIALOG (tmp_widget));
- gtk_dialog_response (GTK_DIALOG (tmp_widget), GTK_RESPONSE_OK);
- return TRUE;
- }
- else
- {
- if ( element_number == TRANSACTION_FORM_CREDIT
- || element_number == TRANSACTION_FORM_DEBIT )
- {
- if ( gsb_form_widget_amount_entry_validate ( element_number ) == FALSE )
- return TRUE;
- }
+ /* check if the payee is a report, it must be a new transaction */
+ widget = gsb_form_widget_get_widget (TRANSACTION_FORM_PARTY);
- widget_prov = gsb_form_widget_get_widget ( TRANSACTION_FORM_PARTY );
+ if (widget)
+ {
+ if (!strncmp ( gtk_combofix_get_text (GTK_COMBOFIX (widget)),
+ _("Report"),
+ strlen (_("Report"))))
+ {
+ gchar **tab_char;
- if ( GTK_IS_COMBOFIX ( widget_prov ) )
- gsb_form_transaction_complete_form_by_payee ( gtk_combofix_get_text (
- GTK_COMBOFIX ( widget_prov ) ) );
+ /* check if it's a new transaction */
+ if (transaction_number > 0)
+ {
+ dialogue_error ( _("A transaction with a multiple payee must be a new one.") );
+ return (FALSE);
+ }
+ if ( mother_number > 0 )
+ {
+ dialogue_error ( _("A transaction with a multiple payee cannot be a split child.") );
+ return (FALSE);
+ }
- gsb_form_finish_edition ();
- return TRUE;
- }
- break;
+ /* check if the report exists */
+ tab_char = g_strsplit ( gtk_combofix_get_text (GTK_COMBOFIX (widget)),
+ " : ",
+ 2 );
- case GDK_KEY_KP_Add:
- case GDK_KEY_plus:
- case GDK_KEY_equal: /* This should make all our US users happy */
- /* increase the check of 1 */
- if (element_number == TRANSACTION_FORM_CHEQUE)
- {
- increment_decrement_champ ( widget,
- 1 );
- return TRUE;
- }
- break;
+ if (!tab_char[1])
+ {
+ dialogue_error ( _("The word \"Report\" is reserved. Please use another one."));
+ g_strfreev (tab_char);
+ return FALSE;
+ }
- case GDK_KEY_KP_Subtract:
- case GDK_KEY_minus:
- /* decrease the check of 1 */
- if (element_number == TRANSACTION_FORM_CHEQUE)
- {
- increment_decrement_champ ( widget,
- -1 );
- return TRUE;
- }
- break;
+ if (!gsb_data_report_get_report_by_name (tab_char[1]))
+ {
+ dialogue_error ( _("Invalid multiple payee.") );
+ g_strfreev (tab_char);
+ return (FALSE);
+ }
+ g_strfreev (tab_char);
}
+ }
+ return ( TRUE );
+}
- if ( element_number == TRANSACTION_FORM_TYPE )
- {
- gint payment_number;
-
- switch ( ev -> keyval )
- {
- case GDK_KEY_c:
- case GDK_KEY_C:
- payment_number = gsb_data_payment_get_number_by_name ( _("Credit card"),
- account_number );
- if ( payment_number )
- gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
-
- return TRUE;
- break;
- case GDK_KEY_d:
- case GDK_KEY_D:
- payment_number = gsb_data_payment_get_number_by_name ( _("Direct deposit"),
- account_number );
- if ( payment_number )
- gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
-
- return TRUE;
- break;
- case GDK_KEY_h:
- case GDK_KEY_H:
- payment_number = gsb_data_payment_get_number_by_name ( _("Check"),
- account_number );
- if ( payment_number )
- gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
-
- return TRUE;
- break;
- case GDK_KEY_l:
- case GDK_KEY_L:
- payment_number = gsb_data_payment_get_number_by_name ( _("Cash withdrawal"),
- account_number );
- if ( payment_number )
- gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
-
- return TRUE;
- break;
- case GDK_KEY_p:
- case GDK_KEY_P:
- payment_number = gsb_data_payment_get_number_by_name ( _("Direct debit"),
- account_number );
- if ( payment_number )
- gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
-
- return TRUE;
- break;
- case GDK_KEY_t:
- case GDK_KEY_T:
- case GDK_KEY_v:
- case GDK_KEY_V:
- payment_number = gsb_data_payment_get_number_by_name ( _("Transfer"),
- account_number );
- if ( payment_number )
- gsb_payment_method_set_combobox_history ( widget, payment_number, TRUE );
-
- return TRUE;
- break;
- }
- }
-
- return FALSE;
-}
-
-
-/**
- * called when the user finishes the edition of the form
- * this function works for transaction and scheduled transactions,
- * it add/modify the transaction in the form
+/**
+ * get the datas in the form and set them in the transaction/scheduled transaction in param
*
- * \param none
+ * \param transaction_number the transaction to modify
+ * \param is_transaction TRUE if it's for a transaction, FALSE for a scheduled transaction
*
- * \return FALSE
+ * \return
* */
-gboolean gsb_form_finish_edition ( void )
+void gsb_form_take_datas_from_form ( gint transaction_number,
+ gboolean is_transaction )
{
- gint transaction_number;
- GSList *payee_list;
- GSList *list_tmp;
- gint account_number;
- gint new_transaction;
- gboolean is_transaction;
- gboolean execute_scheduled = FALSE;
- gint saved_scheduled_number = 0;
- gint source_transaction_number = -1;
- gint nbre_passage = 0;
- gint mother_number;
-
- devel_debug (NULL);
-
- /* get the number of the transaction, stored in the form (< 0 if new ) */
- transaction_number = GPOINTER_TO_INT (g_object_get_data ( G_OBJECT ( transaction_form ),
- "transaction_number_in_form" ));
-
- /* set a debug here, if transaction_number is 0, should look for where it comes */
- if (!transaction_number)
- notice_debug ("Coming in gsb_form_finish_edition with a 0 number of transaction. "
- "This is a bug,\nplease try to do it again and report the bug.");
-
- account_number = gsb_form_get_account_number ();
-
- /* check if we finish a transaction or a scheduled transaction
- * we have to decide if it's a transaction or a scheduled transaction,
- * and if it's a scheduled, if we execute it (and create transaction) or work on it*/
- if (gsb_form_get_origin () == ORIGIN_VALUE_SCHEDULED
- ||
- gsb_form_get_origin () == ORIGIN_VALUE_HOME )
- {
- if (g_object_get_data ( G_OBJECT (transaction_form), "execute_scheduled"))
- {
- /* we want to execute the scheduled transaction */
- is_transaction = TRUE;
- execute_scheduled = TRUE;
-
- /* we need to keep the number of scheduled, to check later if there is
- * some children and modifie the scheduled transaction */
- saved_scheduled_number = transaction_number;
- /* as it's a new transaction, do the same as a white line */
- transaction_number = -1;
- }
- else
- is_transaction = FALSE;
- }
- else
- is_transaction = TRUE;
-
- /* a new transaction has a number < 0
- * -1 for the general white line
- * -2, -3, ... for the white lines of scheduled transactions
- * or it's an execution of scheduled transaction */
- if ( transaction_number < 0 )
- new_transaction = 1;
- else
- new_transaction = 0;
+ GSList *tmp_list;
+ GDate *date;
+ GDate *value_date;
+ GrisbiAppConf *conf;
- /* check if the datas are ok */
- if ( !gsb_form_validate_form_transaction (transaction_number, is_transaction))
- return FALSE;
+ devel_debug_int (transaction_number);
- /* if the party is a report, we make as transactions as the number of parties in the
- * report. So we create a list with the party's numbers or -1 if it's a normal
- * party */
- payee_list = gsb_form_transaction_get_parties_list_from_report ();
+ /* we set a date variable to avoid to parse 2 times, one time for the date,
+ * and perhaps a second time with the financial year
+ * (cannot take it from the transaction if the fyear field is before the date field...) */
+ /* get the date first, because the financial year will use it and it can set before the date in the form */
+ date = gsb_calendar_entry_get_date ( gsb_form_widget_get_widget ( TRANSACTION_FORM_DATE ) );
- /* now we go throw the list */
- list_tmp = payee_list;
-
- while ( list_tmp )
- {
- if ( GPOINTER_TO_INT (list_tmp -> data) == -1 )
- /* it's a normal party, we set the list_tmp to NULL */
- list_tmp = NULL;
- else
- {
- /* it's a report, so each time we come here we set the parti's combofix to the
- * party of the report */
-
- if ( !list_tmp -> data )
- {
- dialogue_error ( _("No payee selected for this report."));
- return FALSE;
- }
- else
- {
- GtkWidget *widget;
- gint payment_number;
-
- if ( nbre_passage == 0 )
- {
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_PARTY );
- gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
- gsb_data_payee_get_name ( GPOINTER_TO_INT (
- list_tmp -> data ), TRUE ) );
- gsb_form_widget_set_empty ( GTK_WIDGET ( GTK_COMBOFIX ( widget ) -> entry ), FALSE );
- }
- else
- {
- transaction_number = gsb_data_transaction_new_transaction ( account_number );
-
- gsb_data_transaction_copy_transaction ( source_transaction_number,
- transaction_number, TRUE );
- gsb_data_transaction_set_party_number ( transaction_number,
- GPOINTER_TO_INT ( list_tmp -> data ) );
-
- /* if it's not the first party and the method of payment has to change its number (cheque),
- * we increase the number. as we are in a party's list, it's always a new transactio,
- * so we know that it's not the first if transaction_number is not 0 */
-
- payment_number = gsb_data_transaction_get_method_of_payment_number (
- source_transaction_number);
-
- if ( gsb_data_payment_get_automatic_numbering ( payment_number ) )
- {
- gchar *tmpstr;
-
- tmpstr = gsb_data_payment_incremente_last_number ( payment_number,
- nbre_passage );
- gsb_data_transaction_set_method_of_payment_content (
- transaction_number,
- tmpstr );
- g_free ( tmpstr ) ;
- }
- gsb_transactions_list_append_new_transaction ( transaction_number, TRUE);
- }
- nbre_passage++;
- }
-
- list_tmp = list_tmp -> next;
- if ( list_tmp == NULL )
- break;
- else if ( nbre_passage > 1 )
- continue;
- }
-
- /* now we create the transaction if necessary and set the mother in case of child of split */
- if ( new_transaction )
- {
- /* it's a new transaction, we create it, and set the mother if necessary */
- gint mother_transaction = 0;
-
- /* if we are on a white child (ie number < -1, -1 is only for the general white line),
- * get the mother of transaction */
- if ( transaction_number < -1 )
- mother_transaction = gsb_data_mix_get_mother_transaction_number (
- transaction_number, is_transaction);
- transaction_number = gsb_data_mix_new_transaction (account_number, is_transaction);
- if ( source_transaction_number == -1 )
- source_transaction_number = transaction_number;
-
- gsb_data_mix_set_mother_transaction_number ( transaction_number,
- mother_transaction,
- is_transaction );
-
- /* si l'opération mère est rapprochée on marque aussi la fille */
- if ( mother_transaction
- &&
- gsb_data_transaction_get_marked_transaction ( mother_transaction ) == OPERATION_RAPPROCHEE )
- {
- gsb_data_transaction_set_marked_transaction ( transaction_number, OPERATION_RAPPROCHEE );
- gsb_data_transaction_set_reconcile_number ( transaction_number,
- gsb_data_transaction_get_reconcile_number ( mother_transaction ) );
- }
- }
+ /* as financial year can be taken with value date, need to get the value date now too,
+ * if TRANSACTION_FORM_VALUE_DATE doesn't exist, value_date will be NULL */
+ value_date = gsb_calendar_entry_get_date (gsb_form_widget_get_widget (TRANSACTION_FORM_VALUE_DATE));
- /* take the datas in the form, except the category */
- gsb_form_take_datas_from_form ( transaction_number, is_transaction );
+ tmp_list = gsb_form_widget_get_list ();
- /* si l'opération est une opération planifiée exécutée on met en forme TRANSACTION_FORM_CHEQUE */
- if ( execute_scheduled )
- {
- gint payment_number;
+ while (tmp_list)
+ {
+ struct_element *element;
- payment_number = gsb_data_transaction_get_method_of_payment_number ( transaction_number );
+ element = tmp_list -> data;
- if ( gsb_data_payment_get_automatic_numbering ( payment_number ) )
- {
- gchar *tmp_str;
+ switch (element -> element_number)
+ {
+ case TRANSACTION_FORM_DATE:
+ /* set date before */
+ gsb_data_mix_set_date ( transaction_number, date, is_transaction );
- tmp_str = gsb_data_payment_incremente_last_number ( payment_number, 1 );
- gsb_data_transaction_set_method_of_payment_content (
- transaction_number,
- tmp_str );
- g_free ( tmp_str ) ;
- }
- }
+ break;
- /* perhaps the currency button is not shown
- * in that case, we give the account currency to that transaction */
- if ( new_transaction
- &&
- !gsb_form_widget_get_widget (TRANSACTION_FORM_DEVISE))
- gsb_data_mix_set_currency_number ( transaction_number,
- gsb_data_account_get_currency (account_number),
- is_transaction );
-
- /* get the category and do the stuff with that (contra-transaction...) */
- gsb_form_get_categories ( transaction_number,
- new_transaction,
- is_transaction );
-
- /* for the rest we need to split for transactions/scheduled */
- if (is_transaction)
- {
- /* it's a transaction or an execution of scheduled transaction */
- if ( new_transaction )
- {
- gint split_transaction_number;
-
- gsb_transactions_list_append_new_transaction (transaction_number, TRUE);
-
- /* if it's a real new transaction and if it's a split, we ask if the user wants
- * to recover previous children */
- if ( gsb_data_transaction_get_split_of_transaction (transaction_number)
- &&
- !execute_scheduled
- &&
- gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (form_button_recover_split))
- &&
- (split_transaction_number = gsb_form_transactions_look_for_last_party ( gsb_data_transaction_get_party_number (transaction_number),
- transaction_number,
- gsb_data_transaction_get_account_number(transaction_number))))
- gsb_form_transaction_recover_splits_of_transaction ( transaction_number,
- split_transaction_number);
- }
- else
- {
- /* update a transaction */
- gsb_transactions_list_update_transaction (transaction_number);
-
- /* we are on a modification of transaction, but if the modified transaction is a split
- * and has no children (ie only white line), we assume the user wants now fill the children, so we will do the
- * same as for a new transaction : open the expander and select the white line */
- if (transaction_list_get_n_children (transaction_number) == 1)
- {
- new_transaction = TRUE;
- gsb_transactions_list_switch_expander (transaction_number);
- }
- }
- }
+ case TRANSACTION_FORM_VALUE_DATE:
+ if (gsb_form_widget_check_empty (element -> element_widget))
+ gsb_data_mix_set_value_date ( transaction_number, NULL, is_transaction );
else
- {
- /* it's a scheduled transaction */
- gsb_form_scheduler_get_scheduler_part (transaction_number);
-
- if (new_transaction)
- {
- gint split_transaction_number;
-
- gsb_scheduler_list_append_new_scheduled ( transaction_number,
- gsb_scheduler_list_get_end_date_scheduled_showed ());
- /* recover if necessary previous children */
- if (gsb_data_scheduled_get_split_of_scheduled (transaction_number)
- &&
- gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (form_button_recover_split))
- &&
- (split_transaction_number = gsb_form_transactions_look_for_last_party ( gsb_data_scheduled_get_party_number (transaction_number),
- 0,
- gsb_data_scheduled_get_account_number(transaction_number))))
- gsb_form_scheduler_recover_splits_of_transaction ( transaction_number,
- split_transaction_number);
- }
- else
- gsb_scheduler_list_update_transaction_in_list (transaction_number);
-
- /* needed for the two in case of we change the date */
- gsb_scheduler_list_set_background_color (gsb_scheduler_list_get_tree_view ());
- gsb_calendar_update ();
- }
- }
- g_slist_free ( payee_list );
+ gsb_data_mix_set_value_date ( transaction_number,
+ gsb_calendar_entry_get_date (element -> element_widget),
+ is_transaction );
+ break;
- /* if it's a reconciliation and we modify a transaction, check
- * the amount of marked transactions */
- if ( is_transaction && run.equilibrage )
- {
- if (new_transaction)
- /* we are reconciling and it's a new transaction, so need to show the checkbox */
- transaction_list_show_toggle_mark (TRUE);
+ case TRANSACTION_FORM_EXERCICE:
+ conf = grisbi_app_get_conf ( );
+ if (conf->affichage_exercice_automatique && value_date)
+ {
+ if ( gsb_form_widget_check_empty ( gsb_form_widget_get_widget (
+ TRANSACTION_FORM_VALUE_DATE) ) )
+ gsb_data_mix_set_financial_year_number ( transaction_number,
+ gsb_fyear_get_fyear_from_combobox (
+ element -> element_widget, date ), is_transaction );
+ else
+ gsb_data_mix_set_financial_year_number ( transaction_number,
+ gsb_fyear_get_fyear_from_combobox (
+ element -> element_widget, value_date ), is_transaction );
+ }
+ else
+ gsb_data_mix_set_financial_year_number ( transaction_number,
+ gsb_fyear_get_fyear_from_combobox (
+ element -> element_widget, date ), is_transaction) ;
+
+ break;
+
+ case TRANSACTION_FORM_PARTY:
+ if ( gsb_form_widget_check_empty ( element -> element_widget ) )
+ gsb_data_mix_set_party_number ( transaction_number, 0, is_transaction );
else
{
- gsb_reconcile_update_amounts (NULL, NULL);
+ gsb_data_mix_set_party_number ( transaction_number,
+ gsb_data_payee_get_number_by_name (
+ gtk_combofix_get_text ( GTK_COMBOFIX ( element -> element_widget ) ),
+ TRUE ), is_transaction );
}
- }
-
- /* if we executed a scheduled transation, need to increase the date of the scheduled
- * and execute the children if it's a split */
- if (execute_scheduled)
- {
- gint increase_result;
-
- /* first, check if it's a scheduled split and execute the childrent */
- if ( gsb_data_scheduled_get_split_of_scheduled (saved_scheduled_number) )
- gsb_scheduler_execute_children_of_scheduled_transaction ( saved_scheduled_number,
- transaction_number );
-
- /* now we can increase the scheduled transaction */
- increase_result = gsb_scheduler_increase_scheduled ( saved_scheduled_number );
+ break;
- /* the next step is to update the list, but do it only if we are on the scheduled
- * list, else we needn't because the update will be done when going to that list */
- if (gsb_gui_navigation_get_current_page () == GSB_SCHEDULER_PAGE)
- {
- if (increase_result)
- gsb_scheduler_list_update_transaction_in_list ( saved_scheduled_number );
+ case TRANSACTION_FORM_DEBIT:
+ if (!gsb_form_widget_check_empty (element -> element_widget))
+ {
+ gsb_form_check_auto_separator (element -> element_widget);
+ gsb_data_mix_set_amount ( transaction_number, gsb_real_opposite (
+ gsb_utils_edit_calculate_entry ( element -> element_widget )),
+ is_transaction);
+ }
+ break;
- gsb_scheduler_list_set_background_color ( gsb_scheduler_list_get_tree_view () );
- }
- }
+ case TRANSACTION_FORM_CREDIT:
+ if (!gsb_form_widget_check_empty (element -> element_widget))
+ {
+ gsb_form_check_auto_separator (element -> element_widget);
+ gsb_data_mix_set_amount ( transaction_number,
+ gsb_utils_edit_calculate_entry ( element -> element_widget ),
+ is_transaction);
+ }
+ break;
- /* if it was a new transaction, do the stuff to do another new transaction */
- if ( new_transaction && !execute_scheduled )
- {
- /* we are on a new transaction, if that transaction is a split,
- * we give the focus to the new white line created for that and
- * edit it, for that we need to open the transaction to select the
- * white line, and set it as current transaction */
- if ( gsb_data_mix_get_split_of_transaction (transaction_number, is_transaction))
+ case TRANSACTION_FORM_BUDGET:
+ if (gsb_form_widget_check_empty (element -> element_widget))
{
- /* it's a split */
- gint white_line_number;
-
- white_line_number = gsb_data_mix_get_white_line (transaction_number, is_transaction);
- if ( is_transaction )
- transaction_list_select ( white_line_number );
- else
- gsb_scheduler_list_select (white_line_number);
+ gsb_data_mix_set_budgetary_number ( transaction_number, 0, is_transaction );
+ gsb_data_mix_set_sub_budgetary_number ( transaction_number, 0, is_transaction );
}
-
- /* it was a new transaction, we save the last date entry */
- gsb_date_set_last_date ( gtk_entry_get_text (
- GTK_ENTRY ( gsb_form_widget_get_widget ( TRANSACTION_FORM_DATE ) ) ) );
-
- /* we need to use edit_transaction to make a new child split if necessary */
- if ( is_transaction)
- gsb_transactions_list_edit_transaction (
- gsb_data_account_get_current_transaction_number ( account_number ) );
else
- gsb_scheduler_list_edit_transaction ( gsb_scheduler_list_get_current_scheduled_number ( ) );
- }
- else
- gsb_form_hide ();
-
- /* on sort de la saisie des opérations filles si variance == 0 */
- if ( ( mother_number = gsb_data_mix_get_mother_transaction_number ( transaction_number, is_transaction ) ) )
- {
- if ( is_transaction
- &&
- transaction_list_get_variance ( gsb_data_account_get_current_transaction_number ( account_number ) ) )
- transaction_list_select ( mother_number );
- else if ( !is_transaction && !execute_scheduled && gsb_data_scheduled_get_variance ( mother_number ) )
- gsb_scheduler_list_select ( mother_number );
- }
-
- /* if it was a modification of transaction, we need to update the sort and colors
- * (done automatically for new transaction) */
- if ( is_transaction && !new_transaction )
- gsb_transactions_list_update_tree_view (account_number, TRUE);
-
- /* show the warnings */
- if ( is_transaction )
- {
- affiche_dialogue_soldes_minimaux ();
- update_transaction_in_trees ( transaction_number );
- if ( gsb_data_transaction_get_marked_transaction ( transaction_number ) == OPERATION_POINTEE )
- {
- gsb_navigation_update_statement_label ( account_number );
- mise_a_jour_liste_comptes_accueil = 1;
- }
- }
-
- /* as we modify or create a transaction, we invalidate the current report */
- gsb_report_set_current ( 0 );
-
- /* force the update module budget */
- gsb_data_account_set_bet_maj ( account_number, BET_MAJ_ALL );
-
- gsb_file_set_modified ( TRUE );
-
- /* If the origin of the operation is a model, so we select the new transaction */
- if ( GPOINTER_TO_INT (g_object_get_data ( G_OBJECT ( transaction_form ),
- "transaction_selected_in_form" ) ) == -1 )
- {
- transaction_list_select ( transaction_number );
- return FALSE;
- }
-
- if ( execute_scheduled )
- {
- GtkTreeSelection *selection;
- GtkTreePath *path;
-
- selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( gsb_scheduler_list_get_tree_view ( ) ) );
- path = gtk_tree_path_new_from_string ( "0" );
- gtk_tree_selection_select_path ( selection, path );
-
- gtk_tree_path_free ( path );
- }
-
- /* give the focus to the date widget */
- if ( is_transaction )
- gsb_form_widget_set_focus ( TRANSACTION_FORM_DATE );
- else
- gsb_scheduler_list_edit_transaction (gsb_scheduler_list_get_current_scheduled_number ());
-
- return FALSE;
-}
-
-
-/**
- * check if the transaction/scheduled transaction in the form is correct
- *
- * \param transaction_number can be -2 for a new daughter scheduled transaction, 0 for a new transaction
- * or any number corresponding to an older transaction
- * \param is_transaction TRUE if it's for a transaction, FALSE for a scheduled transaction
- *
- * \return TRUE or FALSE
- * */
-gboolean gsb_form_validate_form_transaction ( gint transaction_number,
- gboolean is_transaction )
-{
- GtkWidget *widget;
- GtkWidget *date_widget;
- gchar* tmpstr;
- gint mother_number;
- gint account_number;
-
- devel_debug_int ( transaction_number );
-
- account_number = gsb_form_get_account_number ( );
-
- /* check if it's a daughter split */
- mother_number = gsb_data_mix_get_mother_transaction_number ( transaction_number, is_transaction );
-
- /* begin to work with dates */
- date_widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_DATE );
-
- /* check the date exists */
- if ( gsb_form_widget_check_empty ( date_widget ) )
- {
- dialogue_error ( _("You must enter a date.") );
- return (FALSE);
- }
-
- /* check the date ok */
- if ( !gsb_date_check_entry ( date_widget ) )
- {
- tmpstr = g_strdup_printf ( _("Invalid date %s"),
- gtk_entry_get_text ( GTK_ENTRY ( date_widget ) ) );
- dialogue_error ( tmpstr );
- g_free( tmpstr );
- gtk_editable_select_region ( GTK_EDITABLE ( date_widget ), 0, -1 );
- gtk_widget_grab_focus ( date_widget );
-
- return (FALSE);
- }
- else
- {
- if ( save_form_date )
- g_date_free ( save_form_date );
- save_form_date = gsb_date_copy ( gsb_calendar_entry_get_date ( date_widget ) );
- }
-
- /* work with value date */
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_VALUE_DATE );
+ gsb_data_budget_set_budget_from_string ( transaction_number,
+ gtk_combofix_get_text ( GTK_COMBOFIX ( element -> element_widget )),
+ is_transaction );
+ break;
- if ( widget && ! gsb_form_widget_check_empty ( widget ) )
- {
- if ( !gsb_date_check_entry ( widget ) )
+ case TRANSACTION_FORM_NOTES:
+ if (gsb_form_widget_check_empty (element -> element_widget))
+ gsb_data_mix_set_notes ( transaction_number, NULL, is_transaction );
+ else
{
- tmpstr = g_strdup_printf ( _("Invalid value date %s"),
- gtk_entry_get_text (GTK_ENTRY (widget)));
- dialogue_error ( tmpstr );
- g_free ( tmpstr );
- gtk_editable_select_region ( GTK_EDITABLE ( widget ), 0, -1 );
- gtk_widget_grab_focus ( widget );
-
- return (FALSE);
+ gchar* tmpstr = my_strdup ( gtk_entry_get_text ( GTK_ENTRY ( element -> element_widget )));
+ gsb_data_mix_set_notes ( transaction_number, tmpstr , is_transaction);
+ g_free ( tmpstr );
}
- else if ( is_transaction
- && gsb_data_transaction_get_marked_transaction ( transaction_number ) == OPERATION_RAPPROCHEE
- && mother_number == 0 )
- {
- GDate *value_date;
- const GDate *init_date;
- const GDate *final_date;
- gint reconcile_number;
-
- value_date = gsb_calendar_entry_get_date ( widget );
- reconcile_number = gsb_data_transaction_get_reconcile_number ( transaction_number );
- init_date = gsb_data_reconcile_get_init_date ( reconcile_number );
- final_date = gsb_data_reconcile_get_final_date ( reconcile_number );
- if ( g_date_compare ( value_date, init_date ) < 0
- ||
- g_date_compare ( value_date, final_date ) > 0 )
- {
- tmpstr = g_strdup_printf ( _("Beware the date must be between %s and %s"),
- gsb_format_gdate ( init_date ),
- gsb_format_gdate ( final_date ) );
- dialogue_hint ( tmpstr, _("Invalid date") );
-
- g_free( tmpstr );
-
- gsb_calendar_entry_set_color ( widget, FALSE );
- gtk_editable_select_region ( GTK_EDITABLE ( widget ), 0, -1 );
- gtk_widget_grab_focus ( widget );
+ break;
- return FALSE;
- }
- }
- }
- else /* contrôle de la date de l'opération rapprochée si pas de date de valeur */
- {
- if ( is_transaction
- && gsb_data_transaction_get_marked_transaction ( transaction_number ) == OPERATION_RAPPROCHEE
- && mother_number == 0 )
+ case TRANSACTION_FORM_TYPE:
+ /* set the type only if visible */
+ if ( gtk_widget_get_visible (element -> element_widget))
{
- const GDate *final_date;
- gint reconcile_number;
-
- reconcile_number = gsb_data_transaction_get_reconcile_number ( transaction_number );
- final_date = gsb_data_reconcile_get_final_date ( reconcile_number );
- if ( g_date_compare ( save_form_date, final_date ) > 0 )
- {
- tmpstr = g_strdup_printf ( _("The date must be less than or equal to %s"),
- gsb_format_gdate ( final_date ) );
- dialogue_hint ( tmpstr, _("Invalid date") );
-
- g_free( tmpstr );
+ GtkWidget *widget_tmp;
+ gint payment_number;
- gsb_calendar_entry_set_color ( date_widget, FALSE );
- gtk_editable_select_region ( GTK_EDITABLE ( date_widget ), 0, -1 );
- gtk_widget_grab_focus ( date_widget );
+ payment_number = gsb_payment_method_get_selected_number (element -> element_widget);
- return FALSE;
- }
- }
- }
+ gsb_data_mix_set_method_of_payment_number ( transaction_number, payment_number, is_transaction);
- /* check if debit or credit is > 0 */
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_DEBIT );
+ /* set the number of cheque only if visible */
+ widget_tmp = gsb_form_widget_get_widget (TRANSACTION_FORM_CHEQUE);
+ if ( gtk_widget_get_visible (widget_tmp)
+ &&
+ !gsb_form_widget_check_empty (widget_tmp))
+ {
+ gsb_data_mix_set_method_of_payment_content ( transaction_number, gtk_entry_get_text (GTK_ENTRY (widget_tmp)), is_transaction);
- if ( widget && mother_number )
- {
- gsb_real number = null_real;
-
- if ( gsb_form_widget_check_empty ( widget ) == FALSE )
- number = utils_real_get_from_string ( gtk_entry_get_text ( GTK_ENTRY ( widget ) ) );
-
- if ( gsb_form_widget_check_empty ( widget ) == TRUE
- ||
- number.mantissa == 0 )
- {
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CREDIT );
- number = utils_real_get_from_string ( gtk_entry_get_text ( GTK_ENTRY ( widget ) ) );
-
- if ( gsb_form_widget_check_empty ( widget ) == TRUE
- ||
- number.mantissa == 0 )
- {
- dialogue_error ( _("You must enter an amount.") );
-
- return (FALSE);
- }
+ /* get the last number to increase next time */
+ if ( is_transaction
+ &&
+ gsb_data_payment_get_automatic_numbering ( payment_number ) )
+ gsb_data_payment_set_last_number ( payment_number,
+ gtk_entry_get_text (GTK_ENTRY ( widget_tmp ) ) );
+ }
+ else
+ gsb_data_mix_set_method_of_payment_content ( transaction_number, NULL, is_transaction);
}
- }
-
- /* now work with the categories */
- widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CATEGORY);
-
- /* check if it's a daughter split that the category is not a split of transaction */
- if ( widget
- &&
- !gsb_form_widget_check_empty (GTK_COMBOFIX (widget) -> entry)
- &&
- mother_number
- &&
- !strcmp ( gtk_combofix_get_text (GTK_COMBOFIX (widget)),
- _("Split of transaction")))
- {
- dialogue_error ( _("You cannot set split of transaction in category for a daughter "
- "of a split of transaction.") );
- return (FALSE);
- }
-
- /* check it's not a transfer on itself and the contra-account exists
- * !!! widget is already set to the category, don't change it before */
- if ( widget
- &&
- !gsb_form_widget_check_empty (GTK_COMBOFIX (widget) -> entry))
- {
- gint account_transfer;
-
- account_transfer = gsb_form_check_for_transfer (gtk_combofix_get_text (GTK_COMBOFIX (widget)));
-
- switch (account_transfer)
+ else
{
- /* if the check returns -3, it's not a transfer, so it's a normal category */
- case -3:
- break;
-
- /* if the check returns -2, it's a deleted account (refuse for scheduled transaction)*/
- case -2:
- if (is_transaction)
- {
- gsb_data_transaction_set_category_number ( transaction_number,
- 0 );
- gsb_data_transaction_set_sub_category_number ( transaction_number,
- 0 );
- gsb_data_transaction_set_contra_transaction_number ( transaction_number,
- -1);
- }
- else
- {
- dialogue_error ( _("Cannot associate a transfer to a deleted account in a scheduled transaction."));
- return FALSE;
- }
- break;
-
- /* if the check returns -1, it's a non existant account */
- case -1:
- dialogue_error ( _("There is no associated account for this transfer or associated account is invalid.") );
- return (FALSE);
- break;
-
- /* all other values are a number of account */
- default :
- if (account_transfer == account_number)
- {
- dialogue_error ( _("Can't issue a transfer its own account.") );
- return (FALSE);
- }
- if ( gsb_data_account_get_closed_account (account_transfer) )
- {
- dialogue_error ( _("Can't issue a transfer on a closed account." ));
- return ( FALSE );
- }
- break;
+ gsb_data_mix_set_method_of_payment_number ( transaction_number, 0, is_transaction );
+ gsb_data_mix_set_method_of_payment_content ( transaction_number, NULL, is_transaction);
}
- }
-
- /* for the automatic method of payment entry (especially cheques)
- * check if not used before (only for new transaction) */
- widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CHEQUE );
-
- if ( widget
- &&
- gtk_widget_get_visible (widget))
- {
- GtkWidget *combo_box;
- gint payment;
-
- combo_box = gsb_form_widget_get_widget (TRANSACTION_FORM_TYPE);
- payment = gsb_payment_method_get_selected_number (combo_box);
+ break;
- if (gsb_data_payment_get_automatic_numbering (payment))
- {
- /* check if there is something in */
+ case TRANSACTION_FORM_CONTRA:
+ /* here only for scheduled transaction */
+ if (!is_transaction && gtk_widget_get_visible (element -> element_widget))
+ gsb_data_scheduled_set_contra_method_of_payment_number ( transaction_number,
+ gsb_payment_method_get_selected_number (element -> element_widget));
+ break;
- if ( gsb_form_widget_check_empty ( widget ) )
- {
- if ( !question_yes_no ( _("Selected method of payment has an automatic incremental number\n"
- "but doesn't contain any number.\nContinue anyway?"),
- GTK_RESPONSE_CANCEL ) )
- return (FALSE);
- }
- else if ( mother_number == 0 )
- {
- /* check that the number is not used */
- gint tmp_transaction_number;
-
- tmp_transaction_number = gsb_data_transaction_check_content_payment (
- payment,
- gtk_entry_get_text ( GTK_ENTRY ( widget ) ) );
-
- if ( tmp_transaction_number
- &&
- tmp_transaction_number != transaction_number
- &&
- !question_yes_no ( _("Warning: this cheque number is already used.\nContinue anyway?"),
- GTK_RESPONSE_CANCEL ) )
- return FALSE;
- }
- }
- }
+ case TRANSACTION_FORM_DEVISE:
+ gsb_data_mix_set_currency_number ( transaction_number,
+ gsb_currency_get_currency_from_combobox (
+ element -> element_widget), is_transaction );
+ if (is_transaction)
+ gsb_currency_check_for_change ( transaction_number );
- /* check if the payee is a report, it must be a new transaction */
- widget = gsb_form_widget_get_widget (TRANSACTION_FORM_PARTY);
+ break;
- if (widget)
- {
- if (!strncmp ( gtk_combofix_get_text (GTK_COMBOFIX (widget)),
- _("Report"),
- strlen (_("Report"))))
+ case TRANSACTION_FORM_BANK:
+ if (gsb_form_widget_check_empty (element -> element_widget))
+ gsb_data_mix_set_bank_references ( transaction_number, NULL, is_transaction);
+ else
{
- gchar **tab_char;
-
- /* check if it's a new transaction */
- if (transaction_number > 0)
- {
- dialogue_error ( _("A transaction with a multiple payee must be a new one.") );
- return (FALSE);
- }
- if ( mother_number > 0 )
- {
- dialogue_error ( _("A transaction with a multiple payee cannot be a split child.") );
- return (FALSE);
- }
-
- /* check if the report exists */
- tab_char = g_strsplit ( gtk_combofix_get_text (GTK_COMBOFIX (widget)),
- " : ",
- 2 );
-
- if (!tab_char[1])
- {
- dialogue_error ( _("The word \"Report\" is reserved. Please use another one."));
- g_strfreev (tab_char);
- return FALSE;
- }
-
- if (!gsb_data_report_get_report_by_name (tab_char[1]))
- {
- dialogue_error ( _("Invalid multiple payee.") );
- g_strfreev (tab_char);
- return (FALSE);
- }
- g_strfreev (tab_char);
+ gchar* tmpstr = my_strdup ( gtk_entry_get_text (GTK_ENTRY(element -> element_widget)));
+ gsb_data_mix_set_bank_references ( transaction_number, tmpstr, is_transaction);
+ g_free ( tmpstr );
}
- }
- return ( TRUE );
-}
-
-
-/**
- * get the datas in the form and set them in the transaction/scheduled transaction in param
- *
- * \param transaction_number the transaction to modify
- * \param is_transaction TRUE if it's for a transaction, FALSE for a scheduled transaction
- *
- * \return
- * */
-void gsb_form_take_datas_from_form ( gint transaction_number,
- gboolean is_transaction )
-{
- GSList *tmp_list;
- GDate *date;
- GDate *value_date;
-
- devel_debug_int (transaction_number);
-
- /* we set a date variable to avoid to parse 2 times, one time for the date,
- * and perhaps a second time with the financial year
- * (cannot take it from the transaction if the fyear field is before the date field...) */
- /* get the date first, because the financial year will use it and it can set before the date in the form */
- date = gsb_calendar_entry_get_date ( gsb_form_widget_get_widget ( TRANSACTION_FORM_DATE ) );
-
- /* as financial year can be taken with value date, need to get the value date now too,
- * if TRANSACTION_FORM_VALUE_DATE doesn't exist, value_date will be NULL */
- value_date = gsb_calendar_entry_get_date (gsb_form_widget_get_widget (TRANSACTION_FORM_VALUE_DATE));
-
- tmp_list = gsb_form_widget_get_list ();
-
- while (tmp_list)
- {
- struct_element *element;
-
- element = tmp_list -> data;
+ break;
- switch (element -> element_number)
+ case TRANSACTION_FORM_VOUCHER:
+ if (gsb_form_widget_check_empty (element -> element_widget))
+ gsb_data_mix_set_voucher ( transaction_number, NULL, is_transaction);
+ else
{
- case TRANSACTION_FORM_DATE:
- /* set date before */
- gsb_data_mix_set_date ( transaction_number, date, is_transaction );
-
- break;
-
- case TRANSACTION_FORM_VALUE_DATE:
- if (gsb_form_widget_check_empty (element -> element_widget))
- gsb_data_mix_set_value_date ( transaction_number, NULL, is_transaction );
- else
- gsb_data_mix_set_value_date ( transaction_number,
- gsb_calendar_entry_get_date (element -> element_widget),
- is_transaction );
- break;
-
- case TRANSACTION_FORM_EXERCICE:
- if (etat.affichage_exercice_automatique && value_date)
- {
- if ( gsb_form_widget_check_empty ( gsb_form_widget_get_widget (
- TRANSACTION_FORM_VALUE_DATE) ) )
- gsb_data_mix_set_financial_year_number ( transaction_number,
- gsb_fyear_get_fyear_from_combobox (
- element -> element_widget, date ), is_transaction );
- else
- gsb_data_mix_set_financial_year_number ( transaction_number,
- gsb_fyear_get_fyear_from_combobox (
- element -> element_widget, value_date ), is_transaction );
- }
- else
- gsb_data_mix_set_financial_year_number ( transaction_number,
- gsb_fyear_get_fyear_from_combobox (
- element -> element_widget, date ), is_transaction);
-
- break;
-
- case TRANSACTION_FORM_PARTY:
- if (gsb_form_widget_check_empty (element -> element_widget))
- gsb_data_mix_set_party_number ( transaction_number, 0, is_transaction );
- else
- {
- gsb_data_mix_set_party_number ( transaction_number,
- gsb_data_payee_get_number_by_name (
- gtk_combofix_get_text ( GTK_COMBOFIX ( element -> element_widget ) ),
- TRUE ), is_transaction );
- }
- break;
-
- case TRANSACTION_FORM_DEBIT:
- if (!gsb_form_widget_check_empty (element -> element_widget))
- {
- gsb_form_check_auto_separator (element -> element_widget);
- gsb_data_mix_set_amount ( transaction_number, gsb_real_opposite (
- gsb_utils_edit_calculate_entry ( element -> element_widget )),
- is_transaction);
- }
- break;
-
- case TRANSACTION_FORM_CREDIT:
- if (!gsb_form_widget_check_empty (element -> element_widget))
- {
- gsb_form_check_auto_separator (element -> element_widget);
- gsb_data_mix_set_amount ( transaction_number,
- gsb_utils_edit_calculate_entry ( element -> element_widget ),
- is_transaction);
- }
- break;
-
- case TRANSACTION_FORM_BUDGET:
- if (gsb_form_widget_check_empty (element -> element_widget))
- {
- gsb_data_mix_set_budgetary_number ( transaction_number, 0, is_transaction );
- gsb_data_mix_set_sub_budgetary_number ( transaction_number, 0, is_transaction );
- }
- else
- gsb_data_budget_set_budget_from_string ( transaction_number,
- gtk_combofix_get_text ( GTK_COMBOFIX ( element -> element_widget )),
- is_transaction );
- break;
-
- case TRANSACTION_FORM_NOTES:
- if (gsb_form_widget_check_empty (element -> element_widget))
- gsb_data_mix_set_notes ( transaction_number, NULL, is_transaction );
- else
- {
- gchar* tmpstr = my_strdup ( gtk_entry_get_text ( GTK_ENTRY ( element -> element_widget )));
- gsb_data_mix_set_notes ( transaction_number, tmpstr , is_transaction);
- g_free ( tmpstr );
- }
- break;
-
- case TRANSACTION_FORM_TYPE:
- /* set the type only if visible */
- if ( gtk_widget_get_visible (element -> element_widget))
- {
- GtkWidget *widget_tmp;
- gint payment_number;
-
- payment_number = gsb_payment_method_get_selected_number (element -> element_widget);
-
- gsb_data_mix_set_method_of_payment_number ( transaction_number, payment_number, is_transaction);
-
- /* set the number of cheque only if visible */
- widget_tmp = gsb_form_widget_get_widget (TRANSACTION_FORM_CHEQUE);
- if ( gtk_widget_get_visible (widget_tmp)
- &&
- !gsb_form_widget_check_empty (widget_tmp))
- {
- gsb_data_mix_set_method_of_payment_content ( transaction_number, gtk_entry_get_text (GTK_ENTRY (widget_tmp)), is_transaction);
-
- /* get the last number to increase next time */
- if ( is_transaction
- &&
- gsb_data_payment_get_automatic_numbering ( payment_number ) )
- gsb_data_payment_set_last_number ( payment_number,
- gtk_entry_get_text (GTK_ENTRY ( widget_tmp ) ) );
- }
- else
- gsb_data_mix_set_method_of_payment_content ( transaction_number, NULL, is_transaction);
- }
- else
- {
- gsb_data_mix_set_method_of_payment_number ( transaction_number, 0, is_transaction );
- gsb_data_mix_set_method_of_payment_content ( transaction_number, NULL, is_transaction);
- }
- break;
-
- case TRANSACTION_FORM_CONTRA:
- /* here only for scheduled transaction */
- if (!is_transaction && gtk_widget_get_visible (element -> element_widget))
- gsb_data_scheduled_set_contra_method_of_payment_number ( transaction_number,
- gsb_payment_method_get_selected_number (element -> element_widget));
- break;
-
- case TRANSACTION_FORM_DEVISE:
- gsb_data_mix_set_currency_number ( transaction_number,
- gsb_currency_get_currency_from_combobox (
- element -> element_widget), is_transaction );
- if (is_transaction)
- gsb_currency_check_for_change ( transaction_number );
-
- break;
-
- case TRANSACTION_FORM_BANK:
- if (gsb_form_widget_check_empty (element -> element_widget))
- gsb_data_mix_set_bank_references ( transaction_number, NULL, is_transaction);
- else
- {
- gchar* tmpstr = my_strdup ( gtk_entry_get_text (GTK_ENTRY(element -> element_widget)));
- gsb_data_mix_set_bank_references ( transaction_number, tmpstr, is_transaction);
- g_free ( tmpstr );
- }
- break;
-
- case TRANSACTION_FORM_VOUCHER:
- if (gsb_form_widget_check_empty (element -> element_widget))
- gsb_data_mix_set_voucher ( transaction_number, NULL, is_transaction);
- else
- {
- gchar* tmpstr = my_strdup ( gtk_entry_get_text ( GTK_ENTRY ( element -> element_widget )));
- gsb_data_mix_set_voucher ( transaction_number, tmpstr, is_transaction);
- g_free ( tmpstr );
- }
- break;
+ gchar* tmpstr = my_strdup ( gtk_entry_get_text ( GTK_ENTRY ( element -> element_widget )));
+ gsb_data_mix_set_voucher ( transaction_number, tmpstr, is_transaction);
+ g_free ( tmpstr );
}
- tmp_list = tmp_list -> next;
+ break;
}
+ tmp_list = tmp_list -> next;
+ }
}
@@ -3293,200 +3303,199 @@ void gsb_form_take_datas_from_form ( gint transaction_number,
* \return FALSE
* */
gboolean gsb_form_get_categories ( gint transaction_number,
- gint new_transaction,
- gboolean is_transaction )
+ gint new_transaction,
+ gboolean is_transaction )
{
- GtkWidget *category_combofix;
+ GtkWidget *category_combofix;
- devel_debug_int (transaction_number);
+ devel_debug_int (transaction_number);
- if ( !gsb_data_form_check_for_value ( TRANSACTION_FORM_CATEGORY ))
- return FALSE;
+ if ( !gsb_data_form_check_for_value ( TRANSACTION_FORM_CATEGORY ))
+ return FALSE;
- category_combofix = gsb_form_widget_get_widget (TRANSACTION_FORM_CATEGORY);
+ category_combofix = gsb_form_widget_get_widget (TRANSACTION_FORM_CATEGORY);
- if (gsb_form_widget_check_empty (category_combofix))
- {
- /* there is no category */
- gsb_data_mix_set_category_number (transaction_number, 0, is_transaction);
- gsb_data_mix_set_sub_category_number (transaction_number, 0, is_transaction);
+ if (gsb_form_widget_check_empty (category_combofix))
+ {
+ /* there is no category */
+ gsb_data_mix_set_category_number (transaction_number, 0, is_transaction);
+ gsb_data_mix_set_sub_category_number (transaction_number, 0, is_transaction);
- /* if it's a scheduled transaction, we need to set account_transfer to -1 */
- if (!is_transaction)
- gsb_data_scheduled_set_account_number_transfer (transaction_number, -1);
- }
- else
- {
- gchar *string;
- gint contra_transaction_number;
+ /* if it's a scheduled transaction, we need to set account_transfer to -1 */
+ if (!is_transaction)
+ gsb_data_scheduled_set_account_number_transfer (transaction_number, -1);
+ }
+ else
+ {
+ gchar *string;
+ gint contra_transaction_number;
- /* On protège la chaine pendant toute l'opération */
- string = g_strdup ( gtk_combofix_get_text ( GTK_COMBOFIX ( category_combofix ) ) );
+ /* On protège la chaine pendant toute l'opération */
+ string = g_strdup ( gtk_combofix_get_text ( GTK_COMBOFIX ( category_combofix ) ) );
- if ( strcmp ( string, _("Split of transaction") ) )
+ if ( strcmp ( string, _("Split of transaction") ) )
+ {
+ /* it's not a split of transaction, if it was one, we delete the
+ * transaction's daughters */
+ gint account_transfer;
+
+ /* carreful : must set == 1 and not != 0 because if problem to get the result,
+ * that function returns -1 */
+ if ( !new_transaction
+ &&
+ gsb_data_mix_get_split_of_transaction (transaction_number, is_transaction) == 1)
+ {
+ /* we try to modify a split to a non split transaction */
+ GSList *children_list;
+
+ /* get the number list of children */
+ children_list = gsb_data_mix_get_children (transaction_number, TRUE, is_transaction);
+
+ /* if there is some children, we ask to be sure and delete them */
+ if (children_list)
{
- /* it's not a split of transaction, if it was one, we delete the
- * transaction's daughters */
- gint account_transfer;
-
- /* carreful : must set == 1 and not != 0 because if problem to get the result,
- * that function returns -1 */
- if ( !new_transaction
- &&
- gsb_data_mix_get_split_of_transaction (transaction_number, is_transaction) == 1)
- {
- /* we try to modify a split to a non split transaction */
- GSList *children_list;
-
- /* get the number list of children */
- children_list = gsb_data_mix_get_children (transaction_number, TRUE, is_transaction);
-
- /* if there is some children, we ask to be sure and delete them */
- if (children_list)
- {
- GSList *save_children_list;
-
- if (!question_yes_no_hint ( _("Modifying a transaction"),
- _("You are trying to change a split of transaction to another kind of transaction.\n"
- "There is some children to that transaction, if you continue, the children will "
- "be deleted.\nAre you sure ?"),
- GTK_RESPONSE_OK ))
- return FALSE;
-
- save_children_list = children_list;
-
- do
- {
- gint transaction_number_tmp;
-
- transaction_number_tmp = GPOINTER_TO_INT ( save_children_list -> data );
-
- if ( is_transaction )
- gsb_transactions_list_delete_transaction (transaction_number_tmp, FALSE);
- else
- gsb_scheduler_list_delete_scheduled_transaction (transaction_number_tmp,
- FALSE);
-
- save_children_list = save_children_list -> next;
- }
- while ( save_children_list );
-
- g_slist_free (save_children_list);
- }
- gsb_data_mix_set_split_of_transaction ( transaction_number,
- 0, is_transaction );
- }
+ GSList *save_children_list;
- /* now, check if it's a transfer or a normal category */
- account_transfer = gsb_form_check_for_transfer (string);
- switch (account_transfer)
- {
- /* if the check returns -3, it's not a transfer, so it's a normal category */
- case -3:
- /* if it's a modification, check if before it was not a transfer and delete
- * the contra-transaction if necessary */
- if (!new_transaction)
- {
- if (is_transaction)
- {
- contra_transaction_number = gsb_data_transaction_get_contra_transaction_number (transaction_number);
- if (contra_transaction_number > 0)
- {
- /* it was a transfer, we delete the contra-transaction */
- gsb_data_transaction_set_contra_transaction_number ( contra_transaction_number,
- 0);
- gsb_transactions_list_delete_transaction (contra_transaction_number, FALSE );
- gsb_data_transaction_set_contra_transaction_number ( transaction_number,
- 0);
- }
- }
- else
- /* if the scheduled transaction was a transfer, it is not anymore, remove that */
- gsb_data_scheduled_set_account_number_transfer (transaction_number, 0);
- }
- gsb_data_category_fill_transaction_by_string ( transaction_number,
- string, is_transaction );
- break;
-
- case -2:
- /* if the check returns -2, it's a deleted account, so set -1 for transaction number transfer
- * normally cannot come here if scheduled transaction, but in case,
- * we set data_mix to protect */
- gsb_data_mix_set_transaction_number_transfer ( transaction_number,
- -1, is_transaction );
- /* we don't set any break here, so with the case -1 the
- * category will be set to 0 (!! let the case -1 after here) */
-
- case -1:
- /* if the check returns -1, it's a transfert to non existant account,
- * so do nothing */
- gsb_data_mix_set_category_number ( transaction_number,
- 0, is_transaction );
- gsb_data_mix_set_sub_category_number ( transaction_number,
- 0, is_transaction );
- break;
-
- /* all other values are a number of account */
- default :
- /* need to check a lot of things and create the contra-transaction for a transaction,
- * but nothing to do for a scheduled transaction because no contra-transaction */
- if (is_transaction)
- gsb_form_transaction_validate_transfer ( transaction_number,
- new_transaction,
- account_transfer );
- else
- gsb_data_scheduled_set_account_number_transfer (transaction_number, account_transfer);
- break;
- }
+ if (!question_yes_no_hint ( _("Modifying a transaction"),
+ _("You are trying to change a split of transaction to another kind of transaction.\n"
+ "There is some children to that transaction, if you continue, the children will "
+ "be deleted.\nAre you sure ?"),
+ GTK_RESPONSE_OK ))
+ return FALSE;
+
+ save_children_list = children_list;
+
+ do
+ {
+ gint transaction_number_tmp;
+
+ transaction_number_tmp = GPOINTER_TO_INT ( save_children_list -> data );
+
+ if ( is_transaction )
+ gsb_transactions_list_delete_transaction (transaction_number_tmp, FALSE);
+ else
+ gsb_scheduler_list_delete_scheduled_transaction (transaction_number_tmp,
+ FALSE);
+
+ save_children_list = save_children_list -> next;
+ }
+ while ( save_children_list );
+
+ g_slist_free (save_children_list);
}
- else
- {
- /* it's a split of transaction */
- /* if it was a transfer, we delete the contra-transaction */
- gint contra_transaction_number = gsb_data_transaction_get_contra_transaction_number (transaction_number);
- if ( is_transaction
- &&
- !new_transaction
- &&
- contra_transaction_number > 0 )
+ gsb_data_mix_set_split_of_transaction ( transaction_number,
+ 0, is_transaction );
+ }
+
+ /* now, check if it's a transfer or a normal category */
+ account_transfer = gsb_form_check_for_transfer (string);
+ switch (account_transfer)
+ {
+ /* if the check returns -3, it's not a transfer, so it's a normal category */
+ case -3:
+ /* if it's a modification, check if before it was not a transfer and delete
+ * the contra-transaction if necessary */
+ if (!new_transaction)
+ {
+ if (is_transaction)
{
+ contra_transaction_number = gsb_data_transaction_get_contra_transaction_number (transaction_number);
+ if (contra_transaction_number > 0)
+ {
+ /* it was a transfer, we delete the contra-transaction */
gsb_data_transaction_set_contra_transaction_number ( contra_transaction_number,
- 0);
+ 0);
gsb_transactions_list_delete_transaction (contra_transaction_number, FALSE );
-
gsb_data_transaction_set_contra_transaction_number ( transaction_number,
- 0);
+ 0);
+ }
}
+ else
+ /* if the scheduled transaction was a transfer, it is not anymore, remove that */
+ gsb_data_scheduled_set_account_number_transfer (transaction_number, 0);
+ }
+ gsb_data_category_fill_transaction_by_string ( transaction_number,
+ string, is_transaction );
+ break;
- /* if it's a modification of a transaction and it was not a split,
- * but it is now, we add a white line as first child */
- if (!new_transaction
- &&
- !gsb_data_mix_get_split_of_transaction (transaction_number, is_transaction))
- {
- if (!is_transaction)
- gsb_scheduler_list_append_new_scheduled ( gsb_data_scheduled_new_white_line (transaction_number),
- gsb_data_scheduled_get_limit_date (transaction_number ));
- }
+ case -2:
+ /* if the check returns -2, it's a deleted account, so set -1 for transaction number transfer
+ * normally cannot come here if scheduled transaction, but in case,
+ * we set data_mix to protect */
+ gsb_data_mix_set_transaction_number_transfer ( transaction_number,
+ -1, is_transaction );
+ /* we don't set any break here, so with the case -1 the
+ * category will be set to 0 (!! let the case -1 after here) */
- gsb_data_mix_set_split_of_transaction ( transaction_number,
- 1, is_transaction );
- gsb_data_mix_set_category_number ( transaction_number,
- 0, is_transaction );
- gsb_data_mix_set_sub_category_number ( transaction_number,
- 0, is_transaction );
-
- /* normally the following widgets are hidden for a split, but if the user really
- * want he can annoy us and set an budget for example, and after cry because problems
- * in reports... so, erase here budget and financial year, if ever they are defined */
- gsb_data_mix_set_budgetary_number (transaction_number, 0, is_transaction);
- gsb_data_mix_set_sub_budgetary_number (transaction_number, 0, is_transaction);
- gsb_data_mix_set_voucher (transaction_number, NULL, is_transaction);
- }
- g_free ( string );
+ case -1:
+ /* if the check returns -1, it's a transfert to non existant account,
+ * so do nothing */
+ gsb_data_mix_set_category_number ( transaction_number,
+ 0, is_transaction );
+ gsb_data_mix_set_sub_category_number ( transaction_number,
+ 0, is_transaction );
+ break;
+
+ /* all other values are a number of account */
+ default :
+ /* need to check a lot of things and create the contra-transaction for a transaction,
+ * but nothing to do for a scheduled transaction because no contra-transaction */
+ if (is_transaction)
+ gsb_form_transaction_validate_transfer ( transaction_number,
+ new_transaction,
+ account_transfer );
+ else
+ gsb_data_scheduled_set_account_number_transfer (transaction_number, account_transfer);
+ }
+ }
+ else
+ {
+ /* it's a split of transaction */
+ /* if it was a transfer, we delete the contra-transaction */
+ gint contra_transaction_number = gsb_data_transaction_get_contra_transaction_number (transaction_number);
+ if ( is_transaction
+ &&
+ !new_transaction
+ &&
+ contra_transaction_number > 0 )
+ {
+ gsb_data_transaction_set_contra_transaction_number ( contra_transaction_number,
+ 0);
+ gsb_transactions_list_delete_transaction (contra_transaction_number, FALSE );
+
+ gsb_data_transaction_set_contra_transaction_number ( transaction_number,
+ 0);
+ }
+
+ /* if it's a modification of a transaction and it was not a split,
+ * but it is now, we add a white line as first child */
+ if (!new_transaction
+ &&
+ !gsb_data_mix_get_split_of_transaction (transaction_number, is_transaction))
+ {
+ if (!is_transaction)
+ gsb_scheduler_list_append_new_scheduled ( gsb_data_scheduled_new_white_line (transaction_number),
+ gsb_data_scheduled_get_limit_date (transaction_number ));
+ }
+
+ gsb_data_mix_set_split_of_transaction ( transaction_number,
+ 1, is_transaction );
+ gsb_data_mix_set_category_number ( transaction_number,
+ 0, is_transaction );
+ gsb_data_mix_set_sub_category_number ( transaction_number,
+ 0, is_transaction );
+
+ /* normally the following widgets are hidden for a split, but if the user really
+ * want he can annoy us and set an budget for example, and after cry because problems
+ * in reports... so, erase here budget and financial year, if ever they are defined */
+ gsb_data_mix_set_budgetary_number (transaction_number, 0, is_transaction);
+ gsb_data_mix_set_sub_budgetary_number (transaction_number, 0, is_transaction);
+ gsb_data_mix_set_voucher (transaction_number, NULL, is_transaction);
}
+ g_free ( string );
+ }
- return FALSE;
+ return FALSE;
}
@@ -3500,40 +3509,42 @@ gboolean gsb_form_get_categories ( gint transaction_number,
* */
gboolean gsb_form_escape_form ( void )
{
- devel_debug (NULL);
+ GrisbiAppConf *conf;
- switch ( gsb_form_get_origin ())
- {
+ devel_debug (NULL);
+ conf = grisbi_app_get_conf ( );
+
+ switch ( gsb_form_get_origin ())
+ {
case ORIGIN_VALUE_OTHER:
- notice_debug ("Should not come here... (gsb_form_escape_form)");
- gtk_widget_grab_focus ( gsb_gui_navigation_get_tree_view ( ) );
- break;
+ notice_debug ("Should not come here... (gsb_form_escape_form)");
+ gtk_widget_grab_focus ( gsb_gui_navigation_get_tree_view ( ) );
+ break;
case ORIGIN_VALUE_HOME:
- gtk_widget_grab_focus ( run.window );
- break;
+ gtk_widget_grab_focus ( GTK_WIDGET ( grisbi_app_get_active_window ( NULL ) ) );
+ break;
case ORIGIN_VALUE_SCHEDULED:
- gtk_widget_grab_focus (gsb_scheduler_list_get_tree_view ());
- break;
+ gtk_widget_grab_focus (gsb_scheduler_list_get_tree_view ());
+ break;
default:
- gtk_widget_grab_focus (gsb_transactions_list_get_tree_view());
- break;
- }
-
- /* in all case clean the scheduler part of the form */
- gsb_form_scheduler_clean ();
-
- if ( etat.formulaire_toujours_affiche )
- {
- gsb_form_clean ( gsb_form_get_account_number ( ) );
- }
- else
- {
- gtk_expander_set_expanded ( GTK_EXPANDER ( form_expander ), FALSE );
- }
- return FALSE;
+ gtk_widget_grab_focus (gsb_transactions_list_get_tree_view());
+ }
+
+ /* in all case clean the scheduler part of the form */
+ gsb_form_scheduler_clean ();
+
+ if ( conf->formulaire_toujours_affiche )
+ {
+ gsb_form_clean ( gsb_form_get_account_number ( ) );
+ }
+ else
+ {
+ gtk_expander_set_expanded ( GTK_EXPANDER ( form_expander ), FALSE );
+ }
+ return FALSE;
}
@@ -3548,86 +3559,86 @@ gboolean gsb_form_escape_form ( void )
* \return FALSE
* */
gboolean gsb_form_allocate_size ( GtkWidget *table,
- GtkAllocation *allocation,
- gpointer null )
+ GtkAllocation *allocation,
+ gpointer null )
{
- gint row, column;
- gint account_number;
- GtkWidget *widget;
-
- if (! gsb_form_is_visible ( ) )
- return FALSE;
-
- if ( allocation == NULL )
- return FALSE;
-
- account_number = gsb_form_get_account_number ();
- if ( account_number == -2 )
- return FALSE;
-
- if (saved_allocation_size == allocation -> width)
+ gint row, column;
+ gint account_number;
+ GtkWidget *widget;
+
+ if (! gsb_form_is_visible ( ) )
+ return FALSE;
+
+ if ( allocation == NULL )
+ return FALSE;
+
+ account_number = gsb_form_get_account_number ();
+ if ( account_number == -2 )
+ return FALSE;
+
+ if (saved_allocation_size == allocation -> width)
+ {
+ saved_allocation_size = 0;
+ return FALSE;
+ }
+ saved_allocation_size = allocation -> width;
+
+ /* set the size for all columns - 1 to avoid recursive call to that function,
+ * so the last column size is set to be beautiful, but in fact, it's just the extra-space */
+ for ( row=0 ; row < gsb_data_form_get_nb_rows (account_number) - 1 ; row++ )
+ for ( column=0 ; column < gsb_data_form_get_nb_columns (account_number) ; column++ )
{
- saved_allocation_size = 0;
- return FALSE;
+ widget = gsb_form_widget_get_widget ( gsb_data_form_get_value ( account_number,
+ column,
+ row ));
+ if ( widget )
+ gtk_widget_set_size_request ( widget,
+ gsb_data_form_get_width_column (account_number,
+ column ) * allocation -> width / 100,
+ -1 );
}
- saved_allocation_size = allocation -> width;
- /* set the size for all columns - 1 to avoid recursive call to that function,
- * so the last column size is set to be beautiful, but in fact, it's just the extra-space */
- for ( row=0 ; row < gsb_data_form_get_nb_rows (account_number) - 1 ; row++ )
- for ( column=0 ; column < gsb_data_form_get_nb_columns (account_number) ; column++ )
- {
- widget = gsb_form_widget_get_widget ( gsb_data_form_get_value ( account_number,
- column,
- row ));
- if ( widget )
- gtk_widget_set_size_request ( widget,
- gsb_data_form_get_width_column (account_number,
- column ) * allocation -> width / 100,
- -1 );
- }
-
- for ( column = 0 ; column < 6 ; column++ )
- {
- gint width_percent = 0;
-
- widget = gsb_form_scheduler_get_element_widget(column);
-
- if (widget)
- {
- switch (column)
- {
- case SCHEDULED_FORM_ACCOUNT:
- width_percent = 30;
- break;
-
- case SCHEDULED_FORM_AUTO:
- width_percent = 16;
- break;
-
- case SCHEDULED_FORM_FREQUENCY_BUTTON:
- width_percent = 16;
- break;
-
- case SCHEDULED_FORM_LIMIT_DATE:
- width_percent = 12;
- break;
+ for ( column = 0 ; column < 6 ; column++ )
+ {
+ gint width_percent = 0;
- case SCHEDULED_FORM_FREQUENCY_USER_ENTRY:
- width_percent = 7;
- break;
+ widget = gsb_form_scheduler_get_element_widget(column);
- case SCHEDULED_FORM_FREQUENCY_USER_BUTTON:
- width_percent = 12;
- break;
- }
- if (widget && GTK_IS_WIDGET (widget))
- gtk_widget_set_size_request ( widget,
- width_percent * allocation -> width / 100,
- -1 );
- }
+ if (widget)
+ {
+ switch (column)
+ {
+ case SCHEDULED_FORM_ACCOUNT:
+ width_percent = 30;
+ break;
+
+ case SCHEDULED_FORM_AUTO:
+ width_percent = 16;
+ break;
+
+ case SCHEDULED_FORM_FREQUENCY_BUTTON:
+ width_percent = 16;
+ break;
+
+ case SCHEDULED_FORM_LIMIT_DATE:
+ width_percent = 12;
+ break;
+
+ case SCHEDULED_FORM_FREQUENCY_USER_ENTRY:
+ width_percent = 7;
+ break;
+
+ case SCHEDULED_FORM_FREQUENCY_USER_BUTTON:
+ width_percent = 12;
+ break;
+ }
+ if (widget && GTK_IS_WIDGET (widget))
+ gtk_widget_set_size_request ( widget,
+ width_percent * allocation -> width / 100,
+ -1 );
}
- return FALSE;
+ }
+ return FALSE;
}
@@ -3642,34 +3653,34 @@ gboolean gsb_form_allocate_size ( GtkWidget *table,
* \return FALSE
* */
gboolean gsb_form_button_press ( GtkWidget *vbox,
- GdkEventButton *ev,
- gpointer null )
+ GdkEventButton *ev,
+ gpointer null )
{
- GtkWidget *menu, *menu_item;
+ GtkWidget *menu, *menu_item;
- devel_debug (NULL);
+ devel_debug (NULL);
- if ( ev -> button != RIGHT_BUTTON )
- return FALSE;
+ if ( ev -> button != RIGHT_BUTTON )
+ return FALSE;
- menu = gtk_menu_new ();
+ menu = gtk_menu_new ();
- /* propose to configure the form */
- menu_item = gtk_image_menu_item_new_with_label ( _("Configure the form") );
- gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM(menu_item),
- gtk_image_new_from_stock ( GTK_STOCK_PROPERTIES,
- GTK_ICON_SIZE_MENU ));
- g_signal_connect ( G_OBJECT(menu_item),
- "activate",
- G_CALLBACK (gsb_preferences_menu_open),
- GINT_TO_POINTER (TRANSACTION_FORM_PAGE));
- gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
+ /* propose to configure the form */
+ menu_item = gtk_image_menu_item_new_with_label ( _("Configure the form") );
+ gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM(menu_item),
+ gtk_image_new_from_stock ( GTK_STOCK_PROPERTIES,
+ GTK_ICON_SIZE_MENU ));
+ g_signal_connect ( G_OBJECT(menu_item),
+ "activate",
+ G_CALLBACK (gsb_preferences_menu_open),
+ GINT_TO_POINTER (TRANSACTION_FORM_PAGE));
+ gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
- /* Finish all. */
- gtk_widget_show_all (menu);
- gtk_menu_popup ( GTK_MENU(menu), NULL, NULL, NULL, NULL, 3, gtk_get_current_event_time());
+ /* Finish all. */
+ gtk_widget_show_all (menu);
+ gtk_menu_popup ( GTK_MENU(menu), NULL, NULL, NULL, NULL, 3, gtk_get_current_event_time());
- return FALSE;
+ return FALSE;
}
@@ -3678,28 +3689,28 @@ gboolean gsb_form_button_press ( GtkWidget *vbox,
*
* \param element_number
* \param GSList *list
- *
+ *
* \return a GtkWidget * or NULL
* */
GtkWidget *gsb_form_get_element_widget_from_list ( gint element_number,
- GSList *list )
+ GSList *list )
{
- GSList *list_tmp;
+ GSList *list_tmp;
- list_tmp = list;
+ list_tmp = list;
- while (list_tmp)
- {
- struct_element *element;
+ while (list_tmp)
+ {
+ struct_element *element;
- element = list_tmp -> data;
- if (element -> element_number == element_number)
- return element -> element_widget;
+ element = list_tmp -> data;
+ if (element -> element_number == element_number)
+ return element -> element_widget;
- list_tmp = list_tmp -> next;
- }
+ list_tmp = list_tmp -> next;
+ }
- return NULL;
+ return NULL;
}
@@ -3712,46 +3723,46 @@ GtkWidget *gsb_form_get_element_widget_from_list ( gint element_number,
* */
gboolean gsb_form_initialise_transaction_form ( void )
{
- gint row, column;
- gint rows_number, columns_number;
- gint form_account_number;
- gint account_number;
+ gint row, column;
+ gint rows_number, columns_number;
+ gint form_account_number;
+ gint account_number;
- devel_debug (NULL);
+ devel_debug (NULL);
- /* get the form of the first account */
+ /* get the form of the first account */
form_account_number = gsb_data_account_first_number ();
- account_number = gsb_data_account_first_number ( );
+ account_number = gsb_data_account_first_number ( );
- rows_number = gsb_data_form_get_nb_rows (form_account_number);
- columns_number = gsb_data_form_get_nb_columns (form_account_number);
+ rows_number = gsb_data_form_get_nb_rows (form_account_number);
+ columns_number = gsb_data_form_get_nb_columns (form_account_number);
- gtk_table_resize ( GTK_TABLE (form_transaction_part),
- rows_number,
- columns_number );
+ gtk_table_resize ( GTK_TABLE (form_transaction_part),
+ rows_number,
+ columns_number );
- for ( row=0 ; row < rows_number ; row++ )
- for ( column=0 ; column < columns_number ; column++ )
- {
- GtkWidget *widget;
- gint element;
-
- element = gsb_data_form_get_value ( form_account_number, column, row );
- widget = gsb_form_widget_create ( element, account_number );
-
- if ( !widget )
- continue;
-
- gtk_table_attach ( GTK_TABLE (form_transaction_part),
- widget,
- column, column+1,
- row, row+1,
- gsb_form_get_element_expandable ( element ),
- gsb_form_get_element_expandable ( element ),
- 0, 0);
- }
+ for ( row=0 ; row < rows_number ; row++ )
+ for ( column=0 ; column < columns_number ; column++ )
+ {
+ GtkWidget *widget;
+ gint element;
+
+ element = gsb_data_form_get_value ( form_account_number, column, row );
+ widget = gsb_form_widget_create ( element, account_number );
+
+ if ( !widget )
+ continue;
+
+ gtk_table_attach ( GTK_TABLE (form_transaction_part),
+ widget,
+ column, column+1,
+ row, row+1,
+ gsb_form_get_element_expandable ( element ),
+ gsb_form_get_element_expandable ( element ),
+ 0, 0);
+ }
- return FALSE;
+ return FALSE;
}
diff --git a/src/gsb_form_transaction.c b/src/gsb_form_transaction.c
index 05dc034..6b21759 100644
--- a/src/gsb_form_transaction.c
+++ b/src/gsb_form_transaction.c
@@ -37,6 +37,7 @@
/*START_INCLUDE*/
#include "gsb_form_transaction.h"
#include "etats_calculs.h"
+#include "grisbi_app.h"
#include "gsb_currency.h"
#include "gsb_data_account.h"
#include "gsb_data_currency_link.h"
@@ -80,8 +81,10 @@ gboolean gsb_form_transaction_complete_form_by_payee ( const gchar *payee_name )
gint transaction_number = 0;
gint account_number;
GSList *tmp_list;
+ GrisbiAppConf *conf;
devel_debug (payee_name);
+ conf = grisbi_app_get_conf ( );
if ( !strlen (payee_name))
return FALSE;
@@ -127,7 +130,7 @@ gboolean gsb_form_transaction_complete_form_by_payee ( const gchar *payee_name )
return TRUE;
/* find the last transaction with that payee */
- if ( conf.automatic_completion_payee )
+ if ( conf->automatic_completion_payee )
transaction_number = gsb_form_transactions_look_for_last_party ( payee_number,
0,
account_number );
@@ -175,13 +178,13 @@ gboolean gsb_form_transaction_complete_form_by_payee ( const gchar *payee_name )
gsb_data_transaction_get_split_of_transaction (transaction_number))
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON ( form_button_recover_split ),
- conf.automatic_recover_splits );
+ conf->automatic_recover_splits );
gtk_widget_show ( form_button_recover_split );
}
}
- else if ( ( element -> element_number == TRANSACTION_FORM_CREDIT && !conf.automatic_erase_credit_debit )
+ else if ( ( element -> element_number == TRANSACTION_FORM_CREDIT && !conf->automatic_erase_credit_debit )
||
- ( element -> element_number == TRANSACTION_FORM_DEBIT && !conf.automatic_erase_credit_debit ) )
+ ( element -> element_number == TRANSACTION_FORM_DEBIT && !conf->automatic_erase_credit_debit ) )
{
gsb_form_fill_element ( element -> element_number,
account_number,
@@ -263,36 +266,39 @@ gint gsb_form_transactions_look_for_last_party ( gint no_party,
GSList *list_tmp_transactions;
gint last_transaction_with_party_in_account = 0;
gint last_transaction_with_party_not_in_account = 0;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
list_tmp_transactions = gsb_data_transaction_get_complete_transactions_list ();
while ( list_tmp_transactions )
{
- gint transaction_number_tmp;
- transaction_number_tmp = gsb_data_transaction_get_transaction_number (list_tmp_transactions -> data);
+ gint transaction_number_tmp;
+ transaction_number_tmp = gsb_data_transaction_get_transaction_number (list_tmp_transactions -> data);
- if ( gsb_data_transaction_get_party_number (transaction_number_tmp) == no_party
- &&
- transaction_number_tmp != no_new_transaction
- &&
- !gsb_data_transaction_get_mother_transaction_number (transaction_number_tmp))
- {
- /* we are on a transaction with the same party, it's also a split, so we keep it */
- if ( gsb_data_transaction_get_account_number (transaction_number_tmp) == account_number)
- last_transaction_with_party_in_account = transaction_number_tmp;
- else
- last_transaction_with_party_not_in_account = transaction_number_tmp;
- }
- list_tmp_transactions = list_tmp_transactions -> next;
+ if ( gsb_data_transaction_get_party_number (transaction_number_tmp) == no_party
+ &&
+ transaction_number_tmp != no_new_transaction
+ &&
+ !gsb_data_transaction_get_mother_transaction_number (transaction_number_tmp))
+ {
+ /* we are on a transaction with the same party, it's also a split, so we keep it */
+ if ( gsb_data_transaction_get_account_number (transaction_number_tmp) == account_number)
+ last_transaction_with_party_in_account = transaction_number_tmp;
+ else
+ last_transaction_with_party_not_in_account = transaction_number_tmp;
+ }
+ list_tmp_transactions = list_tmp_transactions -> next;
}
if ( last_transaction_with_party_in_account )
- return last_transaction_with_party_in_account;
+ return last_transaction_with_party_in_account;
/* if we don't want to complete with a transaction in another account,
* go away here */
- if ( conf.limit_completion_to_current_account )
- return 0;
+ if ( conf->limit_completion_to_current_account )
+ return 0;
return last_transaction_with_party_not_in_account;
}
diff --git a/src/gsb_form_widget.c b/src/gsb_form_widget.c
index d9f323e..1720b04 100644
--- a/src/gsb_form_widget.c
+++ b/src/gsb_form_widget.c
@@ -36,6 +36,7 @@
/*START_INCLUDE*/
#include "gsb_form_widget.h"
+#include "grisbi_app.h"
#include "gsb_calendar_entry.h"
#include "gsb_color.h"
#include "gsb_currency.h"
@@ -513,92 +514,94 @@ gint gsb_form_widget_next_element ( gint account_number,
gint form_column_number;
gint form_row_number;
- if ( !gsb_data_form_look_for_value ( account_number,
- element_number,
- &row,
- &column ))
- return -1;
+ if ( !gsb_data_form_look_for_value ( account_number, element_number, &row, &column ) )
+ return -1;
form_column_number = gsb_data_form_get_nb_columns (account_number);
form_row_number = gsb_data_form_get_nb_rows (account_number);
- while ( !gsb_form_widget_can_focus (return_value_number))
+ while ( !gsb_form_widget_can_focus (return_value_number))
{
- switch ( direction )
- {
- case GSB_LEFT:
- if ( !column && !row )
- {
- /* we are at the upper left, go on the bottom right */
- column = form_column_number;
- row = form_row_number -1;
- }
-
- if ( --column == -1 )
- {
- column = form_column_number - 1;
- row--;
- }
- return_value_number = gsb_data_form_get_value ( account_number,
- column,
- row );
- break;
-
- case GSB_RIGHT:
- if ( column == (form_column_number - 1)
- &&
- row == (form_row_number - 1))
- {
- /* we are on the bottom right, we finish the edition or
- * go to the upper left */
- if ( !conf.entree )
- {
- return_value_number = -2;
- continue;
- }
- column = -1;
- row = 0;
- }
-
- if ( ++column == form_column_number )
- {
- column = 0;
- row++;
- }
- return_value_number = gsb_data_form_get_value ( account_number,
- column,
- row );
- break;
-
- case GSB_UP:
- if ( !row )
- {
- return_value_number = -1;
- continue;
- }
-
- row--;
- return_value_number = gsb_data_form_get_value ( account_number,
- column,
- row );
- break;
-
- case GSB_DOWN:
- if ( row == (form_row_number - 1))
- {
- return_value_number = -1;
- continue;
- }
- row++;
- return_value_number = gsb_data_form_get_value ( account_number,
- column,
- row );
- break;
-
- default:
- return_value_number = -1;
- }
+ switch ( direction )
+ {
+ case GSB_LEFT:
+ if ( !column && !row )
+ {
+ /* we are at the upper left, go on the bottom right */
+ column = form_column_number;
+ row = form_row_number -1;
+ }
+
+ if ( --column == -1 )
+ {
+ column = form_column_number - 1;
+ row--;
+ }
+ return_value_number = gsb_data_form_get_value ( account_number,
+ column,
+ row );
+ break;
+
+ case GSB_RIGHT:
+ if ( column == (form_column_number - 1)
+ &&
+ row == (form_row_number - 1))
+ {
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
+ /* we are on the bottom right, we finish the edition or
+ * go to the upper left */
+ if ( !conf->entree )
+ {
+ return_value_number = -2;
+ continue;
+ }
+ column = -1;
+ row = 0;
+ }
+
+ if ( ++column == form_column_number )
+ {
+ column = 0;
+ row++;
+ }
+ return_value_number = gsb_data_form_get_value ( account_number,
+ column,
+ row );
+ break;
+
+ case GSB_UP:
+ if ( !row )
+ {
+ return_value_number = -1;
+ continue;
+ }
+
+ row--;
+ return_value_number = gsb_data_form_get_value ( account_number,
+ column,
+ row );
+ break;
+
+ case GSB_DOWN:
+ if ( row == (form_row_number - 1))
+ {
+ return_value_number = -1;
+ continue;
+ }
+ row++;
+ return_value_number = gsb_data_form_get_value ( account_number,
+ column,
+ row );
+ break;
+
+ default:
+ return_value_number = -1;
+ }
}
+
return return_value_number;
}
diff --git a/src/gsb_reconcile.c b/src/gsb_reconcile.c
index 1442ae8..8084af7 100644
--- a/src/gsb_reconcile.c
+++ b/src/gsb_reconcile.c
@@ -40,6 +40,8 @@
#include "gsb_reconcile.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
+#include "grisbi_window.h"
#include "gsb_color.h"
#include "gsb_calendar_entry.h"
#include "gsb_data_account.h"
@@ -670,9 +672,10 @@ void gsb_reconcile_sensitive ( gboolean sensitive )
{
GtkUIManager *ui_manager;
- ui_manager = gsb_menu_get_ui_manager ( );
+ ui_manager = grisbi_window_get_ui_manager ( grisbi_app_get_active_window ( NULL ) );
+
gtk_widget_set_sensitive ( gsb_gui_navigation_get_tree_view ( ), sensitive );
- gsb_gui_sensitive_headings (sensitive);
+ gsb_gui_sensitive_headings ( sensitive );
/* add by pbiava 02/11/2009 */
gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( ui_manager,
"/menubar/ViewMenu/ShowReconciled/" ),
diff --git a/src/gsb_scheduler.c b/src/gsb_scheduler.c
index d36a609..b2ea4f3 100644
--- a/src/gsb_scheduler.c
+++ b/src/gsb_scheduler.c
@@ -35,6 +35,7 @@
/*START_INCLUDE*/
#include "gsb_scheduler.h"
#include "accueil.h"
+#include "grisbi_app.h"
#include "gsb_currency.h"
#include "gsb_data_fyear.h"
#include "gsb_data_payment.h"
@@ -65,11 +66,6 @@ extern GSList *scheduled_transactions_taken;
extern GSList *scheduled_transactions_to_take;
/*END_EXTERN*/
-/** number of days before the scheduled to execute it */
-gint nb_days_before_scheduled;
-
-/** warn/execute scheduled at expiration (FALSE) or of the month (TRUE) */
-gboolean execute_scheduled_of_month;
/**
* set the next date in the scheduled transaction
@@ -454,32 +450,34 @@ void gsb_scheduler_check_scheduled_transactions_time_limit ( void )
GDate *date;
GSList *tmp_list;
gboolean automatic_transactions_taken = FALSE;
+ GrisbiAppConf *conf;
devel_debug (NULL);
+ conf = grisbi_app_get_conf ( );
+
/* the scheduled transactions to take will be check here,
* but the scheduled transactions taken will be add to the already appended ones */
scheduled_transactions_to_take = NULL;
- /* get the date today + nb_days_before_scheduled */
+ /* get the date today + conf->nb_days_before_scheduled */
/* the date untill we execute the scheduled transactions is :
* - either today + nb_days_before_scheduled if warn n days before the scheduled
* - either the end of the month in nb_days_before_scheduled days (so current month or next month)
* */
date = gdate_today ();
- g_date_add_days ( date,
- nb_days_before_scheduled );
+ g_date_add_days ( date, conf->nb_days_before_scheduled );
/* now date is in nb_days_before_scheduled, if we want the transactions of the month,
* we change date to the end of its month */
- if (execute_scheduled_of_month)
+ if ( conf->execute_scheduled_of_month )
{
- gint last_day;
-
- last_day = g_date_get_days_in_month ( g_date_get_month (date),
- g_date_get_year (date));
- g_date_set_day (date, last_day);
+ gint ay (date, last_day); ( g_date_get_month (date), ansactions of the month, next month) ata); ), is_transaction); ), number), , he \"%s\" option in preferences."), )); ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ last_day;
+
+ last_day = g_date_get_days_in_month ( g_date_get_month ( date ),
+ g_date_get_year ( date ) );
+ g_date_set_day ( date, last_day );
}
/* check all the scheduled transactions,
diff --git a/src/gsb_scheduler_list.c b/src/gsb_scheduler_list.c
index e5f530b..73d8945 100644
--- a/src/gsb_scheduler_list.c
+++ b/src/gsb_scheduler_list.c
@@ -41,6 +41,7 @@
#include "gsb_scheduler_list.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_automem.h"
#include "gsb_calendar.h"
#include "gsb_color.h"
@@ -258,11 +259,14 @@ GtkWidget *gsb_scheduler_list_create_list ( void )
GtkWidget *creation_barre_outils_echeancier ( void )
{
GtkWidget *hbox, *button;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
hbox = gtk_hbox_new ( FALSE, 0 );
/* Common actions */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("_New scheduled"),
"new-scheduled.png",
G_CALLBACK (gsb_scheduler_list_edit_transaction),
@@ -271,7 +275,7 @@ GtkWidget *creation_barre_outils_echeancier ( void )
_("Prepare form to create a new scheduled transaction"));
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
- scheduler_button_delete = gsb_automem_stock_button_new ( etat.display_toolbar,
+ scheduler_button_delete = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_DELETE,
_("Delete"),
G_CALLBACK ( gsb_scheduler_list_delete_scheduled_transaction_by_menu ),
@@ -281,7 +285,7 @@ GtkWidget *creation_barre_outils_echeancier ( void )
_("Delete selected scheduled transaction"));
gtk_box_pack_start ( GTK_BOX ( hbox ), scheduler_button_delete, FALSE, FALSE, 0 );
- scheduler_button_edit = gsb_automem_stock_button_new ( etat.display_toolbar,
+ scheduler_button_edit = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_EDIT,
_("Edit"),
G_CALLBACK ( gsb_scheduler_list_edit_transaction ),
@@ -292,7 +296,7 @@ GtkWidget *creation_barre_outils_echeancier ( void )
gtk_box_pack_start ( GTK_BOX ( hbox ), scheduler_button_edit, FALSE, FALSE, 0 );
/* Display/hide comments */
- scheduler_display_hide_comments = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ scheduler_display_hide_comments = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("Comments"),
"comments.png",
G_CALLBACK ( gsb_scheduler_list_show_notes ),
@@ -303,7 +307,7 @@ GtkWidget *creation_barre_outils_echeancier ( void )
FALSE, FALSE, 0 );
/* Execute transaction */
- scheduler_button_execute = gsb_automem_stock_button_new ( etat.display_toolbar,
+ scheduler_button_execute = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_EXECUTE,
_("Execute"),
G_CALLBACK ( gsb_scheduler_list_execute_transaction ),
@@ -313,7 +317,7 @@ GtkWidget *creation_barre_outils_echeancier ( void )
_("Execute current scheduled transaction"));
gtk_box_pack_start ( GTK_BOX ( hbox ), scheduler_button_execute, FALSE, FALSE, 0 );
- button = gsb_automem_stock_button_menu_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_menu_new ( conf->display_toolbar,
GTK_STOCK_SELECT_COLOR, _("View"),
G_CALLBACK (popup_scheduled_view_mode_menu),
NULL );
@@ -1701,6 +1705,9 @@ gboolean gsb_scheduler_list_selection_changed ( GtkTreeSelection *selection,
{
gint tmp_number = 0;
gint account_number;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* wanted to set that function in gsb_scheduler_list_button_press but g_signal_connect_after
* seems not to work in that case... */
@@ -1711,8 +1718,8 @@ gboolean gsb_scheduler_list_selection_changed ( GtkTreeSelection *selection,
if (tmp_number)
last_scheduled_number = tmp_number;
- /* if conf.show_transaction_selected_in_form => edit the scheduled transaction */
- if ( tmp_number != 0 && conf.show_transaction_selected_in_form )
+ /* if conf->show_transaction_selected_in_form => edit the scheduled transaction */
+ if ( tmp_number != 0 && conf->show_transaction_selected_in_form )
gsb_scheduler_list_edit_transaction (tmp_number);
else if ( tmp_number == 0 )
{
@@ -2120,7 +2127,7 @@ gboolean gsb_scheduler_list_popup_custom_periodicity_dialog (void)
int i;
dialog = gtk_dialog_new_with_buttons ( _("Show scheduled transactions"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_APPLY, GTK_RESPONSE_OK,
diff --git a/src/gsb_select_icon.c b/src/gsb_select_icon.c
index bf64537..56378d7 100644
--- a/src/gsb_select_icon.c
+++ b/src/gsb_select_icon.c
@@ -32,11 +32,12 @@
/*START_INCLUDE*/
#include "gsb_select_icon.h"
#include "dialog.h"
-#include "utils_str.h"
+#include "grisbi_app.h"
+#include "gsb_dirs.h"
#include "structures.h"
#include "utils.h"
+#include "utils_str.h"
#include "erreur.h"
-#include "gsb_dirs.h"
/*END_INCLUDE*/
/*START_STATIC*/
@@ -163,7 +164,7 @@ gchar *gsb_select_icon_create_window ( gchar *name_icon )
path_icon = g_path_get_dirname ( name_icon );
dialog = gtk_dialog_new_with_buttons ( _("Browse icons"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CANCEL,
GTK_RESPONSE_REJECT,
diff --git a/src/gsb_status.c b/src/gsb_status.c
index 1288b14..414a882 100644
--- a/src/gsb_status.c
+++ b/src/gsb_status.c
@@ -33,6 +33,8 @@
/*START_INCLUDE*/
#include "gsb_status.h"
+#include "grisbi_app.h"
+#include "grisbi_window.h"
#include "main.h"
#include "structures.h"
#include "utils.h"
@@ -44,61 +46,25 @@
/*START_EXTERN*/
/*END_EXTERN*/
-/** Status bar displayed in the bottom of Grisbi window. */
-static GtkWidget *main_statusbar = NULL;
-
-/** Context ID from the GtkStatusBar. */
-static guint context_id;
-
-/** Message ID from the GtkStatusBar. */
-static guint message_id = -1;
-
-/** Optional progress bar in main status bar. */
-/*
-static GtkWidget * progress_bar = NULL;
-*/
-
-/** Timer ID of the timeout responsible for updating the
- * GtkProgressBar. */
-/*
-static gint timer_id;
-*/
-
/** Window under cursor at the time the cursor animation changed. */
static GdkWindow *tracked_window;
/**
- * Create and return a new GtkStatusBar to hold various status
- * information.
- *
- * \return A newly allocated GtkStatusBar.
- */
-GtkWidget * gsb_new_statusbar ()
-{
- main_statusbar = gtk_statusbar_new ();
- context_id = gtk_statusbar_get_context_id ( GTK_STATUSBAR ( main_statusbar ), "Grisbi" );
- message_id = -1;
-
- gtk_widget_show_all ( main_statusbar );
-
- return main_statusbar;
-}
-
-
-
-/**
* Display a message in the status bar.
*
- * \param message Message to display.
+ * \param message Message to display.
*/
-void gsb_status_message ( gchar * message )
+void gsb_status_message ( gchar *message )
{
- if ( ! main_statusbar || ! GTK_IS_STATUSBAR ( main_statusbar ) )
- return;
+ GrisbiApp *app;
+ GrisbiWindow *window;
+
+ app = grisbi_app_get_default ( );
+ window = grisbi_app_get_active_window ( app );
gsb_status_clear ();
- message_id = gtk_statusbar_push ( GTK_STATUSBAR ( main_statusbar ), context_id, message );
+ grisbi_window_statusbar_push ( window, message );
/* force status message to be displayed NOW */
update_gui ( );
@@ -111,14 +77,12 @@ void gsb_status_message ( gchar * message )
*/
void gsb_status_clear ( )
{
- if ( ! main_statusbar || ! GTK_IS_STATUSBAR ( main_statusbar ) )
- return;
+ GrisbiApp *app;
+ GrisbiWindow *window;
- if ( message_id >= 0 )
- {
- gtk_statusbar_remove ( GTK_STATUSBAR ( main_statusbar ), context_id, message_id );
- message_id = -1;
- }
+ app = grisbi_app_get_default ( );
+ window = grisbi_app_get_active_window ( app );
+ grisbi_window_statusbar_remove ( window );
/* force status message to be displayed NOW */
update_gui ( );
@@ -138,7 +102,7 @@ void gsb_status_wait ( gboolean force_update )
GdkWindow *current_window;
GdkWindow *run_window;
- run_window = gtk_widget_get_window ( run.window );
+ run_window = gtk_widget_get_window ( GTK_WIDGET ( grisbi_app_get_active_window ( NULL ) ) );
gdk_window_set_cursor ( run_window,
gdk_cursor_new_for_display ( gdk_display_get_default ( ),
@@ -178,10 +142,10 @@ void gsb_status_wait ( gboolean force_update )
*/
void gsb_status_stop_wait ( gboolean force_update )
{
- if ( !run.window )
+ if ( !grisbi_app_get_active_window ( NULL ) )
return;
- gdk_window_set_cursor ( gtk_widget_get_window ( run.window ), NULL );
+ gdk_window_set_cursor ( gtk_widget_get_window ( GTK_WIDGET ( grisbi_app_get_active_window ( NULL ) ) ), NULL );
if ( tracked_window && gdk_window_is_visible ( tracked_window ) )
{
diff --git a/src/gsb_status.h b/src/gsb_status.h
index 8b0bab1..ccf9df9 100644
--- a/src/gsb_status.h
+++ b/src/gsb_status.h
@@ -7,7 +7,6 @@
/* END_INCLUDE_H */
/* START_DECLARATION */
-GtkWidget * gsb_new_statusbar ();
void gsb_status_clear ( );
void gsb_status_message ( gchar * message );
void gsb_status_stop_wait ( gboolean force_update );
diff --git a/src/gsb_transactions_list.c b/src/gsb_transactions_list.c
index f020fd9..d5723b5 100644
--- a/src/gsb_transactions_list.c
+++ b/src/gsb_transactions_list.c
@@ -37,6 +37,8 @@
#include "custom_list.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
+#include "grisbi_window.h"
#include "gsb_account.h"
#include "gsb_automem.h"
#include "gsb_data_account.h"
@@ -279,24 +281,29 @@ void gsb_transactions_list_update_tree_view ( gint account_number,
gboolean keep_selected_transaction )
{
gint selected_transaction = 0;
+ GrisbiAppConf *conf;
- /* called sometimes with gsb_gui_navigation_get_current_account, so check we are
+ /* called sometimes with gsb_gui_navigation_get_current_account, so check we are
* on an account */
if ( account_number == -1 )
return;
+ conf = grisbi_app_get_conf ( );
+
if ( keep_selected_transaction )
selected_transaction = transaction_list_select_get ( );
transaction_list_filter ( account_number );
transaction_list_set_balances ( );
transaction_list_sort ();
transaction_list_colorize ();
- if ( conf.show_transaction_gives_balance )
+ if ( conf->show_transaction_gives_balance )
transaction_list_set_color_jour ( account_number );
if ( keep_selected_transaction )
transaction_list_select ( selected_transaction );
else
transaction_list_select ( -1 );
+
+ /* return */
}
@@ -334,12 +341,15 @@ GtkWidget *creation_barre_outils_transaction ( void )
GtkWidget *hbox, *menu, *button;
GtkWidget *alignement;
gint account_number;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* Hbox */
hbox = gtk_hbox_new ( FALSE, 0 );
/* Add various icons */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("New transaction"),
"new-transaction.png",
G_CALLBACK ( new_transaction ),
@@ -348,7 +358,7 @@ GtkWidget *creation_barre_outils_transaction ( void )
_("Blank the form to create a new transaction"));
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_DELETE,
_("Delete"),
G_CALLBACK ( remove_transaction ),
@@ -357,7 +367,7 @@ GtkWidget *creation_barre_outils_transaction ( void )
_("Delete selected transaction"));
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_EDIT,
_("Edit"),
G_CALLBACK ( gsb_transactions_list_edit_current_transaction ),
@@ -366,7 +376,7 @@ GtkWidget *creation_barre_outils_transaction ( void )
_("Edit current transaction"));
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("Reconcile"),
"reconciliation.png",
G_CALLBACK (gsb_reconcile_run_reconciliation),
@@ -376,7 +386,7 @@ GtkWidget *creation_barre_outils_transaction ( void )
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
/* This stuff needs GTK+ 2.10 to work. */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_PRINT,
_("Print"),
G_CALLBACK (print_transactions_list),
@@ -385,7 +395,7 @@ GtkWidget *creation_barre_outils_transaction ( void )
_("Print the transactions list"));
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
- menu = gsb_automem_stock_button_menu_new ( etat.display_toolbar,
+ menu = gsb_automem_stock_button_menu_new ( conf->display_toolbar,
GTK_STOCK_SELECT_COLOR, _("View"),
G_CALLBACK (popup_transaction_view_mode_menu),
NULL );
@@ -393,7 +403,7 @@ GtkWidget *creation_barre_outils_transaction ( void )
_("Change display mode of the list"));
gtk_box_pack_start ( GTK_BOX(hbox), menu, FALSE, FALSE, 0 );
- menu_import_rules = gsb_automem_stock_button_menu_new ( etat.display_toolbar,
+ menu_import_rules = gsb_automem_stock_button_menu_new ( conf->display_toolbar,
GTK_STOCK_EXECUTE, _("Import rules"),
G_CALLBACK (popup_transaction_rules_menu),
NULL );
@@ -404,7 +414,7 @@ GtkWidget *creation_barre_outils_transaction ( void )
alignement = gtk_alignment_new ( 1, 0, 0, 0 );
gtk_box_pack_start ( GTK_BOX ( hbox ), alignement, TRUE, TRUE, 0 );
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("Recreates archive"),
"archive_24.png",
G_CALLBACK ( gsb_transactions_list_hide_transactions_in_archive_line ),
@@ -1647,8 +1657,10 @@ gboolean gsb_transactions_list_key_press ( GtkWidget *widget,
void gsb_transactions_list_selection_changed ( gint new_selected_transaction )
{
gint account_number;
+ GrisbiAppConf *conf;
devel_debug_int (new_selected_transaction);
+ conf = grisbi_app_get_conf ( );
/* the white number has no account number, so we take the current account */
if ( new_selected_transaction != -1 )
@@ -1668,7 +1680,7 @@ void gsb_transactions_list_selection_changed ( gint new_selected_transaction )
/* show the content of the transaction in the form,
* only if the form is shown */
- if ( conf.show_transaction_selected_in_form
+ if ( conf->show_transaction_selected_in_form
&&
gsb_form_is_visible () )
gsb_form_fill_by_transaction (new_selected_transaction, TRUE, FALSE);
@@ -2004,7 +2016,7 @@ gint gsb_transactions_list_choose_reconcile ( gint account_number,
gint reconcile_number;
dialog = gtk_dialog_new_with_buttons ( _("Selection of a reconciliation"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK,
@@ -2191,28 +2203,30 @@ gboolean gsb_transactions_list_delete_transaction ( gint transaction_number,
gchar *tmpstr;
gint account_number;
gint msg_no = 0;
+ GrisbiAppConf *conf;
devel_debug_int (transaction_number);
+ conf = grisbi_app_get_conf ( );
/* we cannot delete the general white line (-1), but all the others white lines are possibles
* if show_warning it FALSE (ie this is automatic, and not done by user action */
if ( !transaction_number
- ||
- transaction_number == -1 )
- return FALSE;
+ ||
+ transaction_number == -1 )
+ return FALSE;
/* if we cannot ask for a white line, so this shouldn't append,
* if we want to delete a child white line, show_warning must be FALSE (force) */
if ( show_warning
- &&
- transaction_number < 0 )
- return FALSE;
+ &&
+ transaction_number < 0 )
+ return FALSE;
/* if the transaction is archived, cannot delete it */
if (gsb_data_transaction_get_archive_number (transaction_number))
{
- dialogue_error ( _("Impossible to delete an archived transaction.") );
- return FALSE;
+ dialogue_error ( _("Impossible to delete an archived transaction.") );
+ return FALSE;
}
account_number = gsb_data_transaction_get_account_number (transaction_number);
@@ -2220,11 +2234,11 @@ gboolean gsb_transactions_list_delete_transaction ( gint transaction_number,
/* check if the transaction is not reconciled */
if ( gsb_transactions_list_check_mark (transaction_number))
{
- dialogue_error ( _("Impossible to delete a reconciled transaction.\nThe transaction, "
- "the contra-transaction or the children if it is a split are "
- "reconciled. You can remove the reconciliation with Ctrl R if "
- "it is really necessary.") );
- return FALSE;
+ dialogue_error ( _("Impossible to delete a reconciled transaction.\nThe transaction, "
+ "the contra-transaction or the children if it is a split are "
+ "reconciled. You can remove the reconciliation with Ctrl R if "
+ "it is really necessary.") );
+ return FALSE;
}
/* show a warning */
@@ -2262,11 +2276,11 @@ gboolean gsb_transactions_list_delete_transaction ( gint transaction_number,
}
/* move the selection */
- if (transaction_list_select_get () == transaction_number)
+ if ( transaction_list_select_get ( ) == transaction_number )
{
- transaction_list_select_down (FALSE);
- gsb_data_account_set_current_transaction_number ( account_number,
- transaction_list_select_get ());
+ transaction_list_select_down ( FALSE );
+ gsb_data_account_set_current_transaction_number ( account_number,
+ transaction_list_select_get ( ) );
}
/* delete the transaction from the tree view,
@@ -2282,14 +2296,15 @@ gboolean gsb_transactions_list_delete_transaction ( gint transaction_number,
/* update the tree view */
transaction_list_colorize ();
- if ( conf.show_transaction_gives_balance )
+ if ( conf->show_transaction_gives_balance )
transaction_list_set_color_jour ( account_number );
+
transaction_list_set_balances ();
transaction_list_select (gsb_data_account_get_current_transaction_number (account_number));
/* if we are reconciling, update the amounts */
if ( run.equilibrage )
- gsb_reconcile_update_amounts (NULL, NULL);
+ gsb_reconcile_update_amounts (NULL, NULL);
/* we will update the home page */
mise_a_jour_liste_comptes_accueil = 1;
@@ -2298,7 +2313,7 @@ gboolean gsb_transactions_list_delete_transaction ( gint transaction_number,
/* We blank form. */
if (show_warning)
- gsb_form_escape_form ();
+ gsb_form_escape_form ();
gsb_file_set_modified ( TRUE );
return TRUE;
@@ -3476,8 +3491,10 @@ gboolean gsb_transactions_list_change_sort_column ( GtkTreeViewColumn *tree_view
GSList *tmp_list;
gint selected_transaction;
gint element_number;
+ GrisbiAppConf *conf;
devel_debug (NULL);
+ conf = grisbi_app_get_conf ( );
account_number = gsb_gui_navigation_get_current_account ();
transaction_list_sort_get_column ( ¤t_column, &sort_type );
@@ -3561,11 +3578,13 @@ gboolean gsb_transactions_list_change_sort_column ( GtkTreeViewColumn *tree_view
transaction_list_set_balances ();
transaction_list_sort ();
transaction_list_colorize ();
- if ( conf.show_transaction_gives_balance )
+ if ( conf->show_transaction_gives_balance )
transaction_list_set_color_jour ( account_number );
transaction_list_select (selected_transaction);
gsb_file_set_modified ( TRUE );
+
+ /* return */
return FALSE;
}
@@ -4279,8 +4298,9 @@ GtkWidget *gsb_transactions_list_get_toolbar ( void )
*/
gboolean change_aspect_liste ( gint demande )
{
- GtkUIManager *ui_manager = gsb_menu_get_ui_manager ( );
+ GtkUIManager *ui_manager;
+ ui_manager = grisbi_window_get_ui_manager ( grisbi_app_get_active_window ( NULL ) );
switch ( demande )
{
case 0:
diff --git a/src/gsb_transactions_list_sort.c b/src/gsb_transactions_list_sort.c
index e345f9d..9bd804f 100644
--- a/src/gsb_transactions_list_sort.c
+++ b/src/gsb_transactions_list_sort.c
@@ -36,6 +36,8 @@
/*START_INCLUDE*/
#include "gsb_transactions_list_sort.h"
+#include "custom_list.h"
+#include "grisbi_app.h"
#include "gsb_data_account.h"
#include "gsb_data_archive_store.h"
#include "gsb_data_budget.h"
@@ -47,7 +49,6 @@
#include "navigation.h"
#include "gsb_real.h"
#include "gsb_transactions_list.h"
-#include "custom_list.h"
#include "structures.h"
#include "erreur.h"
/*END_INCLUDE*/
@@ -510,10 +511,14 @@ gint gsb_transactions_list_sort_by_no ( gint transaction_number_1,
gint gsb_transactions_list_sort_by_date ( gint transaction_number_1,
gint transaction_number_2 )
{
- if ( conf.transactions_list_secondary_sorting == 1 )
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
+ if ( conf->transactions_list_secondary_sorting == 1 )
return gsb_transactions_list_sort_by_date_and_amount (
transaction_number_1, transaction_number_2 );
- else if ( conf.transactions_list_secondary_sorting == 2 )
+ else if ( conf->transactions_list_secondary_sorting == 2 )
return gsb_transactions_list_sort_by_date_and_party (
transaction_number_1, transaction_number_2 );
else
@@ -537,15 +542,18 @@ gint gsb_transactions_list_sort_by_value_date ( gint transaction_number_1,
gint return_value;
const GDate *value_date_1 = NULL;
const GDate *value_date_2 = NULL;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* need to work a little more here because value date is not obligatory filled,
* if we compare 2 transactions and 1 has no value date, set the value date before */
value_date_1 = gsb_data_transaction_get_value_date ( transaction_number_1 );
- if ( !value_date_1 && !conf.transactions_list_primary_sorting )
+ if ( !value_date_1 && !conf->transactions_list_primary_sorting )
value_date_1 = gsb_data_transaction_get_date ( transaction_number_1 );
value_date_2 = gsb_data_transaction_get_value_date ( transaction_number_2 );
- if ( !value_date_2 && !conf.transactions_list_primary_sorting )
+ if ( !value_date_2 && !conf->transactions_list_primary_sorting )
value_date_2 = gsb_data_transaction_get_date ( transaction_number_2 );
if ( value_date_1 )
@@ -1173,13 +1181,17 @@ gint gsb_transactions_list_sort_initial (CustomRecord **a,
gint gsb_transactions_list_sort_initial_by_secondary_key ( gint transaction_number_1,
gint transaction_number_2 )
{
- if ( conf.transactions_list_secondary_sorting == 1 )
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
+ if ( conf->transactions_list_secondary_sorting == 1 )
return gsb_transactions_list_sort_by_amount (
transaction_number_1, transaction_number_2 );
- else if ( conf.transactions_list_secondary_sorting == 2 )
+ else if ( conf->transactions_list_secondary_sorting == 2 )
return gsb_transactions_list_sort_by_party (
transaction_number_1, transaction_number_2 );
- else if ( conf.transactions_list_secondary_sorting == 3 )
+ else if ( conf->transactions_list_secondary_sorting == 3 )
return gsb_transactions_list_sort_by_date_and_no (
transaction_number_1, transaction_number_2 );
else
diff --git a/src/help.c b/src/help.c
index 048bccf..7519bd9 100644
--- a/src/help.c
+++ b/src/help.c
@@ -31,6 +31,7 @@
/*START_INCLUDE*/
#include "help.h"
+#include "grisbi_app.h"
#include "gsb_plugins.h"
#include "gsb_select_icon.h"
#include "structures.h"
@@ -218,7 +219,7 @@ NULL};
gtk_window_set_position ( GTK_WINDOW ( about ), GTK_WIN_POS_CENTER_ON_PARENT );
gtk_window_set_resizable ( GTK_WINDOW ( about ), TRUE );
gtk_window_set_modal ( GTK_WINDOW ( about ), TRUE );
- gtk_window_set_transient_for ( GTK_WINDOW ( about ), GTK_WINDOW ( run.window ) );
+ gtk_window_set_transient_for ( GTK_WINDOW ( about ), GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ) );
g_free ( plugins );
g_free ( version_to_string );
diff --git a/src/import.c b/src/import.c
index a3d57f5..a17c334 100644
--- a/src/import.c
+++ b/src/import.c
@@ -33,20 +33,18 @@
/*START_INCLUDE*/
#include "import.h"
-#include "utils.h"
+#include "accueil.h"
#include "bet_data.h"
-#include "import_csv.h"
#include "dialog.h"
-#include "utils_file_selection.h"
+#include "grisbi_app.h"
#include "gsb_account.h"
#include "gsb_account_property.h"
#include "gsb_assistant.h"
#include "gsb_assistant_file.h"
#include "gsb_automem.h"
-#include "utils_buttons.h"
#include "gsb_combo_box.h"
-#include "gsb_currency_config.h"
#include "gsb_currency.h"
+#include "gsb_currency_config.h"
#include "gsb_data_account.h"
#include "gsb_data_budget.h"
#include "gsb_data_category.h"
@@ -57,31 +55,34 @@
#include "gsb_data_payee.h"
#include "gsb_data_payment.h"
#include "gsb_data_transaction.h"
-#include "utils_dates.h"
+#include "gsb_dirs.h"
#include "gsb_file.h"
#include "gsb_file_util.h"
#include "gsb_form_scheduler.h"
#include "gsb_form_transaction.h"
#include "gsb_form_widget.h"
-#include "navigation.h"
-#include "menu.h"
-#include "tiers_onglet.h"
#include "gsb_real.h"
#include "gsb_status.h"
-#include "utils_str.h"
#include "gsb_transactions_list.h"
#include "gtk_combofix.h"
-#include "traitement_variables.h"
+#include "import_csv.h"
#include "main.h"
-#include "accueil.h"
+#include "menu.h"
+#include "navigation.h"
#include "parametres.h"
#include "qif.h"
+#include "structures.h"
+#include "tiers_onglet.h"
+#include "traitement_variables.h"
#include "transaction_list.h"
+#include "utils.h"
+#include "utils_buttons.h"
+#include "utils_dates.h"
#include "utils_files.h"
+#include "utils_file_selection.h"
#include "utils_real.h"
-#include "structures.h"
+#include "utils_str.h"
#include "erreur.h"
-#include "gsb_dirs.h"
/*END_INCLUDE*/
/*START_STATIC*/
@@ -1421,7 +1422,7 @@ gint gsb_import_add_currency ( struct struct_compte_importation * compte )
g_free ( tmpstr );
g_free ( tmpstr2 );
- dialog = gtk_message_dialog_new ( GTK_WINDOW ( run.window ),
+ dialog = gtk_message_dialog_new ( GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_YES_NO,
@@ -1498,6 +1499,9 @@ void traitement_operations_importees ( void )
{
GSList *list_tmp;
gint new_file;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* when come here, all the currencies are already created
* and init_variables is already called
@@ -1572,7 +1576,7 @@ void traitement_operations_importees ( void )
}
/* MAJ du solde du compte nécessaire suivant date des opérations existantes */
- if ( conf.balances_with_scheduled == FALSE )
+ if ( conf->balances_with_scheduled == FALSE )
gsb_data_account_set_balances_are_dirty ( account_number );
/* MAJ des données du module bet */
gsb_data_account_set_bet_maj ( account_number, BET_MAJ_ALL );
@@ -2264,7 +2268,7 @@ void confirmation_enregistrement_ope_import ( struct struct_compte_importation *
_("Confirmation of importation of transactions in: %s"),
gsb_data_account_get_name ( account_number ) );
dialog = gtk_dialog_new_with_buttons ( tmpstr,
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL,
GTK_STOCK_SELECT_ALL, -12,
_("Unselect all"), -13,
@@ -3236,7 +3240,7 @@ void gsb_import_show_orphan_transactions ( GSList *orphan_list,
gsb_data_account_get_name ( account_number ) );
dialog = gtk_dialog_new_with_buttons ( tmp_str,
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_SELECT_ALL, GTK_RESPONSE_ACCEPT,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
@@ -4370,6 +4374,9 @@ gboolean gsb_import_by_rule ( gint rule )
gint account_number;
gchar **array;
gint i=0;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
charmap_imported = my_strdup ( gsb_data_import_rule_get_charmap ( rule ));
array = gsb_import_by_rule_ask_filename (rule);
@@ -4515,7 +4522,7 @@ gboolean gsb_import_by_rule ( gint rule )
mise_a_jour_accueil (FALSE);
/* MAJ du solde du compte nécessaire suivant date des opérations existantes */
- if ( conf.balances_with_scheduled == FALSE )
+ if ( conf->balances_with_scheduled == FALSE )
gsb_data_account_set_balances_are_dirty ( account_number );
/* force the update module budget */
@@ -4549,7 +4556,7 @@ gchar **gsb_import_by_rule_ask_filename ( gint rule )
return NULL;
dialog = gtk_dialog_new_with_buttons (_("Import a file with a rule"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
@@ -4663,7 +4670,8 @@ gboolean gsb_import_by_rule_get_file ( GtkWidget *button,
rule = GPOINTER_TO_INT ( g_object_get_data (G_OBJECT (entry), "rule"));
enc = gsb_data_import_rule_get_charmap ( rule );
- filenames = gsb_import_create_file_chooser ( enc, run.window );
+ filenames = gsb_import_create_file_chooser ( enc,
+ GTK_WIDGET ( grisbi_app_get_active_window ( NULL ) ) );
if (!filenames)
return FALSE;
@@ -4920,7 +4928,7 @@ GtkWidget *gsb_import_progress_bar_affiche ( struct struct_compte_importation *i
progress = gtk_window_new ( GTK_WINDOW_TOPLEVEL );
gtk_window_set_decorated ( GTK_WINDOW ( progress ), FALSE );
- assistant = g_object_get_data ( G_OBJECT ( run.window ), "assistant" );
+ assistant = g_object_get_data ( G_OBJECT ( grisbi_app_get_active_window ( NULL ) ), "assistant" );
gtk_window_set_modal ( GTK_WINDOW ( assistant ), FALSE );
gtk_window_set_transient_for ( GTK_WINDOW ( progress ), GTK_WINDOW ( assistant ) );
gtk_window_set_modal ( GTK_WINDOW ( progress ), TRUE );
diff --git a/src/imputation_budgetaire.c b/src/imputation_budgetaire.c
index 80061b4..0ae5ec4 100644
--- a/src/imputation_budgetaire.c
+++ b/src/imputation_budgetaire.c
@@ -34,6 +34,7 @@
#include "imputation_budgetaire.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_autofunc.h"
#include "gsb_automem.h"
#include "gsb_data_budget.h"
@@ -53,6 +54,7 @@
#include "utils.h"
#include "utils_buttons.h"
#include "utils_file_selection.h"
+#include "utils_gtkbuilder.h"
#include "utils_str.h"
#include "erreur.h"
/*END_INCLUDE*/
@@ -60,10 +62,10 @@
/*START_STATIC*/
static void appui_sur_ajout_imputation ( GtkTreeModel * model, GtkButton *button );
static gboolean budgetary_line_drag_data_get ( GtkTreeDragSource * drag_source, GtkTreePath * path,
- GtkSelectionData * selection_data );
+ GtkSelectionData * selection_data );
static gboolean budgetary_line_list_button_press ( GtkWidget *tree_view,
- GdkEventButton *ev,
- gpointer null );
+ GdkEventButton *ev,
+ gpointer null );
static void budgetary_line_list_popup_context_menu ( void );
static gboolean edit_budgetary_line ( GtkTreeView * view );
static void exporter_ib ( void );
@@ -98,149 +100,149 @@ static struct metatree_hold_position *budgetary_hold_position;
*/
GtkWidget *budgetary_lines_create_list ( void )
{
- GtkWidget *scroll_window;
- GtkWidget *vbox;
- GtkTreeViewColumn *column;
- GtkCellRenderer *cell;
- GtkTreeDragDestIface * dst_iface;
- GtkTreeDragSourceIface * src_iface;
- static GtkTargetEntry row_targets[] = {
- { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, 0 }
- };
-
- /* We create the gtktreeview and model early so that they can be referenced. */
- budgetary_line_tree = gtk_tree_view_new();
-
- /* set the color of selected row */
- utils_set_tree_view_selection_and_text_color ( budgetary_line_tree );
-
- budgetary_line_tree_model = gtk_tree_store_new ( META_TREE_NUM_COLUMNS,
- META_TREE_COLUMN_TYPES );
-
- /* We create the main vbox */
- vbox = gtk_vbox_new ( FALSE, 5 );
- gtk_widget_show ( vbox );
-
- /* on y ajoute la barre d'outils */
- budgetary_toolbar = gtk_handle_box_new ( );
- gtk_widget_show ( budgetary_toolbar );
- gtk_box_pack_start ( GTK_BOX ( vbox ), budgetary_toolbar, FALSE, FALSE, 0 );
-
- /* création de l'arbre principal */
- scroll_window = gtk_scrolled_window_new ( NULL, NULL );
- gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scroll_window ),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC );
- gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW(scroll_window),
- GTK_SHADOW_IN );
- gtk_box_pack_start ( GTK_BOX ( vbox ), scroll_window, TRUE, TRUE, 0 );
- gtk_widget_show ( scroll_window );
-
- /* Create model */
- gtk_tree_sortable_set_sort_column_id ( GTK_TREE_SORTABLE(budgetary_line_tree_model),
- META_TREE_TEXT_COLUMN, GTK_SORT_ASCENDING );
- gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE(budgetary_line_tree_model),
- META_TREE_TEXT_COLUMN, metatree_sort_column,
- NULL, NULL );
- g_object_set_data ( G_OBJECT ( budgetary_line_tree_model), "metatree-interface",
- budgetary_line_get_metatree_interface ( ) );
-
- /* Create container + TreeView */
- gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (budgetary_line_tree), TRUE);
- gtk_tree_view_enable_model_drag_source(GTK_TREE_VIEW(budgetary_line_tree),
- GDK_BUTTON1_MASK, row_targets, 1,
- GDK_ACTION_MOVE | GDK_ACTION_COPY );
- gtk_tree_view_enable_model_drag_dest ( GTK_TREE_VIEW(budgetary_line_tree), row_targets,
- 1, GDK_ACTION_MOVE | GDK_ACTION_COPY );
- gtk_tree_view_set_reorderable (GTK_TREE_VIEW(budgetary_line_tree), TRUE);
- gtk_tree_selection_set_mode ( gtk_tree_view_get_selection ( GTK_TREE_VIEW(budgetary_line_tree)),
- GTK_SELECTION_SINGLE );
- gtk_tree_view_set_model (GTK_TREE_VIEW (budgetary_line_tree),
- GTK_TREE_MODEL (budgetary_line_tree_model));
- g_object_unref ( G_OBJECT(budgetary_line_tree_model));
- g_object_set_data ( G_OBJECT(budgetary_line_tree_model), "tree-view",
+ GtkWidget *scroll_window;
+ GtkWidget *vbox;
+ GtkTreeViewColumn *column;
+ GtkCellRenderer *cell;
+ GtkTreeDragDestIface * dst_iface;
+ GtkTreeDragSourceIface * src_iface;
+ static GtkTargetEntry row_targets[] = {
+ { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, 0 }
+ };
+
+ /* We create the gtktreeview and model early so that they can be referenced. */
+ budgetary_line_tree = gtk_tree_view_new();
+
+ /* set the color of selected row */
+ utils_set_tree_view_selection_and_text_color ( budgetary_line_tree );
+
+ budgetary_line_tree_model = gtk_tree_store_new ( META_TREE_NUM_COLUMNS,
+ META_TREE_COLUMN_TYPES );
+
+ /* We create the main vbox */
+ vbox = gtk_vbox_new ( FALSE, 5 );
+ gtk_widget_show ( vbox );
+
+ /* on y ajoute la barre d'outils */
+ budgetary_toolbar = gtk_handle_box_new ( );
+ gtk_widget_show ( budgetary_toolbar );
+ gtk_box_pack_start ( GTK_BOX ( vbox ), budgetary_toolbar, FALSE, FALSE, 0 );
+
+ /* création de l'arbre principal */
+ scroll_window = gtk_scrolled_window_new ( NULL, NULL );
+ gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scroll_window ),
+ GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC );
+ gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW(scroll_window),
+ GTK_SHADOW_IN );
+ gtk_box_pack_start ( GTK_BOX ( vbox ), scroll_window, TRUE, TRUE, 0 );
+ gtk_widget_show ( scroll_window );
+
+ /* Create model */
+ gtk_tree_sortable_set_sort_column_id ( GTK_TREE_SORTABLE(budgetary_line_tree_model),
+ META_TREE_TEXT_COLUMN, GTK_SORT_ASCENDING );
+ gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE(budgetary_line_tree_model),
+ META_TREE_TEXT_COLUMN, metatree_sort_column,
+ NULL, NULL );
+ g_object_set_data ( G_OBJECT ( budgetary_line_tree_model), "metatree-interface",
+ budgetary_line_get_metatree_interface ( ) );
+
+ /* Create container + TreeView */
+ gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (budgetary_line_tree), TRUE);
+ gtk_tree_view_enable_model_drag_source(GTK_TREE_VIEW(budgetary_line_tree),
+ GDK_BUTTON1_MASK, row_targets, 1,
+ GDK_ACTION_MOVE | GDK_ACTION_COPY );
+ gtk_tree_view_enable_model_drag_dest ( GTK_TREE_VIEW(budgetary_line_tree), row_targets,
+ 1, GDK_ACTION_MOVE | GDK_ACTION_COPY );
+ gtk_tree_view_set_reorderable (GTK_TREE_VIEW(budgetary_line_tree), TRUE);
+ gtk_tree_selection_set_mode ( gtk_tree_view_get_selection ( GTK_TREE_VIEW(budgetary_line_tree)),
+ GTK_SELECTION_SINGLE );
+ gtk_tree_view_set_model (GTK_TREE_VIEW (budgetary_line_tree),
+ GTK_TREE_MODEL (budgetary_line_tree_model));
+ g_object_unref ( G_OBJECT(budgetary_line_tree_model));
+ g_object_set_data ( G_OBJECT(budgetary_line_tree_model), "tree-view",
budgetary_line_tree );
- /* Make category column */
- cell = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes (_("Budgetary line"), cell,
- "text", META_TREE_TEXT_COLUMN,
- "weight", META_TREE_FONT_COLUMN,
- "cell-background-gdk", META_TREE_BACKGROUND_COLOR,
- NULL);
- gtk_tree_view_append_column ( GTK_TREE_VIEW ( budgetary_line_tree ),
- GTK_TREE_VIEW_COLUMN ( column ) );
-
- /* Make account column */
- cell = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes (_("Account"), cell,
- "text", META_TREE_ACCOUNT_COLUMN,
- "weight", META_TREE_FONT_COLUMN,
- "cell-background-gdk", META_TREE_BACKGROUND_COLOR,
- NULL);
- gtk_tree_view_append_column ( GTK_TREE_VIEW ( budgetary_line_tree ),
- GTK_TREE_VIEW_COLUMN ( column ) );
-
- /* Make amount column */
- cell = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes (_("Amount"), cell,
- "text", META_TREE_BALANCE_COLUMN,
- "weight", META_TREE_FONT_COLUMN,
- "xalign", META_TREE_XALIGN_COLUMN,
- "cell-background-gdk", META_TREE_BACKGROUND_COLOR,
- NULL);
- gtk_tree_view_column_set_alignment ( column, 1.0 );
- gtk_tree_view_append_column ( GTK_TREE_VIEW ( budgetary_line_tree ),
- GTK_TREE_VIEW_COLUMN ( column ) );
-
- gtk_container_add ( GTK_CONTAINER ( scroll_window ), budgetary_line_tree );
- gtk_widget_show ( budgetary_line_tree );
-
- /* Connect to signals */
- g_signal_connect ( G_OBJECT ( budgetary_line_tree ),
- "row-collapsed",
- G_CALLBACK ( division_column_collapsed ),
- NULL );
-
- g_signal_connect ( G_OBJECT ( budgetary_line_tree ),
- "row-expanded",
- G_CALLBACK ( division_column_expanded ),
- NULL );
-
- g_signal_connect( G_OBJECT ( budgetary_line_tree ),
- "row-activated",
- G_CALLBACK ( division_activated ),
- NULL );
-
- g_signal_connect ( G_OBJECT ( budgetary_line_tree ),
- "button-press-event",
- G_CALLBACK ( budgetary_line_list_button_press ),
- NULL );
-
- dst_iface = GTK_TREE_DRAG_DEST_GET_IFACE (budgetary_line_tree_model);
- if ( dst_iface )
- {
- dst_iface -> drag_data_received = &division_drag_data_received;
- dst_iface -> row_drop_possible = &division_row_drop_possible;
- }
-
- src_iface = GTK_TREE_DRAG_SOURCE_GET_IFACE (budgetary_line_tree_model);
- if ( src_iface )
- {
- gtk_selection_add_target (budgetary_line_tree,
- GDK_SELECTION_PRIMARY,
- GDK_SELECTION_TYPE_ATOM,
- 1);
- src_iface -> drag_data_get = &budgetary_line_drag_data_get;
- }
-
- g_signal_connect ( gtk_tree_view_get_selection ( GTK_TREE_VIEW(budgetary_line_tree)),
- "changed", G_CALLBACK(metatree_selection_changed),
- budgetary_line_tree_model );
-
- /* création de la structure de sauvegarde de la position */
- budgetary_hold_position = g_malloc0 ( sizeof ( struct metatree_hold_position ) );
-
- return ( vbox );
+ /* Make category column */
+ cell = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes (_("Budgetary line"), cell,
+ "text", META_TREE_TEXT_COLUMN,
+ "weight", META_TREE_FONT_COLUMN,
+ "cell-background-gdk", META_TREE_BACKGROUND_COLOR,
+ NULL);
+ gtk_tree_view_append_column ( GTK_TREE_VIEW ( budgetary_line_tree ),
+ GTK_TREE_VIEW_COLUMN ( column ) );
+
+ /* Make account column */
+ cell = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes (_("Account"), cell,
+ "text", META_TREE_ACCOUNT_COLUMN,
+ "weight", META_TREE_FONT_COLUMN,
+ "cell-background-gdk", META_TREE_BACKGROUND_COLOR,
+ NULL);
+ gtk_tree_view_append_column ( GTK_TREE_VIEW ( budgetary_line_tree ),
+ GTK_TREE_VIEW_COLUMN ( column ) );
+
+ /* Make amount column */
+ cell = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes (_("Amount"), cell,
+ "text", META_TREE_BALANCE_COLUMN,
+ "weight", META_TREE_FONT_COLUMN,
+ "xalign", META_TREE_XALIGN_COLUMN,
+ "cell-background-gdk", META_TREE_BACKGROUND_COLOR,
+ NULL);
+ gtk_tree_view_column_set_alignment ( column, 1.0 );
+ gtk_tree_view_append_column ( GTK_TREE_VIEW ( budgetary_line_tree ),
+ GTK_TREE_VIEW_COLUMN ( column ) );
+
+ gtk_container_add ( GTK_CONTAINER ( scroll_window ), budgetary_line_tree );
+ gtk_widget_show ( budgetary_line_tree );
+
+ /* Connect to signals */
+ g_signal_connect ( G_OBJECT ( budgetary_line_tree ),
+ "row-collapsed",
+ G_CALLBACK ( division_column_collapsed ),
+ NULL );
+
+ g_signal_connect ( G_OBJECT ( budgetary_line_tree ),
+ "row-expanded",
+ G_CALLBACK ( division_column_expanded ),
+ NULL );
+
+ g_signal_connect( G_OBJECT ( budgetary_line_tree ),
+ "row-activated",
+ G_CALLBACK ( division_activated ),
+ NULL );
+
+ g_signal_connect ( G_OBJECT ( budgetary_line_tree ),
+ "button-press-event",
+ G_CALLBACK ( budgetary_line_list_button_press ),
+ NULL );
+
+ dst_iface = GTK_TREE_DRAG_DEST_GET_IFACE (budgetary_line_tree_model);
+ if ( dst_iface )
+ {
+ dst_iface -> drag_data_received = &division_drag_data_received;
+ dst_iface -> row_drop_possible = &division_row_drop_possible;
+ }
+
+ src_iface = GTK_TREE_DRAG_SOURCE_GET_IFACE (budgetary_line_tree_model);
+ if ( src_iface )
+ {
+ gtk_selection_add_target (budgetary_line_tree,
+ GDK_SELECTION_PRIMARY,
+ GDK_SELECTION_TYPE_ATOM,
+ 1);
+ src_iface -> drag_data_get = &budgetary_line_drag_data_get;
+ }
+
+ g_signal_connect ( gtk_tree_view_get_selection ( GTK_TREE_VIEW(budgetary_line_tree)),
+ "changed", G_CALLBACK(metatree_selection_changed),
+ budgetary_line_tree_model );
+
+ /* création de la structure de sauvegarde de la position */
+ budgetary_hold_position = g_malloc0 ( sizeof ( struct metatree_hold_position ) );
+
+ return ( vbox );
}
/* **************************************************************************************************** */
@@ -254,107 +256,107 @@ GtkWidget *budgetary_lines_create_list ( void )
* */
void budgetary_lines_fill_list ( void )
{
- GSList *budget_list;
- GtkTreeIter iter_budgetary_line, iter_sub_budgetary_line;
- GtkTreeSelection *selection;
+ GSList *budget_list;
+ GtkTreeIter iter_budgetary_line, iter_sub_budgetary_line;
+ GtkTreeSelection *selection;
- devel_debug (NULL);
+ devel_debug (NULL);
- /** First, remove previous tree */
- gtk_tree_store_clear ( GTK_TREE_STORE (budgetary_line_tree_model));
+ /** First, remove previous tree */
+ gtk_tree_store_clear ( GTK_TREE_STORE (budgetary_line_tree_model));
- /* Compute budget balances. */
- gsb_data_budget_update_counters ();
+ /* Compute budget balances. */
+ gsb_data_budget_update_counters ();
- /** Then, populate tree with budgetary lines. */
- budget_list = gsb_data_budget_get_budgets_list ();
+ /** Then, populate tree with budgetary lines. */
+ budget_list = gsb_data_budget_get_budgets_list ();
+
+ /* add first the empty budget */
+ budget_list = g_slist_prepend ( budget_list,
+ gsb_data_budget_get_empty_budget ());
- /* add first the empty budget */
- budget_list = g_slist_prepend ( budget_list,
- gsb_data_budget_get_empty_budget ());
+ while ( budget_list )
+ {
+ gint budget_number;
- while ( budget_list )
- {
- gint budget_number;
-
- budget_number = gsb_data_budget_get_no_budget (budget_list -> data);
-
- gtk_tree_store_append ( GTK_TREE_STORE ( budgetary_line_tree_model ), &iter_budgetary_line, NULL);
- fill_division_row ( GTK_TREE_MODEL ( budgetary_line_tree_model ),
- budgetary_line_get_metatree_interface ( ),
- &iter_budgetary_line,
- budget_number );
-
- /** Each budget has sub budgetary lines. */
- if ( budget_number )
- {
- GSList *sub_budget_list;
-
- sub_budget_list = gsb_data_budget_get_sub_budget_list ( budget_number );
-
- while ( sub_budget_list )
- {
- gint sub_budget_number;
-
- sub_budget_number = gsb_data_budget_get_no_sub_budget (sub_budget_list -> data);
-
- gtk_tree_store_append ( GTK_TREE_STORE (budgetary_line_tree_model),
- &iter_sub_budgetary_line, &iter_budgetary_line);
- fill_sub_division_row ( GTK_TREE_MODEL ( budgetary_line_tree_model ),
- budgetary_line_get_metatree_interface ( ),
- &iter_sub_budgetary_line,
- budget_number,
- sub_budget_number );
-
- sub_budget_list = sub_budget_list -> next;
- }
- }
-
- /* add the no-sub-budget only if budget exists */
- if (budget_number)
- {
- gtk_tree_store_append ( GTK_TREE_STORE ( budgetary_line_tree_model ),
- &iter_sub_budgetary_line,
- &iter_budgetary_line );
- fill_sub_division_row ( GTK_TREE_MODEL(budgetary_line_tree_model),
- budgetary_line_get_metatree_interface ( ),
- &iter_sub_budgetary_line,
- budget_number,
- 0 );
- }
- budget_list = budget_list -> next;
- }
- /* replace le curseur sur la division, sub_division ou opération initiale */
- if ( budgetary_hold_position -> path )
+ budget_number = gsb_data_budget_get_no_budget (budget_list -> data);
+
+ gtk_tree_store_append ( GTK_TREE_STORE ( budgetary_line_tree_model ), &iter_budgetary_line, NULL);
+ fill_division_row ( GTK_TREE_MODEL ( budgetary_line_tree_model ),
+ budgetary_line_get_metatree_interface ( ),
+ &iter_budgetary_line,
+ budget_number );
+
+ /** Each budget has sub budgetary lines. */
+ if ( budget_number )
{
- if ( budgetary_hold_position -> expand )
- {
- GtkTreePath *ancestor;
-
- ancestor = gtk_tree_path_copy ( budgetary_hold_position -> path );
- gtk_tree_path_up ( ancestor );
- gtk_tree_view_expand_to_path ( GTK_TREE_VIEW ( budgetary_line_tree ), ancestor );
- gtk_tree_path_free (ancestor );
- }
- /* on colorise les lignes du tree_view */
- utils_set_tree_view_background_color ( budgetary_line_tree, META_TREE_BACKGROUND_COLOR );
- selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( budgetary_line_tree ) );
- gtk_tree_selection_select_path ( selection, budgetary_hold_position -> path );
- gtk_tree_view_scroll_to_cell ( GTK_TREE_VIEW ( budgetary_line_tree ),
- budgetary_hold_position -> path,
- NULL, TRUE, 0.5, 0.5 );
+ GSList *sub_budget_list;
+
+ sub_budget_list = gsb_data_budget_get_sub_budget_list ( budget_number );
+
+ while ( sub_budget_list )
+ {
+ gint sub_budget_number;
+
+ sub_budget_number = gsb_data_budget_get_no_sub_budget (sub_budget_list -> data);
+
+ gtk_tree_store_append ( GTK_TREE_STORE (budgetary_line_tree_model),
+ &iter_sub_budgetary_line, &iter_budgetary_line);
+ fill_sub_division_row ( GTK_TREE_MODEL ( budgetary_line_tree_model ),
+ budgetary_line_get_metatree_interface ( ),
+ &iter_sub_budgetary_line,
+ budget_number,
+ sub_budget_number );
+
+ sub_budget_list = sub_budget_list -> next;
+ }
}
- else
+
+ /* add the no-sub-budget only if budget exists */
+ if (budget_number)
{
- gchar *title;
-
- /* on colorise les lignes du tree_view */
- utils_set_tree_view_background_color ( budgetary_line_tree, META_TREE_BACKGROUND_COLOR );
- title = g_strdup(_("Budgetary lines"));
- gsb_gui_headings_update_title ( title );
- g_free ( title );
- gsb_gui_headings_update_suffix ( "" );
+ gtk_tree_store_append ( GTK_TREE_STORE ( budgetary_line_tree_model ),
+ &iter_sub_budgetary_line,
+ &iter_budgetary_line );
+ fill_sub_division_row ( GTK_TREE_MODEL(budgetary_line_tree_model),
+ budgetary_line_get_metatree_interface ( ),
+ &iter_sub_budgetary_line,
+ budget_number,
+ 0 );
}
+ budget_list = budget_list -> next;
+ }
+ /* replace le curseur sur la division, sub_division ou opération initiale */
+ if ( budgetary_hold_position -> path )
+ {
+ if ( budgetary_hold_position -> expand )
+ {
+ GtkTreePath *ancestor;
+
+ ancestor = gtk_tree_path_copy ( budgetary_hold_position -> path );
+ gtk_tree_path_up ( ancestor );
+ gtk_tree_view_expand_to_path ( GTK_TREE_VIEW ( budgetary_line_tree ), ancestor );
+ gtk_tree_path_free (ancestor );
+ }
+ /* on colorise les lignes du tree_view */
+ utils_set_tree_view_background_color ( budgetary_line_tree, META_TREE_BACKGROUND_COLOR );
+ selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( budgetary_line_tree ) );
+ gtk_tree_selection_select_path ( selection, budgetary_hold_position -> path );
+ gtk_tree_view_scroll_to_cell ( GTK_TREE_VIEW ( budgetary_line_tree ),
+ budgetary_hold_position -> path,
+ NULL, TRUE, 0.5, 0.5 );
+ }
+ else
+ {
+ gchar *title;
+
+ /* on colorise les lignes du tree_view */
+ utils_set_tree_view_background_color ( budgetary_line_tree, META_TREE_BACKGROUND_COLOR );
+ title = g_strdup(_("Budgetary lines"));
+ gsb_gui_headings_update_title ( title );
+ g_free ( title );
+ gsb_gui_headings_update_suffix ( "" );
+ }
}
@@ -371,15 +373,15 @@ void budgetary_lines_fill_list ( void )
* \return FALSE, to allow future processing by the callback chain.
*/
gboolean budgetary_line_drag_data_get ( GtkTreeDragSource * drag_source, GtkTreePath * path,
- GtkSelectionData * selection_data )
+ GtkSelectionData * selection_data )
{
- if ( path )
- {
- gtk_tree_set_row_drag_data (selection_data,
- GTK_TREE_MODEL(budgetary_line_tree_model), path);
- }
+ if ( path )
+ {
+ gtk_tree_set_row_drag_data (selection_data,
+ GTK_TREE_MODEL(budgetary_line_tree_model), path);
+ }
- return FALSE;
+ return FALSE;
}
@@ -392,12 +394,12 @@ gboolean budgetary_line_drag_data_get ( GtkTreeDragSource * drag_source, GtkTree
* */
gboolean gsb_budget_update_combofix ( gboolean force )
{
- if ( gsb_data_form_check_for_value ( TRANSACTION_FORM_BUDGET ) || force )
- gtk_combofix_set_list ( GTK_COMBOFIX ( gsb_form_widget_get_widget (
- TRANSACTION_FORM_BUDGET ) ),
- gsb_data_budget_get_name_list ( TRUE, TRUE ) );
+ if ( gsb_data_form_check_for_value ( TRANSACTION_FORM_BUDGET ) || force )
+ gtk_combofix_set_list ( GTK_COMBOFIX ( gsb_form_widget_get_widget (
+ TRANSACTION_FORM_BUDGET ) ),
+ gsb_data_budget_get_name_list ( TRUE, TRUE ) );
- return FALSE;
+ return FALSE;
}
@@ -407,45 +409,45 @@ gboolean gsb_budget_update_combofix ( gboolean force )
*/
void budgetary_lines_exporter_list ( void )
{
- GtkWidget *dialog;
- gint resultat;
- gchar *nom_ib;
-
- dialog = gtk_file_chooser_dialog_new ( _("Export the budgetary lines"),
- GTK_WINDOW ( run.window ),
- GTK_FILE_CHOOSER_ACTION_SAVE,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_SAVE, GTK_RESPONSE_OK,
- NULL);
-
- gtk_file_chooser_set_current_name ( GTK_FILE_CHOOSER ( dialog ), _("Budgetary-lines.igsb"));
- gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( dialog ), gsb_file_get_last_path () );
- gtk_file_chooser_set_do_overwrite_confirmation ( GTK_FILE_CHOOSER ( dialog ), TRUE);
- gtk_window_set_position ( GTK_WINDOW ( dialog ), GTK_WIN_POS_CENTER_ON_PARENT );
-
- resultat = gtk_dialog_run ( GTK_DIALOG ( dialog ));
-
- switch ( resultat )
- {
+ GtkWidget *dialog;
+ gint resultat;
+ gchar *nom_ib;
+
+ dialog = gtk_file_chooser_dialog_new ( _("Export the budgetary lines"),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
+ GTK_FILE_CHOOSER_ACTION_SAVE,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_SAVE, GTK_RESPONSE_OK,
+ NULL);
+
+ gtk_file_chooser_set_current_name ( GTK_FILE_CHOOSER ( dialog ), _("Budgetary-lines.igsb"));
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( dialog ), gsb_file_get_last_path () );
+ gtk_file_chooser_set_do_overwrite_confirmation ( GTK_FILE_CHOOSER ( dialog ), TRUE);
+ gtk_window_set_position ( GTK_WINDOW ( dialog ), GTK_WIN_POS_CENTER_ON_PARENT );
+
+ resultat = gtk_dialog_run ( GTK_DIALOG ( dialog ));
+
+ switch ( resultat )
+ {
case GTK_RESPONSE_OK :
- nom_ib = file_selection_get_filename ( GTK_FILE_CHOOSER ( dialog ));
- gsb_file_update_last_path (file_selection_get_last_directory (GTK_FILE_CHOOSER (dialog), TRUE));
- gtk_widget_destroy ( GTK_WIDGET ( dialog ));
+ nom_ib = file_selection_get_filename ( GTK_FILE_CHOOSER ( dialog ));
+ gsb_file_update_last_path (file_selection_get_last_directory (GTK_FILE_CHOOSER (dialog), TRUE));
+ gtk_widget_destroy ( GTK_WIDGET ( dialog ));
- /* vérification que c'est possible est faite par la boite de dialogue */
+ /* vérification que c'est possible est faite par la boite de dialogue */
- if ( !gsb_file_others_save_budget ( nom_ib ))
- {
- dialogue_error ( _("Cannot save file.") );
- return;
- }
+ if ( !gsb_file_others_save_budget ( nom_ib ))
+ {
+ dialogue_error ( _("Cannot save file.") );
+ return;
+ }
- break;
+ break;
default :
- gtk_widget_destroy ( GTK_WIDGET ( dialog ));
- return;
- }
+ gtk_widget_destroy ( GTK_WIDGET ( dialog ));
+ return;
+ }
}
/* **************************************************************************************************** */
@@ -454,92 +456,92 @@ void budgetary_lines_exporter_list ( void )
/* **************************************************************************************************** */
void budgetary_lines_importer_list ( void )
{
- GtkWidget *dialog;
- gint resultat;
- gchar *budget_name;
- gint last_transaction_number;
- GtkFileFilter * filter;
-
- dialog = gtk_file_chooser_dialog_new ( _("Import budgetary lines"),
- GTK_WINDOW ( run.window ),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_OK,
- NULL);
-
- gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( dialog ), gsb_file_get_last_path () );
- gtk_window_set_position ( GTK_WINDOW ( dialog ), GTK_WIN_POS_CENTER_ON_PARENT );
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name ( filter, _("Grisbi budgetary lines files (*.igsb)") );
- gtk_file_filter_add_pattern ( filter, "*.igsb" );
- gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER ( dialog ), filter );
- gtk_file_chooser_set_filter ( GTK_FILE_CHOOSER ( dialog ), filter );
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name ( filter, _("Grisbi category files (*.cgsb)") );
- gtk_file_filter_add_pattern ( filter, "*.cgsb" );
- gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER ( dialog ), filter );
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name ( filter, _("All files") );
- gtk_file_filter_add_pattern ( filter, "*" );
- gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER ( dialog ), filter );
-
- resultat = gtk_dialog_run ( GTK_DIALOG ( dialog ));
-
- if ( resultat != GTK_RESPONSE_OK )
- {
- gtk_widget_destroy ( dialog );
- return;
- }
-
- budget_name = file_selection_get_filename ( GTK_FILE_CHOOSER ( dialog ));
- gsb_file_update_last_path (file_selection_get_last_directory (GTK_FILE_CHOOSER (dialog), TRUE));
- gtk_widget_destroy ( GTK_WIDGET ( dialog ));
-
- last_transaction_number = gsb_data_transaction_get_last_number();
-
- /* on permet de remplacer/fusionner la liste */
-
- dialog = dialogue_special_no_run ( GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE,
- make_hint ( _("Merge imported budgetary lines with existing?"),
- ( last_transaction_number ?
- _("File already contains budgetary lines. If you decide to continue, existing budgetary lines will be merged with imported ones.") :
- _("File does not contain budgetary lines. "
- "If you decide to continue, existing budgetary lines will be merged with imported ones. "
- "Once performed, there is no undo for this.\n"
- "You may also decide to replace existing budgetary lines with imported ones." ) ) ) );
-
- if ( !last_transaction_number)
- gtk_dialog_add_buttons ( GTK_DIALOG(dialog),
- _("Replace existing"), 2,
- NULL );
-
+ GtkWidget *dialog;
+ gint resultat;
+ gchar *budget_name;
+ gint last_transaction_number;
+ GtkFileFilter * filter;
+
+ dialog = gtk_file_chooser_dialog_new ( _("Import budgetary lines"),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_OK,
+ NULL);
+
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( dialog ), gsb_file_get_last_path () );
+ gtk_window_set_position ( GTK_WINDOW ( dialog ), GTK_WIN_POS_CENTER_ON_PARENT );
+
+ filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name ( filter, _("Grisbi budgetary lines files (*.igsb)") );
+ gtk_file_filter_add_pattern ( filter, "*.igsb" );
+ gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER ( dialog ), filter );
+ gtk_file_chooser_set_filter ( GTK_FILE_CHOOSER ( dialog ), filter );
+
+ filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name ( filter, _("Grisbi category files (*.cgsb)") );
+ gtk_file_filter_add_pattern ( filter, "*.cgsb" );
+ gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER ( dialog ), filter );
+
+ filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name ( filter, _("All files") );
+ gtk_file_filter_add_pattern ( filter, "*" );
+ gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER ( dialog ), filter );
+
+ resultat = gtk_dialog_run ( GTK_DIALOG ( dialog ));
+
+ if ( resultat != GTK_RESPONSE_OK )
+ {
+ gtk_widget_destroy ( dialog );
+ return;
+ }
+
+ budget_name = file_selection_get_filename ( GTK_FILE_CHOOSER ( dialog ));
+ gsb_file_update_last_path (file_selection_get_last_directory (GTK_FILE_CHOOSER (dialog), TRUE));
+ gtk_widget_destroy ( GTK_WIDGET ( dialog ));
+
+ last_transaction_number = gsb_data_transaction_get_last_number();
+
+ /* on permet de remplacer/fusionner la liste */
+
+ dialog = dialogue_special_no_run ( GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE,
+ make_hint ( _("Merge imported budgetary lines with existing?"),
+ ( last_transaction_number ?
+ _("File already contains budgetary lines. If you decide to continue, existing budgetary lines will be merged with imported ones.") :
+ _("File does not contain budgetary lines. "
+ "If you decide to continue, existing budgetary lines will be merged with imported ones. "
+ "Once performed, there is no undo for this.\n"
+ "You may also decide to replace existing budgetary lines with imported ones." ) ) ) );
+
+ if ( !last_transaction_number)
gtk_dialog_add_buttons ( GTK_DIALOG(dialog),
- GTK_STOCK_CANCEL, 0,
- GTK_STOCK_OK, 1,
- NULL );
-
- resultat = gtk_dialog_run ( GTK_DIALOG ( dialog ));
- gtk_widget_destroy ( GTK_WIDGET ( dialog ));
-
- switch ( resultat )
- {
- case 2 :
- /* we want to replace the list */
- if ( !last_transaction_number )
- gsb_data_budget_init_variables ();
-
- case 1 :
- if ( g_str_has_suffix ( budget_name, ".cgsb" ) )
- gsb_file_others_load_budget_from_category ( budget_name );
- else
- gsb_file_others_load_budget ( budget_name );
- break;
+ _("Replace existing"), 2,
+ NULL );
+
+ gtk_dialog_add_buttons ( GTK_DIALOG(dialog),
+ GTK_STOCK_CANCEL, 0,
+ GTK_STOCK_OK, 1,
+ NULL );
+
+ resultat = gtk_dialog_run ( GTK_DIALOG ( dialog ));
+ gtk_widget_destroy ( GTK_WIDGET ( dialog ));
+
+ switch ( resultat )
+ {
+ case 2 :
+ /* we want to replace the list */
+ if ( !last_transaction_number )
+ gsb_data_budget_init_variables ();
+
+ case 1 :
+ if ( g_str_has_suffix ( budget_name, ".cgsb" ) )
+ gsb_file_others_load_budget_from_category ( budget_name );
+ else
+ gsb_file_others_load_budget ( budget_name );
+ break;
default :
- return;
- }
+ return;
+ }
}
@@ -553,92 +555,95 @@ void budgetary_lines_importer_list ( void )
*/
GtkWidget *creation_barre_outils_ib ( void )
{
- GtkWidget *hbox, *button;
-
- /* Hbox */
- hbox = gtk_hbox_new ( FALSE, 0 );
-
- /* New budgetary line button */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
- _("New\nbudgetary line"), "new-ib.png",
- G_CALLBACK ( appui_sur_ajout_imputation ),
- budgetary_line_tree_model );
-
- gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ), _("Create a new budgetary line") );
- gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
- g_object_set_data ( G_OBJECT ( button ), "type", GINT_TO_POINTER (1) );
-
- /* New sub budgetary line button */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
- _("New sub\nbudgetary line"),
- "new-sub-ib.png",
- G_CALLBACK ( appui_sur_ajout_imputation ),
- budgetary_line_tree_model );
- metatree_register_widget_as_linked ( GTK_TREE_MODEL ( budgetary_line_tree_model ), button, "selection" );
- metatree_register_widget_as_linked ( GTK_TREE_MODEL ( budgetary_line_tree_model ), button, "sub-division" );
-
- gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ), _("Create a new sub-budgetary line") );
- gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
- g_object_set_data ( G_OBJECT ( button ), "type", GINT_TO_POINTER (2) );
-
- /* Import button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
- GTK_STOCK_OPEN,
- _("Import"),
- G_CALLBACK ( budgetary_lines_importer_list ),
- NULL );
-
- gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ),
- _("Import a Grisbi budgetary line file (.igsb)"
- " or create from a list of categories (.cgsb)" ) );
- gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
-
- /* Export button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
- GTK_STOCK_SAVE,
- _("Export"),
- G_CALLBACK ( budgetary_lines_exporter_list ),
- NULL );
-
- gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ),
- _("Export a Grisbi budgetary line file (.igsb)") );
- gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
-
- /* Delete button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
- GTK_STOCK_DELETE, _("Delete"),
- G_CALLBACK ( supprimer_division ),
- budgetary_line_tree );
- metatree_register_widget_as_linked ( GTK_TREE_MODEL ( budgetary_line_tree_model ), button, "selection" );
-
- gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ), _("Delete selected budgetary line") );
- gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
-
- /* Properties button */
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
- GTK_STOCK_EDIT, _("Edit"),
- G_CALLBACK ( edit_budgetary_line ),
- budgetary_line_tree );
- metatree_register_widget_as_linked ( GTK_TREE_MODEL(budgetary_line_tree_model), button, "selection" );
-
- gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ), _("Edit selected budgetary line") );
- gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
-
- /* View button */
- button = gsb_automem_stock_button_menu_new ( etat.display_toolbar,
- GTK_STOCK_SELECT_COLOR,
- _("View"),
- G_CALLBACK(popup_budgetary_line_view_mode_menu),
- NULL );
-
- gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ), _("Change display mode") );
- gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
-
- gtk_widget_show_all ( hbox );
-
- metatree_set_linked_widgets_sensitive ( GTK_TREE_MODEL ( budgetary_line_tree_model ), FALSE, "selection" );
-
- return ( hbox );
+ GtkWidget *hbox, *button;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
+ /* Hbox */
+ hbox = gtk_hbox_new ( FALSE, 0 );
+
+ /* New budgetary line button */
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
+ _("New\nbudgetary line"), "new-ib.png",
+ G_CALLBACK ( appui_sur_ajout_imputation ),
+ budgetary_line_tree_model );
+
+ gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ), _("Create a new budgetary line") );
+ gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
+ g_object_set_data ( G_OBJECT ( button ), "type", GINT_TO_POINTER (1) );
+
+ /* New sub budgetary line button */
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
+ _("New sub\nbudgetary line"),
+ "new-sub-ib.png",
+ G_CALLBACK ( appui_sur_ajout_imputation ),
+ budgetary_line_tree_model );
+ metatree_register_widget_as_linked ( GTK_TREE_MODEL ( budgetary_line_tree_model ), button, "selection" );
+ metatree_register_widget_as_linked ( GTK_TREE_MODEL ( budgetary_line_tree_model ), button, "sub-division" );
+
+ gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ), _("Create a new sub-budgetary line") );
+ gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
+ g_object_set_data ( G_OBJECT ( button ), "type", GINT_TO_POINTER (2) );
+
+ /* Import button */
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
+ GTK_STOCK_OPEN,
+ _("Import"),
+ G_CALLBACK ( budgetary_lines_importer_list ),
+ NULL );
+
+ gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ),
+ _("Import a Grisbi budgetary line file (.igsb)"
+ " or create from a list of categories (.cgsb)" ) );
+ gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
+
+ /* Export button */
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
+ GTK_STOCK_SAVE,
+ _("Export"),
+ G_CALLBACK ( budgetary_lines_exporter_list ),
+ NULL );
+
+ gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ),
+ _("Export a Grisbi budgetary line file (.igsb)") );
+ gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
+
+ /* Delete button */
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
+ GTK_STOCK_DELETE, _("Delete"),
+ G_CALLBACK ( supprimer_division ),
+ budgetary_line_tree );
+ metatree_register_widget_as_linked ( GTK_TREE_MODEL ( budgetary_line_tree_model ), button, "selection" );
+
+ gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ), _("Delete selected budgetary line") );
+ gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
+
+ /* Properties button */
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
+ GTK_STOCK_EDIT, _("Edit"),
+ G_CALLBACK ( edit_budgetary_line ),
+ budgetary_line_tree );
+ metatree_register_widget_as_linked ( GTK_TREE_MODEL(budgetary_line_tree_model), button, "selection" );
+
+ gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ), _("Edit selected budgetary line") );
+ gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
+
+ /* View button */
+ button = gsb_automem_stock_button_menu_new ( conf->display_toolbar,
+ GTK_STOCK_SELECT_COLOR,
+ _("View"),
+ G_CALLBACK(popup_budgetary_line_view_mode_menu),
+ NULL );
+
+ gtk_widget_set_tooltip_text ( GTK_WIDGET ( button ), _("Change display mode") );
+ gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
+
+ gtk_widget_show_all ( hbox );
+
+ metatree_set_linked_widgets_sensitive ( GTK_TREE_MODEL ( budgetary_line_tree_model ), FALSE, "selection" );
+
+ return ( hbox );
}
@@ -649,18 +654,18 @@ GtkWidget *creation_barre_outils_ib ( void )
*/
void budgetary_lines_update_toolbar_list ( void )
{
- GList *list = NULL;
+ GList *list = NULL;
- list = gtk_container_get_children ( GTK_CONTAINER ( budgetary_toolbar ) );
+ list = gtk_container_get_children ( GTK_CONTAINER ( budgetary_toolbar ) );
- if ( list )
- {
- gtk_container_remove ( GTK_CONTAINER ( budgetary_toolbar ),
- GTK_WIDGET ( list -> data ) );
- g_list_free ( list );
- }
+ if ( list )
+ {
+ gtk_container_remove ( GTK_CONTAINER ( budgetary_toolbar ),
+ GTK_WIDGET ( list -> data ) );
+ g_list_free ( list );
+ }
- gtk_container_add ( GTK_CONTAINER ( budgetary_toolbar ), creation_barre_outils_ib () );
+ gtk_container_add ( GTK_CONTAINER ( budgetary_toolbar ), creation_barre_outils_ib () );
}
@@ -674,35 +679,35 @@ void budgetary_lines_update_toolbar_list ( void )
*/
gboolean popup_budgetary_line_view_mode_menu ( GtkWidget * button )
{
- GtkWidget *menu, *menu_item;
+ GtkWidget *menu, *menu_item;
- menu = gtk_menu_new ();
+ menu = gtk_menu_new ();
- /* Edit transaction */
- menu_item = gtk_image_menu_item_new_with_label ( _("Budgetary line view") );
- g_signal_connect ( G_OBJECT(menu_item), "activate",
- G_CALLBACK(expand_arbre_division), (gpointer) 0 );
- g_object_set_data ( G_OBJECT(menu_item), "tree-view", budgetary_line_tree );
- gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
+ /* Edit transaction */
+ menu_item = gtk_image_menu_item_new_with_label ( _("Budgetary line view") );
+ g_signal_connect ( G_OBJECT(menu_item), "activate",
+ G_CALLBACK(expand_arbre_division), (gpointer) 0 );
+ g_object_set_data ( G_OBJECT(menu_item), "tree-view", budgetary_line_tree );
+ gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
- menu_item = gtk_image_menu_item_new_with_label ( _("Sub-budgetary line view") );
- g_signal_connect ( G_OBJECT(menu_item), "activate",
- G_CALLBACK(expand_arbre_division), (gpointer) 1 );
- g_object_set_data ( G_OBJECT(menu_item), "tree-view", budgetary_line_tree );
- gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
+ menu_item = gtk_image_menu_item_new_with_label ( _("Sub-budgetary line view") );
+ g_signal_connect ( G_OBJECT(menu_item), "activate",
+ G_CALLBACK(expand_arbre_division), (gpointer) 1 );
+ g_object_set_data ( G_OBJECT(menu_item), "tree-view", budgetary_line_tree );
+ gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
- menu_item = gtk_image_menu_item_new_with_label ( _("Complete view") );
- g_signal_connect ( G_OBJECT(menu_item), "activate",
- G_CALLBACK(expand_arbre_division), (gpointer) 2 );
- g_object_set_data ( G_OBJECT(menu_item), "tree-view", budgetary_line_tree );
- gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
+ menu_item = gtk_image_menu_item_new_with_label ( _("Complete view") );
+ g_signal_connect ( G_OBJECT(menu_item), "activate",
+ G_CALLBACK(expand_arbre_division), (gpointer) 2 );
+ g_object_set_data ( G_OBJECT(menu_item), "tree-view", budgetary_line_tree );
+ gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
- gtk_widget_show_all ( menu );
+ gtk_widget_show_all ( menu );
- gtk_menu_popup ( GTK_MENU(menu), NULL, button, set_popup_position, button, 1,
- gtk_get_current_event_time());
+ gtk_menu_popup ( GTK_MENU(menu), NULL, button, set_popup_position, button, 1,
+ gtk_get_current_event_time());
- return FALSE;
+ return FALSE;
}
@@ -713,175 +718,183 @@ gboolean popup_budgetary_line_view_mode_menu ( GtkWidget * button )
*/
gboolean edit_budgetary_line ( GtkTreeView * view )
{
- GtkWidget * dialog, *label, *entry;
- GtkTreeSelection * selection;
- GtkTreeModel * model;
- GtkTreeIter iter;
- gint budget_number = -1, sub_budget_number = -1;
- gchar * title;
- GtkTreeIter *div_iter;
-
- static GtkBuilder *widget_builder = NULL;
-
- selection = gtk_tree_view_get_selection ( view );
- if ( selection && gtk_tree_selection_get_selected(selection, &model, &iter))
- {
- gtk_tree_model_get ( model, &iter,
- META_TREE_NO_DIV_COLUMN, &budget_number,
- META_TREE_NO_SUB_DIV_COLUMN, &sub_budget_number,
- -1 );
- }
-
- if ( !selection || budget_number <= 0 )
- return FALSE;
-
- if ( sub_budget_number > 0 )
- title = g_strdup_printf ( _("Properties for %s"),
- gsb_data_budget_get_sub_budget_name ( budget_number,
- sub_budget_number,
- _("No sub-budget defined" )));
- else
- title = g_strdup_printf ( _("Properties for %s"),
- gsb_data_budget_get_name ( budget_number,
- 0,
- _("No budget defined") ));
-
- /* New GtkBuilder Creation*/
- widget_builder = gtk_builder_new ( );
-
- if ( widget_builder == NULL )
- return NULL;
-
-
- if ( sub_budget_number > 0 )
- {
- /* widget paddingbox XML loading */
- if ( !utils_gtkbuilder_merge_ui_data_in_builder ( widget_builder, "dlg_edit_without_radio.ui" ) )
- return NULL;
-
- entry = GTK_WIDGET (gtk_builder_get_object ( widget_builder, "entry" ));
-
- gtk_entry_set_text ( GTK_ENTRY ( entry ),
- gsb_data_budget_get_sub_budget_name ( budget_number,
- sub_budget_number,
- NULL ) );
- }
- else
- {
- /* widget paddingbox XML loading */
- if ( !utils_gtkbuilder_merge_ui_data_in_builder ( widget_builder, "dlg_edit_with_radio.ui" ) )
- return NULL;
-
- entry = GTK_WIDGET (gtk_builder_get_object ( widget_builder, "entry" ));
-
- gtk_entry_set_text ( GTK_ENTRY ( entry ),
- gsb_data_budget_get_name ( budget_number, 0, NULL ) );
-
- if (gsb_data_budget_get_type (budget_number))
- gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( gtk_builder_get_object ( widget_builder, "Debit_radiobutton" ) ), TRUE );
- else
- gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( gtk_builder_get_object ( widget_builder, "Credit_radiobutton" ) ), TRUE );
-
- g_object_set_data (G_OBJECT (gtk_builder_get_object ( widget_builder, "Debit_radiobutton" )),
- "number_for_func", GINT_TO_POINTER (budget_number));
-
- g_signal_connect ( G_OBJECT (gtk_builder_get_object ( widget_builder, "Debit_radiobutton" )), "toggled",
- G_CALLBACK (gsb_autofunc_checkbutton_changed), G_CALLBACK (gsb_data_budget_set_type));
-
- }
-
- /* Get the needed widgets*/
- dialog = GTK_WIDGET (gtk_builder_get_object ( widget_builder, "dialog_edit_category" ));
- label = GTK_WIDGET (gtk_builder_get_object ( widget_builder, "label" ));
-
- //Set Title
- gtk_label_set_label(GTK_LABEL(label),title);
- g_free ( title );
-
- gtk_widget_show_all ( dialog );
+ GtkWidget * dialog, *paddingbox, *table, *label, *entry, *hbox, *radiogroup;
+ GtkTreeSelection * selection;
+ GtkTreeModel * model;
+ GtkTreeIter iter;
+ gint budget_number = -1, sub_budget_number = -1;
+ gchar * title;
+ GtkTreeIter *div_iter;
+
+ selection = gtk_tree_view_get_selection ( view );
+ if ( selection && gtk_tree_selection_get_selected(selection, &model, &iter))
+ {
+ gtk_tree_model_get ( model, &iter,
+ META_TREE_NO_DIV_COLUMN, &budget_number,
+ META_TREE_NO_SUB_DIV_COLUMN, &sub_budget_number,
+ -1 );
+ }
+
+ if ( !selection || budget_number <= 0 )
+ return FALSE;
- while ( 1 )
+ if ( sub_budget_number > 0 )
+ title = g_strdup_printf ( _("Properties for %s"),
+ gsb_data_budget_get_sub_budget_name ( budget_number,
+ sub_budget_number,
+ _("No sub-budget defined" )));
+ else
+ title = g_strdup_printf ( _("Properties for %s"),
+ gsb_data_budget_get_name ( budget_number,
+ 0,
+ _("No budget defined") ));
+
+ dialog = gtk_dialog_new_with_buttons ( title ,
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
+ GTK_DIALOG_MODAL,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_NO,
+ GTK_STOCK_APPLY, GTK_RESPONSE_OK,
+ NULL );
+
+ gtk_window_set_position ( GTK_WINDOW ( dialog ), GTK_WIN_POS_CENTER_ON_PARENT );
+ gtk_window_set_resizable ( GTK_WINDOW ( dialog ), FALSE );
+
+ /* Ugly dance to avoid side effects on dialog's vbox. */
+ hbox = gtk_hbox_new ( FALSE, 0 );
+ gtk_box_pack_start ( GTK_BOX ( dialog_get_content_area ( dialog ) ), hbox, FALSE, FALSE, 0 );
+ paddingbox = new_paddingbox_with_title ( hbox, TRUE, title );
+ gtk_container_set_border_width ( GTK_CONTAINER(hbox), 6 );
+ gtk_container_set_border_width ( GTK_CONTAINER(paddingbox), 6 );
+
+ table = gtk_table_new ( 0, 2, FALSE );
+ gtk_box_pack_start ( GTK_BOX ( paddingbox ), table, FALSE, FALSE, 6 );
+ gtk_table_set_col_spacings ( GTK_TABLE(table), 6 );
+ gtk_table_set_row_spacings ( GTK_TABLE(table), 6 );
+
+ /* Name entry */
+ label = gtk_label_new ( _("Name"));
+ gtk_misc_set_alignment ( GTK_MISC ( label ), 0.0, 0.5 );
+ gtk_table_attach ( GTK_TABLE(table), label, 0, 1, 0, 1,
+ GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0 );
+
+ entry = gtk_entry_new ( );
+ if ( sub_budget_number > 0 )
+ {
+ gtk_entry_set_text ( GTK_ENTRY ( entry ),
+ gsb_data_budget_get_sub_budget_name ( budget_number,
+ sub_budget_number,
+ NULL ) );
+ }
+ else
+ {
+ gtk_entry_set_text ( GTK_ENTRY ( entry ),
+ gsb_data_budget_get_name ( budget_number, 0, NULL ) );
+ }
+
+ gtk_widget_set_size_request ( entry, 400, -1 );
+ gtk_table_attach ( GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_EXPAND|GTK_FILL, 0, 0, 0 );
+
+ if ( sub_budget_number <= 0 )
+ {
+ /* Description entry */
+ label = gtk_label_new ( _("Type"));
+ gtk_misc_set_alignment ( GTK_MISC ( label ), 0.0, 0.5 );
+ gtk_table_attach ( GTK_TABLE(table), label, 0, 1, 1, 2,
+ GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0 );
+
+ radiogroup = gsb_autofunc_radiobutton_new ( _("Credit"), _("Debit"),
+ gsb_data_budget_get_type (budget_number),
+ NULL, NULL,
+ G_CALLBACK (gsb_data_budget_set_type), budget_number);
+ gtk_table_attach ( GTK_TABLE(table), radiogroup,
+ 1, 2, 1, 2, GTK_EXPAND|GTK_FILL, 0, 0, 0 );
+ }
+
+ gtk_widget_show_all ( dialog );
+ g_free ( title );
+
+ while ( 1 )
+ {
+ if ( gtk_dialog_run ( GTK_DIALOG(dialog) ) != GTK_RESPONSE_OK )
{
- if ( gtk_dialog_run ( GTK_DIALOG(dialog) ) != GTK_RESPONSE_OK )
- {
- sortie_edit_budgetary_line = TRUE;
- gtk_widget_destroy ( GTK_WIDGET ( dialog ) );
- return FALSE;
- }
-
- if ( ( sub_budget_number > 0 &&
- gsb_data_budget_get_sub_budget_number_by_name ( budget_number,
- gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
- FALSE ) &&
- gsb_data_budget_get_sub_budget_number_by_name ( budget_number,
- gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
- FALSE ) != sub_budget_number) ||
- ( sub_budget_number <= 0 &&
- gsb_data_budget_get_number_by_name ( gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
- FALSE, 0 ) &&
- gsb_data_budget_get_number_by_name ( gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
- FALSE, 0 ) != budget_number ) )
- {
- gchar * message;
- if ( sub_budget_number > 0 )
- {
- message = g_strdup_printf ( _("You tried to rename current sub-budgetary line to '%s' "
- "but this sub-budgetary line already exists. Please "
- "choose another name."),
- gtk_entry_get_text ( GTK_ENTRY ( entry ) ) );
- }
- else
- {
- message = g_strdup_printf ( _("You tried to rename current budgetary line to '%s' "
- "but this budgetary line already exists. Please "
- "choose another name."),
- gtk_entry_get_text ( GTK_ENTRY ( entry ) ) );
- }
- dialogue_warning_hint ( message, _("Budgetary line already exists") );
- g_free ( message );
- }
- else
- {
- if ( sub_budget_number > 0 )
- {
- gsb_data_budget_set_sub_budget_name ( budget_number,
- sub_budget_number,
- gtk_entry_get_text ( GTK_ENTRY (entry)));
- }
- else
- {
- gsb_data_budget_set_name ( budget_number,
- gtk_entry_get_text ( GTK_ENTRY (entry)));
- }
- break;
- }
+ sortie_edit_budgetary_line = TRUE;
+ gtk_widget_destroy ( GTK_WIDGET ( dialog ) );
+ return FALSE;
}
- gtk_widget_destroy ( GTK_WIDGET ( dialog ) );
-
- if ( sub_budget_number > 0 )
+ if ( ( sub_budget_number > 0 &&
+ gsb_data_budget_get_sub_budget_number_by_name ( budget_number,
+ gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
+ FALSE ) &&
+ gsb_data_budget_get_sub_budget_number_by_name ( budget_number,
+ gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
+ FALSE ) != sub_budget_number) ||
+ ( sub_budget_number <= 0 &&
+ gsb_data_budget_get_number_by_name ( gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
+ FALSE, 0 ) &&
+ gsb_data_budget_get_number_by_name ( gtk_entry_get_text ( GTK_ENTRY ( entry ) ),
+ FALSE, 0 ) != budget_number ) )
{
- div_iter = get_iter_from_div ( model, budget_number, sub_budget_number );
- fill_sub_division_row ( model,
- budgetary_line_get_metatree_interface ( ),
- div_iter,
- budget_number,
- sub_budget_number );
+ gchar * message;
+ if ( sub_budget_number > 0 )
+ {
+ message = g_strdup_printf ( _("You tried to rename current sub-budgetary line to '%s' "
+ "but this sub-budgetary line already exists. Please "
+ "choose another name."),
+ gtk_entry_get_text ( GTK_ENTRY ( entry ) ) );
+ }
+ else
+ {
+ message = g_strdup_printf ( _("You tried to rename current budgetary line to '%s' "
+ "but this budgetary line already exists. Please "
+ "choose another name."),
+ gtk_entry_get_text ( GTK_ENTRY ( entry ) ) );
+ }
+ dialogue_warning_hint ( message, _("Budgetary line already exists") );
+ g_free ( message );
}
else
{
- div_iter = get_iter_from_div ( model, budget_number, 0 );
- fill_division_row ( model,
- budgetary_line_get_metatree_interface ( ),
- div_iter,
- budget_number );
+ if ( sub_budget_number > 0 )
+ {
+ gsb_data_budget_set_sub_budget_name ( budget_number,
+ sub_budget_number,
+ gtk_entry_get_text ( GTK_ENTRY (entry)));
+ }
+ else
+ {
+ gsb_data_budget_set_name ( budget_number,
+ gtk_entry_get_text ( GTK_ENTRY (entry)));
+ }
+ break;
}
- gtk_tree_iter_free ( div_iter );
-
- /* update the transactions list */
- transaction_list_update_element ( ELEMENT_BUDGET );
-
- return TRUE;
+ }
+
+ gtk_widget_destroy ( GTK_WIDGET ( dialog ) );
+
+ if ( sub_budget_number > 0 )
+ {
+ div_iter = get_iter_from_div ( model, budget_number, sub_budget_number );
+ fill_sub_division_row ( model,
+ budgetary_line_get_metatree_interface ( ),
+ div_iter,
+ budget_number,
+ sub_budget_number );
+ }
+ else
+ {
+ div_iter = get_iter_from_div ( model, budget_number, 0 );
+ fill_division_row ( model,
+ budgetary_line_get_metatree_interface ( ),
+ div_iter,
+ budget_number );
+ }
+ gtk_tree_iter_free ( div_iter );
+
+ /* update the transactions list */
+ transaction_list_update_element ( ELEMENT_BUDGET );
+
+ return TRUE;
}
@@ -892,21 +905,21 @@ gboolean edit_budgetary_line ( GtkTreeView * view )
*/
void appui_sur_ajout_imputation ( GtkTreeModel * model, GtkButton *button )
{
- gint type;
-
- type = GPOINTER_TO_INT ( g_object_get_data ( G_OBJECT (button), "type" ) );
- if ( type == 1 )
- metatree_new_division ( model );
- else
- {
- appui_sur_ajout_sub_division ( model );
- selectionne_sub_budgetary ( model );
- }
- sortie_edit_budgetary_line = FALSE;
- edit_budgetary_line ( GTK_TREE_VIEW ( budgetary_line_tree ) );
- if ( sortie_edit_budgetary_line )
- supprimer_division ( GTK_TREE_VIEW ( budgetary_line_tree ) );
- sortie_edit_budgetary_line = FALSE;
+ gint type;
+
+ type = GPOINTER_TO_INT ( g_object_get_data ( G_OBJECT (button), "type" ) );
+ if ( type == 1 )
+ metatree_new_division ( model );
+ else
+ {
+ appui_sur_ajout_sub_division ( model );
+ selectionne_sub_budgetary ( model );
+ }
+ sortie_edit_budgetary_line = FALSE;
+ edit_budgetary_line ( GTK_TREE_VIEW ( budgetary_line_tree ) );
+ if ( sortie_edit_budgetary_line )
+ supprimer_division ( GTK_TREE_VIEW ( budgetary_line_tree ) );
+ sortie_edit_budgetary_line = FALSE;
}
@@ -917,54 +930,54 @@ void appui_sur_ajout_imputation ( GtkTreeModel * model, GtkButton *button )
*/
void selectionne_sub_budgetary ( GtkTreeModel * model )
{
- GtkTreeSelection * selection;
- GtkTreeIter parent;
- GtkTreeIter iter;
+ GtkTreeSelection * selection;
+ GtkTreeIter parent;
+ GtkTreeIter iter;
GtkTreePath * path;
- gchar * name;
- gint budget_number = -1, sub_budget_number = -1;
- gint i = 0,j = 0;
-
- selection = gtk_tree_view_get_selection (
- GTK_TREE_VIEW (budgetary_line_tree) );
- if ( selection && gtk_tree_selection_get_selected (
- selection, &model, &parent ) )
- {
- gtk_tree_model_get ( model, &parent,
- META_TREE_NO_DIV_COLUMN, &budget_number,
- META_TREE_NO_SUB_DIV_COLUMN, &sub_budget_number,
- -1 );
- }
-
- if ( !selection || budget_number <= 0 )
- return;
-
- if ( sub_budget_number > 0 )
- return;
-
- name = my_strdup (_("New sub-budget"));
- sub_budget_number = gsb_data_budget_get_sub_budget_number_by_name (
- budget_number, name, FALSE );
- j = gtk_tree_model_iter_n_children ( model, &parent );
- for (i = 0; i < j; i++ )
- {
- gint numero;
-
- gtk_tree_model_iter_nth_child ( model, &iter, &parent, i );
- gtk_tree_model_get ( model, &iter,
- META_TREE_NO_SUB_DIV_COLUMN, &numero,
- -1 );
- if ( numero == sub_budget_number )
- break;
- }
- path = gtk_tree_model_get_path ( model, &iter );
- gtk_tree_view_expand_to_path ( GTK_TREE_VIEW (budgetary_line_tree), path );
- selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW (budgetary_line_tree) );
- gtk_tree_selection_select_path ( selection, path );
- gtk_tree_view_scroll_to_cell ( GTK_TREE_VIEW (budgetary_line_tree), path,
- NULL, TRUE, 0.5, 0.5 );
- gtk_tree_path_free ( path );
- g_free ( name );
+ gchar * name;
+ gint budget_number = -1, sub_budget_number = -1;
+ gint i = 0,j = 0;
+
+ selection = gtk_tree_view_get_selection (
+ GTK_TREE_VIEW (budgetary_line_tree) );
+ if ( selection && gtk_tree_selection_get_selected (
+ selection, &model, &parent ) )
+ {
+ gtk_tree_model_get ( model, &parent,
+ META_TREE_NO_DIV_COLUMN, &budget_number,
+ META_TREE_NO_SUB_DIV_COLUMN, &sub_budget_number,
+ -1 );
+ }
+
+ if ( !selection || budget_number <= 0 )
+ return;
+
+ if ( sub_budget_number > 0 )
+ return;
+
+ name = my_strdup (_("New sub-budget"));
+ sub_budget_number = gsb_data_budget_get_sub_budget_number_by_name (
+ budget_number, name, FALSE );
+ j = gtk_tree_model_iter_n_children ( model, &parent );
+ for (i = 0; i < j; i++ )
+ {
+ gint numero;
+
+ gtk_tree_model_iter_nth_child ( model, &iter, &parent, i );
+ gtk_tree_model_get ( model, &iter,
+ META_TREE_NO_SUB_DIV_COLUMN, &numero,
+ -1 );
+ if ( numero == sub_budget_number )
+ break;
+ }
+ path = gtk_tree_model_get_path ( model, &iter );
+ gtk_tree_view_expand_to_path ( GTK_TREE_VIEW (budgetary_line_tree), path );
+ selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW (budgetary_line_tree) );
+ gtk_tree_selection_select_path ( selection, path );
+ gtk_tree_view_scroll_to_cell ( GTK_TREE_VIEW (budgetary_line_tree), path,
+ NULL, TRUE, 0.5, 0.5 );
+ gtk_tree_path_free ( path );
+ g_free ( name );
}
@@ -975,7 +988,7 @@ void selectionne_sub_budgetary ( GtkTreeModel * model )
*/
GtkTreePath *budgetary_hold_position_get_path ( void )
{
- return gtk_tree_path_copy ( budgetary_hold_position -> path );
+ return gtk_tree_path_copy ( budgetary_hold_position -> path );
}
/**
@@ -985,9 +998,9 @@ GtkTreePath *budgetary_hold_position_get_path ( void )
*/
gboolean budgetary_hold_position_set_path ( GtkTreePath *path )
{
- budgetary_hold_position -> path = gtk_tree_path_copy ( path );
+ budgetary_hold_position -> path = gtk_tree_path_copy ( path );
- return TRUE;
+ return TRUE;
}
/**
* sauvegarde l'attribut expand.
@@ -996,9 +1009,9 @@ gboolean budgetary_hold_position_set_path ( GtkTreePath *path )
*/
gboolean budgetary_hold_position_set_expand ( gboolean expand )
{
- budgetary_hold_position -> expand = expand;
+ budgetary_hold_position -> expand = expand;
- return TRUE;
+ return TRUE;
}
@@ -1011,66 +1024,69 @@ gboolean budgetary_hold_position_set_expand ( gboolean expand )
* \return FALSE
* */
gboolean budgetary_line_list_button_press ( GtkWidget *tree_view,
- GdkEventButton *ev,
- gpointer null )
+ GdkEventButton *ev,
+ gpointer null )
{
- if ( ev -> button == RIGHT_BUTTON )
- {
- budgetary_line_list_popup_context_menu ( );
-
- return TRUE;
- }
- else if ( ev -> type == GDK_2BUTTON_PRESS )
- {
- GtkTreeSelection *selection;
- GtkTreeModel *model;
- GtkTreeIter iter;
- GtkTreePath *path = NULL;
- enum meta_tree_row_type type_division;
-
- type_division = metatree_get_row_type_from_tree_view ( tree_view );
- if ( type_division == META_TREE_TRANSACTION )
- return FALSE;
-
- selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( tree_view ) );
- if ( selection && gtk_tree_selection_get_selected (selection, &model, &iter ) )
- path = gtk_tree_model_get_path ( model, &iter);
-
- if ( conf.metatree_action_2button_press == 0 || type_division == META_TREE_DIV )
- {
- if ( gtk_tree_view_row_expanded ( GTK_TREE_VIEW ( tree_view ), path ) )
- gtk_tree_view_collapse_row ( GTK_TREE_VIEW ( tree_view ), path );
- else
- gtk_tree_view_expand_row ( GTK_TREE_VIEW ( tree_view ), path, FALSE );
-
- gtk_tree_path_free ( path );
- return FALSE;
- }
- else if ( conf.metatree_action_2button_press == 1 )
- {
- edit_budgetary_line ( GTK_TREE_VIEW ( tree_view ) );
-
- gtk_tree_path_free ( path );
- return TRUE;
- }
- else
- {
- if ( type_division == META_TREE_SUB_DIV || type_division == META_TREE_TRANS_S_S_DIV )
- {
- path = gtk_tree_model_get_path ( model, &iter);
- gtk_tree_view_collapse_row ( GTK_TREE_VIEW ( tree_view ), path );
-
- gtk_tree_path_free ( path );
-
- metatree_manage_sub_divisions ( tree_view );
- return TRUE;
- }
- else
- return FALSE;
- }
- }
-
- return FALSE;
+ if ( ev -> button == RIGHT_BUTTON )
+ {
+ budgetary_line_list_popup_context_menu ( );
+
+ return TRUE;
+ }
+ else if ( ev -> type == GDK_2BUTTON_PRESS )
+ {
+ GtkTreeSelection *selection;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ GtkTreePath *path = NULL;
+ enum meta_tree_row_type type_division;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
+ type_division = metatree_get_row_type_from_tree_view ( tree_view );
+ if ( type_division == META_TREE_TRANSACTION )
+ return FALSE;
+
+ selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( tree_view ) );
+ if ( selection && gtk_tree_selection_get_selected (selection, &model, &iter ) )
+ path = gtk_tree_model_get_path ( model, &iter);
+
+ if ( conf->metatree_action_2button_press == 0 || type_division == META_TREE_DIV )
+ {
+ if ( gtk_tree_view_row_expanded ( GTK_TREE_VIEW ( tree_view ), path ) )
+ gtk_tree_view_collapse_row ( GTK_TREE_VIEW ( tree_view ), path );
+ else
+ gtk_tree_view_expand_row ( GTK_TREE_VIEW ( tree_view ), path, FALSE );
+
+ gtk_tree_path_free ( path );
+ return FALSE;
+ }
+ else if ( conf->metatree_action_2button_press == 1 )
+ {
+ edit_budgetary_line ( GTK_TREE_VIEW ( tree_view ) );
+
+ gtk_tree_path_free ( path );
+ return TRUE;
+ }
+ else
+ {
+ if ( type_division == META_TREE_SUB_DIV || type_division == META_TREE_TRANS_S_S_DIV )
+ {
+ path = gtk_tree_model_get_path ( model, &iter);
+ gtk_tree_view_collapse_row ( GTK_TREE_VIEW ( tree_view ), path );
+
+ gtk_tree_path_free ( path );
+
+ metatree_manage_sub_divisions ( tree_view );
+ return TRUE;
+ }
+ else
+ return FALSE;
+ }
+ }
+
+ return FALSE;
}
@@ -1082,71 +1098,71 @@ gboolean budgetary_line_list_button_press ( GtkWidget *tree_view,
*/
void budgetary_line_list_popup_context_menu ( void )
{
- GtkWidget *menu;
- GtkWidget *menu_item;
- gchar *title;
- enum meta_tree_row_type type_division;
-
- type_division = metatree_get_row_type_from_tree_view ( budgetary_line_tree );
-
- if ( type_division == META_TREE_TRANSACTION
- ||
- type_division == META_TREE_INVALID )
- return;
-
- menu = gtk_menu_new ();
-
- if ( type_division == META_TREE_DIV || type_division == META_TREE_SUB_DIV )
- {
-
- /* Edit transaction */
- if ( type_division == META_TREE_DIV )
- title = g_strdup ( _("Edit selected budgetary line") );
- else
- title = g_strdup ( _("Edit selected sub-budgetary line") );
-
- menu_item = gtk_image_menu_item_new_with_label ( title );
- gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
- gtk_image_new_from_stock ( GTK_STOCK_EDIT,
- GTK_ICON_SIZE_MENU ) );
- g_signal_connect_swapped ( G_OBJECT ( menu_item ),
- "activate",
- G_CALLBACK ( edit_budgetary_line ),
- budgetary_line_tree );
- gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
-
- g_free ( title );
- }
-
- if ( type_division == META_TREE_SUB_DIV || type_division == META_TREE_TRANS_S_S_DIV )
- {
- /* Manage sub_divisions */
- if ( type_division == META_TREE_SUB_DIV )
- {
- /* Separator */
- gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), gtk_separator_menu_item_new ( ) );
- title = g_strdup ( _("Manage sub-budgetary line") );
- }
- else
- title = g_strdup ( _("Transfer all transactions in another sub-budgetary line") );
-
- menu_item = gtk_image_menu_item_new_with_label ( title );
- gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
- gtk_image_new_from_stock ( GTK_STOCK_CONVERT,
- GTK_ICON_SIZE_MENU ) );
- g_signal_connect_swapped ( G_OBJECT ( menu_item ),
- "activate",
- G_CALLBACK ( metatree_manage_sub_divisions ),
- budgetary_line_tree );
- gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
-
- g_free ( title );
- }
-
- /* Finish all. */
- gtk_widget_show_all ( menu );
-
- gtk_menu_popup ( GTK_MENU ( menu ), NULL, NULL, NULL, NULL, 3, gtk_get_current_event_time ( ) );
+ GtkWidget *menu;
+ GtkWidget *menu_item;
+ gchar *title;
+ enum meta_tree_row_type type_division;
+
+ type_division = metatree_get_row_type_from_tree_view ( budgetary_line_tree );
+
+ if ( type_division == META_TREE_TRANSACTION
+ ||
+ type_division == META_TREE_INVALID )
+ return;
+
+ menu = gtk_menu_new ();
+
+ if ( type_division == META_TREE_DIV || type_division == META_TREE_SUB_DIV )
+ {
+
+ /* Edit transaction */
+ if ( type_division == META_TREE_DIV )
+ title = g_strdup ( _("Edit selected budgetary line") );
+ else
+ title = g_strdup ( _("Edit selected sub-budgetary line") );
+
+ menu_item = gtk_image_menu_item_new_with_label ( title );
+ gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
+ gtk_image_new_from_stock ( GTK_STOCK_EDIT,
+ GTK_ICON_SIZE_MENU ) );
+ g_signal_connect_swapped ( G_OBJECT ( menu_item ),
+ "activate",
+ G_CALLBACK ( edit_budgetary_line ),
+ budgetary_line_tree );
+ gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
+
+ g_free ( title );
+ }
+
+ if ( type_division == META_TREE_SUB_DIV || type_division == META_TREE_TRANS_S_S_DIV )
+ {
+ /* Manage sub_divisions */
+ if ( type_division == META_TREE_SUB_DIV )
+ {
+ /* Separator */
+ gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), gtk_separator_menu_item_new ( ) );
+ title = g_strdup ( _("Manage sub-budgetary line") );
+ }
+ else
+ title = g_strdup ( _("Transfer all transactions in another sub-budgetary line") );
+
+ menu_item = gtk_image_menu_item_new_with_label ( title );
+ gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
+ gtk_image_new_from_stock ( GTK_STOCK_CONVERT,
+ GTK_ICON_SIZE_MENU ) );
+ g_signal_connect_swapped ( G_OBJECT ( menu_item ),
+ "activate",
+ G_CALLBACK ( metatree_manage_sub_divisions ),
+ budgetary_line_tree );
+ gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
+
+ g_free ( title );
+ }
+
+ /* Finish all. */
+ gtk_widget_show_all ( menu );
+
+ gtk_menu_popup ( GTK_MENU ( menu ), NULL, NULL, NULL, NULL, 3, gtk_get_current_event_time ( ) );
}
@@ -1157,7 +1173,7 @@ void budgetary_line_list_popup_context_menu ( void )
*/
GtkTreeStore *budgetary_lines_get_tree_store ( void )
{
- return budgetary_line_tree_model;
+ return budgetary_line_tree_model;
}
@@ -1168,7 +1184,7 @@ GtkTreeStore *budgetary_lines_get_tree_store ( void )
*/
GtkWidget *budgetary_lines_get_tree_view ( void )
{
- return budgetary_line_tree;
+ return budgetary_line_tree;
}
@@ -1179,15 +1195,15 @@ GtkWidget *budgetary_lines_get_tree_view ( void )
*/
void budgetary_lines_new_budgetary_line ( void )
{
- metatree_new_division ( GTK_TREE_MODEL ( budgetary_line_tree_model ) );
-
- sortie_edit_budgetary_line = FALSE;
- edit_budgetary_line ( GTK_TREE_VIEW ( budgetary_line_tree ) );
- if ( sortie_edit_budgetary_line )
- {
- supprimer_division ( GTK_TREE_VIEW ( budgetary_line_tree ) );
- sortie_edit_budgetary_line = FALSE;
- }
+ metatree_new_division ( GTK_TREE_MODEL ( budgetary_line_tree_model ) );
+
+ sortie_edit_budgetary_line = FALSE;
+ edit_budgetary_line ( GTK_TREE_VIEW ( budgetary_line_tree ) );
+ if ( sortie_edit_budgetary_line )
+ {
+ supprimer_division ( GTK_TREE_VIEW ( budgetary_line_tree ) );
+ sortie_edit_budgetary_line = FALSE;
+ }
}
@@ -1198,7 +1214,7 @@ void budgetary_lines_new_budgetary_line ( void )
*/
void budgetary_lines_delete_budgetary_line ( void )
{
- supprimer_division ( GTK_TREE_VIEW ( budgetary_line_tree ) );
+ supprimer_division ( GTK_TREE_VIEW ( budgetary_line_tree ) );
}
@@ -1209,7 +1225,7 @@ void budgetary_lines_delete_budgetary_line ( void )
*/
void budgetary_lines_edit_budgetary_line ( void )
{
- edit_budgetary_line ( GTK_TREE_VIEW ( budgetary_line_tree ) );
+ edit_budgetary_line ( GTK_TREE_VIEW ( budgetary_line_tree ) );
}
diff --git a/src/include.h b/src/include.h
index 2644c5a..5b9e708 100644
--- a/src/include.h
+++ b/src/include.h
@@ -3,15 +3,4 @@
#define _INCLUDE_H (1)
-/* The following lines revert back to FPRINTF on Windows Systems(LIBINTL_FPRINTF seems BUGGY) */
-#ifdef _WIN32
-# undef fprintf
-#endif
-
-/* g_fopen returns an incompatible pointer on windows with MSVC. This is a fix*/
-#ifdef _MSC_VER
-#undef g_fopen
-#define g_fopen fopen
-#endif
-
#endif /* _INCLUDE_H */
diff --git a/src/main.c b/src/main.c
index d1e7e07..2a1bc38 100644
--- a/src/main.c
+++ b/src/main.c
@@ -29,7 +29,6 @@
#include <config.h>
#endif
-#include "include.h"
#include <stdlib.h>
#include <glib/gi18n.h>
#include <glib/gprintf.h>
@@ -39,6 +38,7 @@
#include "main.h"
#include "accueil.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_assistant_first.h"
#include "gsb_color.h"
#include "gsb_data_account.h"
@@ -50,6 +50,7 @@
#include "gsb_status.h"
#include "import.h"
#include "menu.h"
+#include "parse_cmdline.h"
#include "structures.h"
#include "tip.h"
#include "traitement_variables.h"
@@ -58,77 +59,22 @@
#include "erreur.h"
/*END_INCLUDE*/
-#ifdef GTKOSXAPPLICATION
-#include <gtkosxapplication.h>
-
-#include "grisbi_osx.h"
-#endif /* GTKOSXAPPLICATION */
-
-/* including resources so that the exe generated with MSVC has the right icon. */
-#ifdef G_OS_WIN32
-#include "resource.h"
-
-int APIENTRY wWinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPWSTR lpCmdLine,
- int nCmdShow)
-{
- int argc, nLen, i;
- LPWSTR * argvP;
- char ** argv;
- argvP = CommandLineToArgvW(GetCommandLineW(), &(argc));
- argv = malloc (argc* sizeof(char *));
- for (i = 0 ; i<argc ; i++)
- {
- nLen = WideCharToMultiByte(CP_UTF8, 0,argvP[i], -1, NULL, 0, NULL, NULL);
- argv[i] = malloc((nLen + 1) * sizeof(char));
- WideCharToMultiByte(CP_UTF8, 0, argvP[i], -1, argv[i], nLen, NULL, NULL);
- }
- return main(argc, argv);
-}
-#endif /* G_OS_WIN32 */
/*START_STATIC*/
static gboolean gsb_main_change_state_window ( GtkWidget *window,
GdkEventWindowState *event,
gpointer null );
-static GtkWidget *gsb_main_create_main_menu ( GtkWidget *vbox );
-static GtkWidget *gsb_main_create_main_window ( void );
-static void gsb_main_grisbi_shutdown ( void );
+static void gsb_main_grisbi_shutdown ( GrisbiCommandLine *command_line );
static gboolean gsb_main_init_app ( void );
static void gsb_main_load_file_if_necessary ( gchar *filename );
static gboolean gsb_main_print_environment_var ( void );
-static gint gsb_main_set_debug_level ( void );
-static gint gsb_main_setup_command_line_options ( int argc, char **argv );
-static void gsb_main_show_version ( void );
+static gint gsb_main_set_debug_level ( GrisbiCommandLine *command_line );
static void gsb_main_trappe_signal_sigsegv ( void );
static gboolean gsb_main_window_delete_event (GtkWidget *window, gpointer data);
static void gsb_main_window_destroy_event ( GObject* obj, gpointer data);
static void gsb_main_window_set_size_and_position ( void );
-
-static void main_mac_osx ( int argc, char **argv );
-static void main_linux ( int argc, char **argv );
-static void main_win_32 ( int argc, char **argv );
/*END_STATIC*/
-/* Fenetre principale de grisbi */
-static GtkWidget *main_window = NULL;
-
-/* Options pour grisbi */
-static gint debug_level = -1;
-static gchar *file = NULL;
-
-static const GOptionEntry options [] =
-{
- { "version", 'v', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK,
- gsb_main_show_version, N_("Show the application's version"), NULL },
-
- { "debug", 'd', 0, G_OPTION_ARG_INT, &debug_level, N_("Debug mode: level 0-5"), NULL },
-
- { "file", 'f', 0, G_OPTION_ARG_FILENAME, &file, N_("[FILE]"), NULL },
-
- {NULL}
-};
/*START_EXTERN*/
extern gchar *nom_fichier_comptes;
@@ -138,6 +84,9 @@ extern gchar *titre_fichier;
/* variables initialisées lors de l'exécution de grisbi */
struct gsb_run_t run;
+/* Options pour grisbi */
+static gint debug_level = -1;
+
/**
* Main function
*
@@ -146,318 +95,88 @@ struct gsb_run_t run;
*
* @return Nothing
*/
-int main ( int argc, char **argv )
-{
-#ifdef G_OS_WIN32
- main_win_32 ( argc, argv );
-#else
- #ifdef GTKOSXAPPLICATION
- main_mac_osx ( argc, argv );
- #else
- main_linux ( argc, argv );
- #endif /* GTKOSXAPPLICATION || linux */
-#endif /* G_OS_WIN32 */
-
- exit ( 0 );
-}
-
-
-/**
- *
- *
- *
- *
- * */
-void main_linux ( int argc, char **argv )
+gint main ( int argc, char **argv )
{
- GtkWidget *vbox;
+ GrisbiApp *app;
+ GrisbiWindow *window;
+ GrisbiCommandLine *command_line;
gint return_value;
- gboolean first_use = FALSE;
/* Init type system */
g_type_init ();
+ /* Init glib threads asap */
+ if ( g_thread_get_initialized () )
+ g_thread_init ( NULL );
+
/* initialisation des différents répertoires */
- gsb_dirs_init ( );
+ gsb_dirs_init ();
/* Setup locale/gettext */
setlocale ( LC_ALL, "" );
- bindtextdomain ( PACKAGE, gsb_dirs_get_locale_dir ( ) );
+ bindtextdomain ( PACKAGE, gsb_dirs_get_locale_dir () );
bind_textdomain_codeset ( PACKAGE, "UTF-8" );
textdomain ( PACKAGE );
/* Setup command line options */
- return_value = gsb_main_setup_command_line_options ( argc, argv );
- if ( return_value )
- exit ( return_value );
+ command_line = grisbi_command_line_get_default ();
- /* initialisation de la variable locale pour les devises */
- gsb_locale_init ( );
-
- /* initialisation du nom du fichier de configuration */
- gsb_config_initialise_conf_filename ( );
+ return_value = grisbi_command_line_parse ( command_line, argc, argv );
+ if ( return_value == 1 )
+ exit ( return_value );
/* initialisation du mode de débogage */
- if ( gsb_main_set_debug_level ( ) )
- {
- initialize_debugging ( );
- gsb_main_print_environment_var ( );
- }
-
- /* initialisation de gtk. arguments à NULL car traités au dessus */
- gtk_init ( NULL, NULL );
-
- /* initialisation libgoffice */
- libgoffice_init ( );
- /* Initialize plugins manager pour goffice */
- go_plugins_init (NULL, NULL, NULL, NULL, TRUE, GO_TYPE_PLUGIN_LOADER_MODULE);
-
- /* on commence par détourner le signal SIGSEGV */
- gsb_main_trappe_signal_sigsegv ( );
-
- /* initialise les données de l'application */
- first_use = gsb_main_init_app ( );
-
- /* create the toplevel window and the main menu */
- vbox = gsb_main_create_main_window ( );
- gsb_main_create_main_menu ( vbox );
- gsb_main_window_set_size_and_position ( );
-
- gtk_widget_show ( main_window );
-
- if ( IS_DEVELOPMENT_VERSION )
- dialog_message ( "development-version", VERSION );
-
- /* check the command line, if there is something to open */
- gsb_main_load_file_if_necessary ( file );
-
- if ( first_use && !nom_fichier_comptes )
- gsb_assistant_first_run ();
- else
- display_tip ( FALSE );
-
- gtk_main ();
-
- gsb_main_grisbi_shutdown ( );
-
- exit ( 0 );
-}
-
+ debug_level = gsb_main_set_debug_level ( command_line );
+ initialize_debugging ();
-/**
- *
- *
- *
- *
- * */
-void main_mac_osx ( int argc, char **argv )
-{
-#ifdef GTKOSXAPPLICATION
- GtkWidget *vbox;
- GtkWidget *menubar;
- GdkPixbuf *pixbuf;
- gint return_value;
- gboolean first_use = FALSE;
- GtkOSXApplication *theApp;
-
- /* Init type system */
- g_type_init ();
-
- /* initialisation des différents répertoires */
- gsb_dirs_init ( );
-
- /* Setup locale/gettext */
- setlocale ( LC_ALL, "" );
- bindtextdomain ( PACKAGE, gsb_dirs_get_locale_dir ( ) );
- bind_textdomain_codeset ( PACKAGE, "UTF-8" );
- textdomain ( PACKAGE );
-
- /* Setup command line options */
- return_value = gsb_main_setup_command_line_options ( argc, argv );
- if ( return_value )
- exit ( return_value );
-
- /* initialisation de la variable locale pour les devises */
+ /* initialisation et sortie si nécessaire de la variable locale pour les devises */
gsb_locale_init ( );
+ if ( debug_level > 0 )
+ gsb_main_print_environment_var ();
/* initialisation du nom du fichier de configuration */
- gsb_config_initialise_conf_filename ( );
-
- /* initialisation du mode de débogage */
- if ( gsb_main_set_debug_level ( ) )
- {
- initialize_debugging ( );
- gsb_main_print_environment_var ( );
- }
+ gsb_config_initialise_conf_filename ( grisbi_command_line_get_config_file ( command_line ) );
/* initialisation de gtk. arguments à NULL car traités au dessus */
gtk_init ( NULL, NULL );
- /* initialisation libgoffice */
- libgoffice_init ( );
- /* Initialize plugins manager pour goffice */
- go_plugins_init (NULL, NULL, NULL, NULL, TRUE, GO_TYPE_PLUGIN_LOADER_MODULE);
-
- /* init the app */
- theApp = g_object_new ( GTK_TYPE_OSX_APPLICATION, NULL );
+ /* initialisation de libgoffice et des plugins pour goffice*/
+ libgoffice_init ();
+ go_plugins_init ( NULL, NULL, NULL, NULL, TRUE, GO_TYPE_PLUGIN_LOADER_MODULE );
/* on commence par détourner le signal SIGSEGV */
- gsb_main_trappe_signal_sigsegv ( );
-
- /* initialise les données de l'application */
- first_use = gsb_main_init_app ( );
-
- vbox = gsb_main_create_main_window ( );
- {
- gboolean falseval = FALSE;
- gboolean trueval = TRUE;
-
- g_signal_connect ( theApp,
- "NSApplicationDidBecomeActive",
- G_CALLBACK ( grisbi_osx_app_active_cb ),
- &trueval );
- g_signal_connect ( theApp,
- "NSApplicationWillResignActive",
- G_CALLBACK ( grisbi_osx_app_active_cb ),
- &falseval);
- g_signal_connect ( theApp,
- "NSApplicationBlockTermination",
- G_CALLBACK ( gsb_main_grisbi_close ),
- NULL);
- g_signal_connect ( theApp,
- "NSApplicationWillTerminate",
- G_CALLBACK ( gsb_main_window_destroy_event ),
- NULL );
- }
- menubar = gsb_main_create_main_menu ( vbox );
- grisbi_osx_init_menus ( main_window, menubar );
- gsb_main_window_set_size_and_position ( );
-
- gtk_widget_show ( main_window );
-
-#if IS_DEVELOPMENT_VERSION == 1
- dialog_message ( "development-version", VERSION );
-#endif
-
- /* check the command line, if there is something to open */
- gsb_main_load_file_if_necessary ( file );
-
- if ( first_use && !nom_fichier_comptes )
- gsb_assistant_first_run ();
- else
- display_tip ( FALSE );
-
- if ( quartz_application_get_bundle_id ( ) == NULL )
- {
- pixbuf = gdk_pixbuf_new_from_file ( g_build_filename
- (gsb_dirs_get_pixmaps_dir ( ), "grisbi-logo.png", NULL), NULL );
- if ( pixbuf )
- gtk_osxapplication_set_dock_icon_pixbuf ( theApp, pixbuf );
- }
-
- gtk_osxapplication_set_use_quartz_accelerators ( theApp, TRUE );
-
- gtk_osxapplication_ready ( theApp );
-
- gtk_main ();
-
- g_object_unref ( theApp );
-
- gsb_main_grisbi_shutdown ( );
-
- exit ( 0 );
-
-#endif /* GTKOSXAPPLICATION */
-}
-
-
-/**
- *
- *
- *
- *
- * */
-void main_win_32 ( int argc, char **argv )
-{
-#ifdef G_OS_WIN32
- GtkWidget *vbox;
- gint return_value;
- gboolean first_use = FALSE;
-
- /* Retrieve exception information and store them under grisbi.rpt file!
- * see http://jrfonseca.dyndns.org/projects/gnu-win32/software/drmingw/index.html for more information */
- LoadLibrary("exchndl.dll");
-
- /* needed to be able to use the "common" installation of GTK libraries */
- win32_make_sure_the_gtk2_dlls_path_is_in_PATH();
+ gsb_main_trappe_signal_sigsegv ();
- /* Init type system */
- g_type_init ();
-
- /* initialisation des différents répertoires */
- gsb_dirs_init ( );
-
- /* Setup locale/gettext */
- setlocale ( LC_ALL, "" );
- bindtextdomain ( PACKAGE, gsb_dirs_get_locale_dir ( ) );
- bind_textdomain_codeset ( PACKAGE, "UTF-8" );
- textdomain ( PACKAGE );
-
- /* Setup command line options */
- return_value = gsb_main_setup_command_line_options ( argc, argv );
- if ( return_value )
- exit ( return_value );
-
- /* initialisation de la variable locale pour les devises */
- gsb_locale_init ( );
-
- /* initialisation du nom du fichier de configuration */
- gsb_config_initialise_conf_filename ( );
-
- /* initialisation de gtk. arguments à NULL car traités au dessus */
- gtk_init ( NULL, NULL );
-/* win32_parse_gtkrc ( "gtkrc" ); */
-
- /* initialisation libgoffice */
- libgoffice_init ( );
- /* Initialize plugins manager pour goffice */
- go_plugins_init (NULL, NULL, NULL, NULL, TRUE, GO_TYPE_PLUGIN_LOADER_MODULE);
-
- /* initialise les données de l'application */
- first_use = gsb_main_init_app ( );
+ /* création de l'application */
+ app = grisbi_app_get_default ();
/* create the toplevel window and the main menu */
- vbox = gsb_main_create_main_window ( );
- gsb_main_create_main_menu ( vbox );
- gsb_main_window_set_size_and_position ( );
+ window = grisbi_app_create_window ( app, NULL );
- gtk_widget_show ( main_window );
+ gtk_widget_show ( GTK_WIDGET ( window ) );
-#if IS_DEVELOPMENT_VERSION == 1
- dialog_message ( "development-version", VERSION );
-#endif
+ if ( IS_DEVELOPMENT_VERSION )
+ dialog_message ( "development-version", VERSION );
/* check the command line, if there is something to open */
- gsb_main_load_file_if_necessary ( file );
+/* gsb_main_load_file_if_necessary ( file ); */
- if ( first_use && !nom_fichier_comptes )
+ if ( grisbi_app_get_first_use ( app ) )
gsb_assistant_first_run ();
else
display_tip ( FALSE );
gtk_main ();
- gsb_main_grisbi_shutdown ( );
+ gsb_main_grisbi_shutdown ( command_line );
+ /* return */
exit ( 0 );
-
-#endif /* G_OS_WIN32 */
}
-
/**
- * gère le fait d'être en mode developpement sauf pour l'alerte
+ * affiche les variables d'environnement de Grisbi
*
*
*
@@ -468,20 +187,20 @@ gboolean gsb_main_print_environment_var ( void )
g_print ("\nGrisbi version %s\n\n", VERSION );
- g_printf ("Variables d'environnement :\n" );
+ g_print ("Variables d'environnement :\n" );
tmp_str = gsb_main_get_print_locale_var ( );
- g_printf ("%s", tmp_str);
+ g_print ("%s", tmp_str);
g_free ( tmp_str );
- g_printf ( "gint64\n\tG_GINT64_MODIFIER = \"%s\"\n"
+ g_print ( "gint64\n\tG_GINT64_MODIFIER = \"%s\"\n"
"\t%"G_GINT64_MODIFIER"d\n\n",
G_GINT64_MODIFIER,
G_MAXINT64 );
tmp_str = gsb_main_get_print_dir_var ( );
- g_printf ("%s", tmp_str);
+ g_print ("%s", tmp_str);
g_free ( tmp_str );
@@ -490,138 +209,6 @@ gboolean gsb_main_print_environment_var ( void )
/**
- * charge le fichier de configuration et initialise les variabes.
- *
- *
- *
- * */
-gboolean gsb_main_init_app ( void )
-{
- gboolean first_use = FALSE;
- gchar *string;
-
-#ifdef HAVE_PLUGINS
- gsb_plugins_scan_dir ( gsb_dirs_get_plugins_dir ( ) );
-#endif
-
- /* create the icon of grisbi (set in the panel of gnome or other) */
- string = g_build_filename ( gsb_dirs_get_pixmaps_dir ( ), "grisbi-logo.png", NULL );
- if ( g_file_test ( string, G_FILE_TEST_EXISTS ) )
- gtk_window_set_default_icon_from_file ( string, NULL );
- g_free (string);
-
- /* initialisation of the variables */
- gsb_color_initialise_couleurs_par_defaut ( );
- init_variables ();
- register_import_formats ();
-
- /* firt use ? */
- if ( ! gsb_file_config_load_config () )
- first_use = TRUE;
-
- return first_use;
-}
-
-
-/**
- * crée la fenêtre principale de grisbi.
- *
- *
- *
- * */
-GtkWidget *gsb_main_create_main_window ( void )
-{
- GtkWidget *vbox;
- GtkWidget *status_bar;
-
- /* create the toplevel window */
- main_window = gtk_window_new ( GTK_WINDOW_TOPLEVEL );
- run.window = main_window;
-
- g_signal_connect ( G_OBJECT ( main_window ),
- "delete_event",
- G_CALLBACK ( gsb_main_window_delete_event ),
- NULL);
- g_signal_connect ( G_OBJECT ( main_window ),
- "destroy",
- G_CALLBACK ( gsb_main_window_destroy_event ),
- NULL);
- g_signal_connect ( G_OBJECT ( main_window ),
- "window-state-event",
- G_CALLBACK ( gsb_main_change_state_window ),
- NULL );
- gtk_window_set_policy ( GTK_WINDOW ( main_window ), TRUE, TRUE, FALSE );
-/* gtk_window_set_resizable ( GTK_WINDOW ( main_window ), TRUE ); */
-
- /* create the main window : a vbox */
- vbox = gtk_vbox_new ( FALSE, 0 );
- g_object_set_data ( G_OBJECT ( main_window ), "main_vbox", vbox );
- gtk_container_add ( GTK_CONTAINER ( main_window ), vbox );
- g_signal_connect ( G_OBJECT ( vbox ),
- "destroy",
- G_CALLBACK ( gtk_widget_destroyed ),
- &vbox );
- gtk_widget_show ( vbox );
-
- /* We create the statusbar first. */
- status_bar = gsb_new_statusbar ( );
- gtk_box_pack_end ( GTK_BOX ( vbox ), status_bar, FALSE, FALSE, 0 );
-
- return vbox;
-}
-
-/**
- * crée et initialise le menu de grisbi.
- *
- *
- *
- * */
-GtkWidget *gsb_main_create_main_menu ( GtkWidget *vbox )
-{
- GtkWidget *menu_bar;
- gchar *accel_filename;
-
- /* create the menus */
- menu_bar = init_menus ( vbox );
-
- /* unsensitive the necessaries menus */
- menus_sensitifs ( FALSE );
-
- /* charge les raccourcis claviers */
- accel_filename = g_build_filename ( gsb_dirs_get_user_config_dir ( ), "grisbi-accels", NULL );
- gtk_accel_map_load ( accel_filename );
- g_free ( accel_filename );
-
- /* set the last opened files */
- affiche_derniers_fichiers_ouverts ( );
-
- return menu_bar;
-}
-
-/**
- * set size and position of the main window of grisbi.
- *
- *
- *
- * */
-void gsb_main_window_set_size_and_position ( void )
-{
- /* set the size of the window */
- if ( conf.main_width && conf.main_height )
- gtk_window_set_default_size ( GTK_WINDOW ( main_window ), conf.main_width, conf.main_height );
- else
- gtk_window_set_default_size ( GTK_WINDOW ( main_window ), 900, 600 );
-
- /* display window at position */
- gtk_window_move ( GTK_WINDOW ( main_window ), conf.root_x, conf.root_y );
-
- /* set the full screen if necessary */
- if ( conf.full_screen )
- gtk_window_maximize ( GTK_WINDOW ( main_window ) );
-}
-
-
-/**
* detourne le signal SIGSEGV
*
*
@@ -637,6 +224,12 @@ void gsb_main_trappe_signal_sigsegv ( void )
sig_sev.sa_flags = 0;
sigemptyset ( &( sig_sev.sa_mask ) );
+ if ( sigaction ( SIGINT, &sig_sev, NULL ) )
+ g_print ( _("Error on sigaction: SIGINT won't be trapped\n") );
+
+ if ( sigaction ( SIGTERM, &sig_sev, NULL ) )
+ g_print ( _("Error on sigaction: SIGINT won't be trapped\n") );
+
if ( sigaction ( SIGSEGV, &sig_sev, NULL ) )
g_print ( _("Error on sigaction: SIGSEGV won't be trapped\n") );
#endif /* G_OS_WIN32 */
@@ -651,29 +244,21 @@ void gsb_main_trappe_signal_sigsegv ( void )
* */
void gsb_main_load_file_if_necessary ( gchar *filename )
{
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
/* check the command line, if there is something to open */
if ( filename )
{
- if ( gsb_file_open_file ( filename ) )
- {
- if ( nom_fichier_comptes )
- g_free ( nom_fichier_comptes );
- nom_fichier_comptes = g_strdup ( filename );
- }
- else
- {
- if ( nom_fichier_comptes )
- g_free ( nom_fichier_comptes );
- nom_fichier_comptes = NULL;
- }
+ gsb_file_open_file ( filename );
}
else
{
/* open the last file if needed, nom_fichier_comptes was filled while loading the configuration */
- if ( conf.dernier_fichier_auto && nom_fichier_comptes )
+ if ( conf->dernier_fichier_auto && conf->tab_noms_derniers_fichiers_ouverts[0] )
{
- if ( !gsb_file_open_file ( nom_fichier_comptes ) )
- g_free ( nom_fichier_comptes );
+ gsb_file_open_file ( conf->tab_noms_derniers_fichiers_ouverts[0] );
}
}
@@ -697,10 +282,14 @@ gboolean gsb_main_change_state_window ( GtkWidget *window,
{
if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED)
{
- if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED)
- conf.full_screen = TRUE;
- else
- conf.full_screen = FALSE;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+
+ if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED)
+ conf->full_screen = TRUE;
+ else
+ conf->full_screen = FALSE;
}
return FALSE;
}
@@ -715,12 +304,21 @@ gboolean gsb_main_change_state_window ( GtkWidget *window,
* */
gboolean gsb_main_grisbi_close ( void )
{
- devel_debug (NULL);
+ GrisbiApp *app;
+ GrisbiWindow *main_window;
+ GrisbiAppConf *conf;
+
+ app = grisbi_app_get_default ( );
+ conf = grisbi_app_get_conf ( );
+
+ /* on récupère la fenetre active */
+ main_window = grisbi_app_get_active_window ( app );
+
/* sauvegarde la position de la fenetre principale */
- gtk_window_get_position ( GTK_WINDOW ( main_window ), &conf.root_x, &conf.root_y );
+ gtk_window_get_position ( GTK_WINDOW ( main_window ), &conf->root_x, &conf->root_y );
- if ( !gsb_main_window_delete_event ( main_window, NULL ) )
- gtk_widget_destroy ( main_window );
+ if ( !gsb_main_window_delete_event ( GTK_WIDGET ( main_window ), NULL ) )
+ gtk_widget_destroy ( GTK_WIDGET ( main_window ) );
/* clean finish of the debug file */
if ( etat.debug_mode )
@@ -735,8 +333,10 @@ gboolean gsb_main_grisbi_close ( void )
*/
static gboolean gsb_main_window_delete_event (GtkWidget *window, gpointer data)
{
+ devel_debug (NULL);
+
/* need to save the config before gsb_file_close */
- gsb_file_config_save_config();
+/* gsb_file_config_save_config (); */
if (!gsb_file_close ())
return TRUE;
@@ -748,9 +348,10 @@ static gboolean gsb_main_window_delete_event (GtkWidget *window, gpointer data)
*/
static void gsb_main_window_destroy_event ( GObject* obj, gpointer data)
{
- free_variables();
+/* free_variables();
main_window = NULL;
gtk_main_quit();
+*/
}
@@ -766,8 +367,10 @@ gboolean gsb_main_set_grisbi_title ( gint account_number )
gchar *titre = NULL;
gint tmp_number;
gboolean return_value;
-
+ GrisbiAppConf *conf;
+
devel_debug_int ( account_number );
+ conf = grisbi_app_get_conf ( );
if ( nom_fichier_comptes == NULL )
{
@@ -776,7 +379,7 @@ gboolean gsb_main_set_grisbi_title ( gint account_number ) dow, gpointer data) on */ / ton" ) ), TRUE ); rted ones.") : , he \"%s\" option in preferences."), )); ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ ( gint account_number )
}
else
{
- switch ( conf.display_grisbi_title )
+ switch ( conf->display_grisbi_title )
{
case GSB_ACCOUNTS_TITLE:
if ( titre_fichier && strlen ( titre_fichier ) )
@@ -822,13 +425,14 @@ gboolean gsb_main_set_grisbi_title ( gint account_number )
return_value = FALSE;
}
}
- gtk_window_set_title ( GTK_WINDOW ( main_window ), titre_grisbi );
+/* gtk_window_set_title ( GTK_WINDOW ( main_window ), titre_grisbi ); */
gsb_main_page_update_homepage_title ( titre_grisbi );
if ( titre_grisbi && strlen ( titre_grisbi ) > 0 )
g_free ( titre_grisbi );
+ /* return */
return return_value;
}
@@ -920,16 +524,6 @@ gchar *gsb_main_get_print_dir_var ( void )
/**
- * renvoie la fenêtre principale de Grisbi
- *
- *
- */
-GtkWidget *gsb_main_get_main_window ( void )
-{
- return main_window;
-}
-
-/**
* renvoie la version de Grisbi
*
* \param
@@ -969,11 +563,14 @@ gint gsb_main_get_debug_level ( void )
*
* \return debug_mode
*/
-gint gsb_main_set_debug_level ( void )
+gint gsb_main_set_debug_level ( GrisbiCommandLine *command_line )
{
gchar **tab;
gint number = 0;
gint number_1;
+ gint debug_level;
+
+ debug_level = grisbi_command_line_get_debug_level ( command_line );
tab = g_strsplit ( VERSION, ".", 3 );
number_1 = utils_str_atoi ( tab[1] );
@@ -996,63 +593,20 @@ gint gsb_main_set_debug_level ( void )
/**
- * traite les arguments de la ligne de commande
- *
- * \param
- *
- * \return code de sortie 1 si erreur de traitement
- */
-gint gsb_main_setup_command_line_options ( int argc, char **argv )
-{
- GOptionContext *context;
- gint return_value = 0;
- GError *error = NULL;
-
- context = g_option_context_new ( _("- Personnal finances manager") );
-
- g_option_context_set_summary ( context,
- N_("Grisbi can manage the accounts of a family or a small association.") );
- g_option_context_set_translation_domain ( context, PACKAGE );
-
- g_option_context_add_main_entries ( context, options, PACKAGE );
- g_option_context_add_group ( context, gtk_get_option_group ( FALSE ));
- g_option_context_set_translation_domain ( context, PACKAGE );
-
- if ( !g_option_context_parse ( context, &argc, &argv, &error ) )
- {
- g_option_context_free ( context );
- if (error)
- {
- g_print ("option parsing failed: %s\n", error->message);
- g_error_free ( error );
- }
-
- return_value = 1;
- }
-
- g_option_context_free ( context );
-
- return return_value;
-}
-
-
-/**
* procédure appelée après gtk_main_quit termine Grisbi
*
* \param
*
* \return
*/
-void gsb_main_grisbi_shutdown ( void )
+void gsb_main_grisbi_shutdown ( GrisbiCommandLine *command_line )
{
- gchar *filename;
+ devel_debug (NULL);
- /* sauvegarde les raccourcis claviers */
- filename = g_build_filename ( gsb_dirs_get_user_config_dir ( ), "grisbi-accels", NULL );
- gtk_accel_map_save ( filename );
- g_free ( filename );
+ g_object_unref ( command_line );
/* libération de mémoire */
+ gsb_config_free_conf_filename ( );
gsb_locale_shutdown ( );
gsb_dirs_shutdown ( );
diff --git a/src/main.h b/src/main.h
index 5dc5774..8496325 100644
--- a/src/main.h
+++ b/src/main.h
@@ -9,11 +9,11 @@
/* START_DECLARATION */
gboolean gsb_main_get_debug_level ( void );
-GtkWidget *gsb_main_get_main_window ( void );
gboolean gsb_main_grisbi_close ( void );
gchar *gsb_main_get_print_dir_var ( void );
gchar *gsb_main_get_print_locale_var ( void );
gboolean gsb_main_set_grisbi_title ( gint account_number );
-int main (int argc, char **argv);
+void gsb_main_show_version ( void );
+gint main ( gint argc, gchar **argv );
/* END_DECLARATION */
#endif
diff --git a/src/menu.c b/src/menu.c
index 0d9ec0d..b39c31f 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -32,313 +32,41 @@
/*START_INCLUDE*/
#include "menu.h"
-#include "custom_list.h"
-#include "export.h"
#include "fenetre_principale.h"
-#include "file_obfuscate_qif.h"
-#include "file_obfuscate.h"
+#include "grisbi_app.h"
#include "gsb_account.h"
-#include "gsb_assistant_account.h"
-#include "gsb_assistant_archive.h"
-#include "gsb_assistant_archive_export.h"
-#include "gsb_data_account.h"
-#include "gsb_debug.h"
#include "gsb_file.h"
#include "gsb_form.h"
#include "gsb_scheduler_list.h"
#include "gsb_transactions_list.h"
-#include "help.h"
-#include "import.h"
-#include "main.h"
#include "navigation.h"
-#include "parametres.h"
-#include "structures.h"
#include "traitement_variables.h"
-#include "tip.h"
#include "utils.h"
#include "erreur.h"
/*END_INCLUDE*/
/*START_STATIC*/
-static gboolean gsb_gui_toggle_show_closed_accounts ( void );
-static gboolean gsb_gui_toggle_show_form ( void );
-
-static gboolean help_bugreport ( void );
-static gboolean help_manual ( void );
-static gboolean help_quick_start ( void );
-static gboolean help_translation ( void );
-static gboolean help_website ( void );
-static gboolean gsb_menu_reinit_largeur_col_menu ( void );
/*END_STATIC*/
/*START_EXTERN*/
-extern gchar **tab_noms_derniers_fichiers_ouverts;
/*END_EXTERN*/
-
+/* variables globales */
static gboolean block_menu_cb = FALSE;
-static GtkUIManager *ui_manager;
-static gint merge_id = -1;
static gint recent_files_merge_id = -1;
static gint move_to_account_merge_id = -1;
-static const gchar *ui_manager_buffer =
-"<ui>"
-" <menubar>"
-" <menu name='FileMenu' action='FileMenuAction' >"
-" <menuitem name='New' action='NewAction'/>"
-" <menuitem name='Open' action='OpenAction'/>"
-" <menu name='RecentFiles' action='RecentFilesAction'>"
-" </menu>"
-" <separator/>"
-" <menuitem name='Save' action='SaveAction'/>"
-" <menuitem name='SaveAs' action='SaveAsAction'/>"
-" <separator/>"
-" <menuitem name='ImportFile' action='ImportFileAction'/>"
-" <menuitem name='ExportFile' action='ExportFileAction'/>"
-" <separator/>"
-" <menuitem name='CreateArchive' action='CreateArchiveAction'/>"
-" <menuitem name='ExportArchive' action='ExportArchiveAction'/>"
-" <separator/>"
-" <menuitem name='DebugFile' action='DebugFileAction'/>"
-" <menuitem name='Obfuscate' action='ObfuscateAction'/>"
-" <menuitem name='ObfuscateQif' action='ObfuscateQifAction'/>"
-" <menuitem name='DebugMode' action='DebugModeAction'/>"
-" <separator/>"
-" <menuitem name='Close' action='CloseAction'/>"
-" <menuitem name='Quit' action='QuitAction'/>"
-" </menu>"
-" <menu name='EditMenu' action='EditMenuAction' >"
-" <menuitem name='EditTransaction' action='EditTransactionAction'/>"
-" <separator/>"
-" <menuitem name='NewTransaction' action='NewTransactionAction'/>"
-" <menuitem name='RemoveTransaction' action='RemoveTransactionAction'/>"
-" <menuitem name='TemplateTransaction' action='TemplateTransactionAction'/>"
-" <menuitem name='CloneTransaction' action='CloneTransactionAction'/>"
-" <separator/>"
-" <menuitem name='ConvertToScheduled' action='ConvertToScheduledAction'/>"
-" <menu name='MoveToAnotherAccount' action='MoveToAnotherAccountAction'>"
-" </menu>"
-" <separator/>"
-" <menuitem name='NewAccount' action='NewAccountAction'/>"
-" <menuitem name='RemoveAccount' action='RemoveAccountAction'/>"
-#ifndef GTKOSXAPPLICATION
-" <separator/>"
-#endif
-" <menuitem name='Preferences' action='PrefsAction'/>"
-" </menu>"
-" <menu name='ViewMenu' action='ViewMenuAction'>"
-" <menuitem name='ShowTransactionForm' action='ShowTransactionFormAction'/>"
-" <menuitem name='ShowReconciled' action='ShowReconciledAction'/>"
-" <menuitem name='ShowArchived' action='ShowArchivedAction'/>"
-" <menuitem name='ShowClosed' action='ShowClosedAction'/>"
-" <separator/>"
-" <menuitem name='ShowOneLine' action='ShowOneLineAction'/>"
-" <menuitem name='ShowTwoLines' action='ShowTwoLinesAction'/>"
-" <menuitem name='ShowThreeLines' action='ShowThreeLinesAction'/>"
-" <menuitem name='ShowFourLines' action='ShowFourLinesAction'/>"
-" <separator/>"
-" <menuitem name='InitwidthCol' action='InitwidthColAction'/>"
-" </menu>"
-" <menu name='Help' action='HelpMenuAction' >"
-" <menuitem name='Manual' action='ManualAction'/>"
-" <menuitem name='QuickStart' action='QuickStartAction'/>"
-" <menuitem name='Translation' action='TranslationAction'/>"
-" <menuitem name='About' action='AboutAction'/>"
-" <separator/>"
-" <menuitem name='GrisbiWebsite' action='GrisbiWebsiteAction'/>"
-" <menuitem name='ReportBug' action='ReportBugAction'/>"
-" <separator/>"
-" <menuitem name='Tip' action='TipAction'/>"
-" </menu>"
-" </menubar>"
-"</ui>";
-
-
-GtkWidget *init_menus ( GtkWidget *vbox )
-{
- GtkWidget *menubar;
- GtkActionGroup *actions;
-
- /* remind of GtkActionEntry : name, stock_id, label, accelerator, tooltip, callback */
- GtkActionEntry entries[] =
- {
- /* File menu */
- {"FileMenuAction", NULL, _("_File"), NULL, NULL, NULL},
- #ifdef GTKOSXAPPLICATION
- { "NewAction", GTK_STOCK_NEW, _("_New account file..."), "<Meta>N", NULL,
- G_CALLBACK ( gsb_file_new ) },
- {"OpenAction", GTK_STOCK_OPEN, _("_Open..."), "<Meta>O", NULL,
- G_CALLBACK ( gsb_file_open_menu ) },
- {"RecentFilesAction", NULL, _("_Recently opened files"), NULL, NULL, NULL },
- {"SaveAction", GTK_STOCK_SAVE, _("_Save"), "<Meta>S", NULL,
- G_CALLBACK ( gsb_file_save ) },
- #else
- { "NewAction", GTK_STOCK_NEW, _("_New account file..."), NULL, NULL,
- G_CALLBACK ( gsb_file_new ) },
- {"OpenAction", GTK_STOCK_OPEN, _("_Open..."), NULL, NULL,
- G_CALLBACK ( gsb_file_open_menu ) },
- {"RecentFilesAction", NULL, _("_Recently opened files"), NULL, NULL, NULL },
- {"SaveAction", GTK_STOCK_SAVE, _("_Save"), NULL, NULL,
- G_CALLBACK ( gsb_file_save ) },
- #endif
- {"SaveAsAction", GTK_STOCK_SAVE_AS, _("_Save as..."), NULL, NULL,
- G_CALLBACK ( gsb_file_save_as ) },
- {"ImportFileAction", GTK_STOCK_CONVERT, _("_Import file..."), NULL, NULL,
- G_CALLBACK ( importer_fichier ) },
- { "ExportFileAction", GTK_STOCK_CONVERT, _("_Export accounts as QIF/CSV file..."), NULL, NULL,
- G_CALLBACK ( export_accounts ) },
- {"CreateArchiveAction", GTK_STOCK_CLEAR, _("Archive transactions..."), NULL, NULL,
- G_CALLBACK ( gsb_assistant_archive_run_by_menu ) },
- {"ExportArchiveAction", GTK_STOCK_HARDDISK, _("_Export an archive as GSB/QIF/CSV file..."), NULL, NULL,
- G_CALLBACK ( gsb_assistant_archive_export_run ) },
- {"DebugFileAction", GTK_STOCK_FIND, _("_Debug account file..."), "", NULL,
- G_CALLBACK ( gsb_debug ) },
- {"ObfuscateAction", GTK_STOCK_FIND, _("_Obfuscate account file..."), "", NULL,
- G_CALLBACK ( file_obfuscate_run ) },
- {"ObfuscateQifAction", GTK_STOCK_FIND, _("_Obfuscate QIF file..."), "", NULL,
- G_CALLBACK ( file_obfuscate_qif_run ) },
- #ifdef GTKOSXAPPLICATION
- {"CloseAction", GTK_STOCK_CLOSE, _("_Close"), "<Meta>W", NULL,
- G_CALLBACK ( gsb_file_close ) },
- #else
- {"CloseAction", GTK_STOCK_CLOSE, _("_Close"), NULL, NULL,
- G_CALLBACK ( gsb_file_close ) },
- #endif
- {"QuitAction", GTK_STOCK_QUIT, _("_Quit"), NULL, NULL,
- G_CALLBACK ( gsb_main_grisbi_close ) },
-
- /* Editmenu */
- {"EditMenuAction", NULL, _("_Edit"), NULL, NULL, NULL },
- {"EditTransactionAction", GTK_STOCK_EDIT, _("_Edit transaction"), "", NULL,
- G_CALLBACK ( gsb_transactions_list_edit_current_transaction ) },
- {"NewTransactionAction", GTK_STOCK_NEW, _("_New transaction"), "", NULL,
- G_CALLBACK ( new_transaction ) },
- {"RemoveTransactionAction", GTK_STOCK_DELETE, _("_Remove transaction"), "", NULL,
- G_CALLBACK ( remove_transaction ) },
- {"TemplateTransactionAction", GTK_STOCK_COPY, _("Use selected transaction as a template"), "", NULL,
- G_CALLBACK ( gsb_transactions_list_clone_template ) },
- {"CloneTransactionAction", GTK_STOCK_COPY, _("_Clone transaction"), "", NULL,
- G_CALLBACK ( clone_selected_transaction ) },
- {"ConvertToScheduledAction", GTK_STOCK_CONVERT, _("Convert to _scheduled transaction"), NULL, NULL,
- G_CALLBACK ( schedule_selected_transaction ) },
- {"MoveToAnotherAccountAction", NULL, _("_Move transaction to another account"), NULL, NULL, NULL },
- {"NewAccountAction", GTK_STOCK_NEW, _("_New account"), "", NULL,
- G_CALLBACK ( gsb_assistant_account_run ) },
- {"RemoveAccountAction", GTK_STOCK_DELETE, _("_Remove current account"), "", NULL,
- G_CALLBACK ( gsb_account_delete ) },
- {"PrefsAction", GTK_STOCK_PREFERENCES, _("_Preferences"), NULL, NULL,
- G_CALLBACK ( preferences ) },
-
- /* View menu */
- {"ViewMenuAction", NULL, _("_View"), NULL, NULL, NULL },
- {"InitwidthColAction", NULL, _("Reset the column width"), NULL, NULL,
- G_CALLBACK ( gsb_menu_reinit_largeur_col_menu ) },
-
- /* Help menu */
- {"HelpMenuAction", NULL, _("_Help"), NULL, NULL, NULL },
- #ifdef GTKOSXAPPLICATION
- {"ManualAction", GTK_STOCK_HELP, _("_Manual"), "<Meta>H", NULL,
- G_CALLBACK ( help_manual ) },
- #else
- {"ManualAction", GTK_STOCK_HELP, _("_Manual"), NULL, NULL,
- G_CALLBACK ( help_manual ) },
- #endif
- {"QuickStartAction", NULL, _("_Quick start"), NULL, NULL,
- G_CALLBACK ( help_quick_start ) },
- {"TranslationAction", NULL, _("_Translation"), NULL, NULL,
- G_CALLBACK ( help_translation ) },
- {"AboutAction", GTK_STOCK_ABOUT, _("_About Grisbi..."), NULL, NULL,
- G_CALLBACK ( a_propos ) },
- {"GrisbiWebsiteAction", NULL, _("_Grisbi website"), NULL, NULL,
- G_CALLBACK ( help_website ) },
- {"ReportBugAction", NULL, _("_Report a bug"), NULL, NULL,
- G_CALLBACK ( help_bugreport ) },
- {"TipAction", GTK_STOCK_DIALOG_INFO, _("_Tip of the day"), NULL, NULL,
- G_CALLBACK ( force_display_tip ) },
- };
-
- GtkRadioActionEntry radio_entries[] =
- {
- /* Name, StockID, Label, Accelerator, Tooltip, Value */
- {"ShowOneLineAction", NULL, _("Show _one line per transaction"), NULL, NULL,
- ONE_LINE_PER_TRANSACTION },
- {"ShowTwoLinesAction", NULL, _("Show _two lines per transaction"), NULL, NULL,
- TWO_LINES_PER_TRANSACTION },
- {"ShowThreeLinesAction", NULL, _("Show _three lines per transaction"), NULL, NULL,
- THREE_LINES_PER_TRANSACTION },
- {"ShowFourLinesAction", NULL, _("Show _four lines per transaction"), NULL, NULL,
- FOUR_LINES_PER_TRANSACTION },
- };
-
- GtkToggleActionEntry toggle_entries[] =
- {
- {"DebugModeAction", NULL, _("Debug mode"), NULL, NULL,
- G_CALLBACK ( gsb_debug_start_log ), etat.debug_mode },
- {"ShowTransactionFormAction", NULL, _("Show transaction _form"), NULL, NULL,
- G_CALLBACK ( gsb_gui_toggle_show_form ), etat.formulaire_toujours_affiche },
-#ifdef GTKOSXAPPLICATION
- {"ShowReconciledAction", NULL, _("Show _reconciled"), "<Meta>R", NULL,
- G_CALLBACK ( gsb_gui_toggle_show_reconciled ), 0 },
- {"ShowArchivedAction", NULL, _("Show _lines archives"), "<Meta>L", NULL,
- G_CALLBACK ( gsb_gui_toggle_show_archived ), 0 },
-#else
- {"ShowReconciledAction", NULL, _("Show _reconciled"), "<Alt>R", NULL,
- G_CALLBACK ( gsb_gui_toggle_show_reconciled ), 0 },
- {"ShowArchivedAction", NULL, _("Show _lines archives"), "<Alt>L", NULL,
- G_CALLBACK ( gsb_gui_toggle_show_archived ), 0 },
-#endif
- {"ShowClosedAction", NULL, _("Show _closed accounts"), NULL, NULL,
- G_CALLBACK ( gsb_gui_toggle_show_closed_accounts ), etat.show_closed_accounts }
- };
-
- ui_manager = gtk_ui_manager_new ();
-
- actions = gtk_action_group_new ( "Actions" );
-
- gtk_action_group_add_actions (actions,
- entries,
- G_N_ELEMENTS ( entries ),
- (gpointer) run.window );
-
- gtk_action_group_add_radio_actions ( actions,
- radio_entries,
- G_N_ELEMENTS ( radio_entries ),
- -1,
- G_CALLBACK ( gsb_gui_toggle_line_view_mode ),
- NULL );
-
- gtk_action_group_add_toggle_actions ( actions,
- toggle_entries,
- G_N_ELEMENTS ( toggle_entries ),
- NULL );
-
- gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
- merge_id = gtk_ui_manager_add_ui_from_string ( ui_manager,
- ui_manager_buffer, -1, NULL );
-
-#ifndef GTKOSXAPPLICATION
- gtk_window_add_accel_group ( GTK_WINDOW ( run.window ),
- gtk_ui_manager_get_accel_group ( ui_manager ) );
-#endif /* GTKOSXAPPLICATION */
-
- menubar = gtk_ui_manager_get_widget ( ui_manager, "/menubar" );
- gtk_box_pack_start ( GTK_BOX ( vbox ), menubar, FALSE, TRUE, 0 );
-
- gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/NewTransaction", FALSE );
- gsb_menu_transaction_operations_set_sensitive ( FALSE );
-
- return menubar;
-}
-
-
/**
* Blank the "Recent files submenu".
*/
void efface_derniers_fichiers_ouverts ( void )
{
+ GtkUIManager *ui_manager;
+
+ ui_manager = grisbi_window_get_ui_manager ( grisbi_app_get_active_window ( NULL ) );
+
gtk_ui_manager_remove_ui ( ui_manager, recent_files_merge_id );
}
@@ -348,32 +76,40 @@ void efface_derniers_fichiers_ouverts ( void )
*/
gboolean affiche_derniers_fichiers_ouverts ( void )
{
+ GtkActionGroup *action_group;
+ GrisbiAppConf *conf;
+ GtkUIManager *ui_manager;
+ gint recent_files_merge_id = -1;
gint i;
- GtkActionGroup * action_group;
+
+ devel_debug (NULL);
+ conf = grisbi_app_get_conf ( );
efface_derniers_fichiers_ouverts ();
- if ( conf.nb_derniers_fichiers_ouverts > conf.nb_max_derniers_fichiers_ouverts )
+ if ( conf->nb_derniers_fichiers_ouverts > conf->nb_max_derniers_fichiers_ouverts )
{
- conf.nb_derniers_fichiers_ouverts = conf.nb_max_derniers_fichiers_ouverts;
+ conf->nb_derniers_fichiers_ouverts = conf->nb_max_derniers_fichiers_ouverts;
}
- if ( ! conf.nb_derniers_fichiers_ouverts || ! conf.nb_max_derniers_fichiers_ouverts )
+ if ( !conf->nb_derniers_fichiers_ouverts || !conf->nb_max_derniers_fichiers_ouverts )
{
return FALSE;
}
+ ui_manager = grisbi_window_get_ui_manager ( grisbi_app_get_active_window ( NULL ) );
+
action_group = gtk_action_group_new ( "Group2" );
- for ( i = 0 ; i < conf.nb_derniers_fichiers_ouverts ; i++ )
+ for ( i = 0 ; i < conf->nb_derniers_fichiers_ouverts ; i++ )
{
gchar *tmp_name;
GtkAction *action;
tmp_name = g_strdup_printf ( "LastFile%d", i );
- action = gtk_action_new ( tmp_name,
- tab_noms_derniers_fichiers_ouverts[i],
+ action = gtk_action_new ( tmp_name,
+ conf->tab_noms_derniers_fichiers_ouverts[i],
"",
"" );
g_free ( tmp_name );
@@ -388,7 +124,7 @@ gboolean affiche_derniers_fichiers_ouverts ( void )
recent_files_merge_id = gtk_ui_manager_new_merge_id ( ui_manager );
- for ( i=0 ; i < conf.nb_derniers_fichiers_ouverts ; i++ )
+ for ( i=0 ; i < conf->nb_derniers_fichiers_ouverts ; i++ )
{
gchar *tmp_name;
gchar *tmp_label;
@@ -397,8 +133,8 @@ gboolean affiche_derniers_fichiers_ouverts ( void )
tmp_label = g_strdup_printf ( "_%d LastFile%d", i, i );
gtk_ui_manager_add_ui ( ui_manager,
- recent_files_merge_id,
- "/menubar/FileMenu/RecentFiles/",
+ recent_files_merge_id,
+ "/menubar/FileMenu/RecentFiles/FileRecentsPlaceholder",
tmp_label,
tmp_name,
GTK_UI_MANAGER_MENUITEM,
@@ -408,20 +144,12 @@ gboolean affiche_derniers_fichiers_ouverts ( void )
g_free ( tmp_label );
}
- /* add a separator */
- gtk_ui_manager_add_ui ( ui_manager,
- merge_id,
- "/menubar/FileMenu/Open/",
- NULL,
- NULL,
- GTK_UI_MANAGER_SEPARATOR,
- FALSE );
-
gtk_ui_manager_ensure_update ( ui_manager );
#ifdef GTKOSXAPPLICATION
grisbi_osx_app_update_menus_cb ( );
#endif /* GTKOSXAPPLICATION */
+
return FALSE;
}
@@ -537,14 +265,17 @@ gboolean help_bugreport ( void )
*/
gboolean gsb_gui_sensitive_menu_item ( gchar *item_name, gboolean state )
{
- GtkWidget * widget;
+ GtkWidget *widget;
+ GtkUIManager *ui_manager;
+
+ ui_manager = grisbi_window_get_ui_manager ( grisbi_app_get_active_window ( NULL ) );
widget = gtk_ui_manager_get_widget ( ui_manager, item_name );
if ( widget && GTK_IS_WIDGET(widget) )
{
- gtk_widget_set_sensitive ( widget, state );
- return TRUE;
+ gtk_widget_set_sensitive ( widget, state );
+ return TRUE;
}
return FALSE;
}
@@ -658,7 +389,10 @@ gboolean gsb_gui_toggle_show_archived ( void )
*/
gboolean gsb_gui_toggle_show_closed_accounts ( void )
{
- etat.show_closed_accounts = ! etat.show_closed_accounts;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
+ conf->show_closed_accounts = ! conf->show_closed_accounts;
gsb_gui_navigation_create_account_list ( gsb_gui_navigation_get_model ( ) );
gsb_gui_navigation_update_home_page ( );
@@ -681,49 +415,52 @@ gboolean gsb_menu_update_view_menu ( gint account_number )
{
gchar * item_name = NULL;
gchar *tmpstr;
+ GtkUIManager *ui_manager;
devel_debug_int (account_number);
+ ui_manager = grisbi_window_get_ui_manager ( grisbi_app_get_active_window ( NULL ) );
+
block_menu_cb = TRUE;
/* update the showing of reconciled transactions */
tmpstr = "/menubar/ViewMenu/ShowReconciled";
gtk_toggle_action_set_active ( GTK_TOGGLE_ACTION (
- gtk_ui_manager_get_action ( ui_manager, tmpstr) ),
- gsb_data_account_get_r ( account_number ) );
+ gtk_ui_manager_get_action ( ui_manager, tmpstr) ),
+ gsb_data_account_get_r ( account_number ) );
tmpstr = "/menubar/ViewMenu/ShowTransactionForm";
gtk_toggle_action_set_active ( GTK_TOGGLE_ACTION (
- gtk_ui_manager_get_action ( ui_manager, tmpstr) ),
- gsb_form_is_visible ( ) );
+ gtk_ui_manager_get_action ( ui_manager, tmpstr) ),
+ gsb_form_is_visible ( ) );
/* update the showing of archived transactions */
tmpstr = "/menubar/ViewMenu/ShowArchived";
gtk_toggle_action_set_active ( GTK_TOGGLE_ACTION (
- gtk_ui_manager_get_action ( ui_manager, tmpstr) ),
- gsb_data_account_get_l ( account_number ) );
+ gtk_ui_manager_get_action ( ui_manager, tmpstr) ),
+ gsb_data_account_get_l ( account_number ) );
/* update the number of line showed */
switch ( gsb_data_account_get_nb_rows (account_number))
{
- default:
- case 1 :
- item_name = "/menubar/ViewMenu/ShowOneLine";
- break;
- case 2 :
- item_name = "/menubar/ViewMenu/ShowTwoLines";
- break;
- case 3 :
- item_name = "/menubar/ViewMenu/ShowThreeLines";
- break;
- case 4 :
- item_name = "/menubar/ViewMenu/ShowFourLines";
- break;
+ default:
+ case 1 :
+ item_name = "/menubar/ViewMenu/ShowOneLine";
+ break;
+ case 2 :
+ item_name = "/menubar/ViewMenu/ShowTwoLines";
+ break;
+ case 3 :
+ item_name = "/menubar/ViewMenu/ShowThreeLines";
+ break;
+ case 4 :
+ item_name = "/menubar/ViewMenu/ShowFourLines";
+ break;
}
gtk_toggle_action_set_active ( GTK_TOGGLE_ACTION (
gtk_ui_manager_get_action ( ui_manager, item_name ) ),
- TRUE );
+ TRUE );
block_menu_cb = FALSE;
return FALSE;
@@ -740,10 +477,13 @@ gboolean gsb_menu_update_view_menu ( gint account_number )
gboolean gsb_menu_update_accounts_in_menus ( void )
{
GSList *list_tmp;
- GtkActionGroup * action_group;
+ GtkActionGroup *action_group;
+ GtkUIManager *ui_manager;
+
+ ui_manager = grisbi_window_get_ui_manager ( grisbi_app_get_active_window ( NULL ) );
- if ( move_to_account_merge_id != -1 )
- gtk_ui_manager_remove_ui ( ui_manager, move_to_account_merge_id );
+ if ( move_to_account_merge_id != -1 )
+ gtk_ui_manager_remove_ui ( ui_manager, move_to_account_merge_id );
move_to_account_merge_id = gtk_ui_manager_new_merge_id ( ui_manager );
action_group = gtk_action_group_new ( "Group3" );
@@ -753,38 +493,40 @@ gboolean gsb_menu_update_accounts_in_menus ( void )
while ( list_tmp )
{
- gint i;
-
- i = gsb_data_account_get_no_account ( list_tmp -> data );
-
- if ( !gsb_data_account_get_closed_account ( i ))
- {
- gchar * tmp_name = g_strdup_printf ( "MoveToAccount%d", i );
- gchar * account_name = gsb_data_account_get_name(i);
- GtkAction * action;
-
- if ( ! account_name )
- {
- account_name = _("Unnamed account");
- }
- action = gtk_action_new ( tmp_name, account_name, "", "" );
-
- if ( gsb_gui_navigation_get_current_account () == i )
- gtk_action_set_sensitive ( action, FALSE );
-
- gtk_action_group_add_action ( action_group, action );
-
- g_signal_connect ( action, "activate",
- G_CALLBACK(move_selected_operation_to_account_nb),
- GINT_TO_POINTER(i) );
- gtk_ui_manager_add_ui ( ui_manager, recent_files_merge_id,
- "/menubar/EditMenu/MoveToAnotherAccount/",
- tmp_name, tmp_name,
- GTK_UI_MANAGER_MENUITEM, FALSE );
- g_free ( tmp_name );
- }
-
- list_tmp = list_tmp -> next;
+ gint i;
+
+ i = gsb_data_account_get_no_account ( list_tmp -> data );
+
+ if ( !gsb_data_account_get_closed_account ( i ))
+ {
+ gchar * tmp_name = g_strdup_printf ( "MoveToAccount%d", i );
+ gchar * account_name = gsb_data_account_get_name(i);
+ GtkAction * action;
+
+ if ( ! account_name )
+ {
+ account_name = _("Unnamed account");
+ }
+ action = gtk_action_new ( tmp_name, account_name, "", "" );
+
+ if ( gsb_gui_navigation_get_current_account () == i )
+ gtk_action_set_sensitive ( action, FALSE );
+
+ gtk_action_group_add_action ( action_group, action );
+
+ g_signal_connect ( action,
+ "activate",
+ G_CALLBACK ( move_selected_operation_to_account_nb ),
+ GINT_TO_POINTER ( i ) );
+
+ gtk_ui_manager_add_ui ( ui_manager, recent_files_merge_id,
+ "/menubar/EditMenu/MoveToAnotherAccount/",
+ tmp_name, tmp_name,
+ GTK_UI_MANAGER_MENUITEM, FALSE );
+ g_free ( tmp_name );
+ }
+
+ list_tmp = list_tmp -> next;
}
gtk_ui_manager_insert_action_group ( ui_manager, action_group, 2 );
@@ -794,7 +536,6 @@ gboolean gsb_menu_update_accounts_in_menus ( void )
}
-
/**
* Set sensitiveness of all menu items that work on the selected transaction.
@@ -824,18 +565,6 @@ gboolean gsb_menu_transaction_operations_set_sensitive ( gboolean sensitive )
*
*
**/
-GtkUIManager *gsb_menu_get_ui_manager ( void )
-{
- return ui_manager;
-}
-
-
-/**
- *
- *
- *
- *
- **/
gboolean gsb_menu_reinit_largeur_col_menu ( void )
{
gint current_page;
@@ -873,6 +602,53 @@ gboolean gsb_menu_set_block_menu_cb ( gboolean etat )
}
+/**
+ *
+ *
+ * \param
+ *
+ * \return
+ **/
+void gsb_menu_sensitive ( gboolean sensitif )
+{
+ GrisbiWindow *window;
+ GtkUIManager *ui_manager;
+ GtkActionGroup *actions;
+
+ devel_debug_int (sensitif);
+
+ window = grisbi_app_get_active_window ( NULL );
+ ui_manager = grisbi_app_get_active_ui_manager ( );
+
+
+ actions = grisbi_window_get_action_group ( window, "DivisionSensitiveActions" );
+ gtk_action_group_set_sensitive ( actions, sensitif );
+ actions = grisbi_window_get_action_group ( window, "FileDebugToggleAction" );
+ gtk_action_group_set_sensitive ( actions, sensitif );
+
+}
+
+
+/**
+ *
+ *
+ * \param
+ *
+ * \return
+ **/
+void gsb_menu_full_screen_mode ( void )
+{
+ GrisbiWindow *window;
+ GrisbiAppConf *conf;
+
+ window = grisbi_app_get_active_window ( NULL );
+ conf = grisbi_app_get_conf ( );
+ if ( conf->full_screen )
+ gtk_window_unfullscreen ( GTK_WINDOW ( window ) );
+ else
+ gtk_window_fullscreen ( GTK_WINDOW ( window ) );
+}
+
/* Local Variables: */
/* c-basic-offset: 4 */
/* End: */
diff --git a/src/menu.h b/src/menu.h
index 765bf75..ac0f884 100644
--- a/src/menu.h
+++ b/src/menu.h
@@ -26,12 +26,21 @@ void gsb_gui_toggle_line_view_mode ( GtkRadioAction *action,
GtkRadioAction *current,
gpointer user_data );
gboolean gsb_gui_toggle_show_archived ( void );
+gboolean gsb_gui_toggle_show_closed_accounts ( void );
+gboolean gsb_gui_toggle_show_form ( void );
gboolean gsb_gui_toggle_show_reconciled ( void );
+void gsb_menu_full_screen_mode ( void );
GtkUIManager *gsb_menu_get_ui_manager ( void );
+gboolean gsb_menu_reinit_largeur_col_menu ( void );
+void gsb_menu_sensitive ( gboolean sensitif );
gboolean gsb_menu_set_block_menu_cb ( gboolean etat );
gboolean gsb_menu_transaction_operations_set_sensitive ( gboolean sensitive );
gboolean gsb_menu_update_accounts_in_menus ( void );
gboolean gsb_menu_update_view_menu ( gint account_number );
-GtkWidget *init_menus ( GtkWidget *vbox );
+gboolean help_bugreport ( void );
+gboolean help_manual ( void );
+gboolean help_quick_start ( void );
+gboolean help_translation ( void );
+gboolean help_website ( void );
/* END_DECLARATION */
#endif
diff --git a/src/navigation.c b/src/navigation.c
index 04affb7..0fa272c 100644
--- a/src/navigation.c
+++ b/src/navigation.c
@@ -1,6 +1,6 @@
/* ************************************************************************** */
/* */
-/* Copyright (C) 2000-2008 Cédric Auger (cedric at grisbi.org) */
+/* Copyright (C) 2000-2008 Cédric Auger (cedric at grisbi.org) */
/* 2003-2008 Benjamin Drieu (bdrieu at april.org) */
/* http://www.grisbi.org */
/* */
@@ -37,6 +37,8 @@
#include "categories_onglet.h"
#include "etats_onglet.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
+#include "grisbi_window.h"
#include "gsb_account.h"
#include "gsb_account_property.h"
#include "gsb_assistant_account.h"
@@ -102,15 +104,15 @@ static gboolean gsb_gui_navigation_remove_report_iterator ( GtkTreeModel *model,
static gboolean gsb_gui_navigation_select_line ( GtkTreeSelection *selection,
GtkTreeModel *model );
static void gsb_gui_navigation_set_selection_branch ( GtkTreeSelection *selection,
- GtkTreeIter * iter, gint page,
- gint account_number, gpointer report );
+ GtkTreeIter * iter, gint page,
+ gint account_number, gpointer report );
static void gsb_gui_navigation_set_navigation_pages ( GtkTreeModel *model,
gint type_page,
gint ordre );
-static void gsb_gui_navigation_set_selection_branch ( GtkTreeSelection *selection,
- GtkTreeIter *iter,
+static void gsb_gui_navigation_set_selection_branch ( GtkTreeSelection *selection,
+ GtkTreeIter *iter,
gint page,
- gint account_number,
+ gint account_number,
gpointer report );
static void gsb_gui_navigation_update_account_iter ( GtkTreeModel *model,
GtkTreeIter * account_iter,
@@ -158,9 +160,6 @@ enum navigation_cols {
NAVIGATION_TOTAL,
};
-/** Navigation tree view. */
-static GtkWidget *navigation_tree_view = NULL;
-
/** Model of the navigation tree. */
static GtkTreeModel *navigation_model = NULL;
@@ -190,7 +189,7 @@ static gboolean report_expander = FALSE;
static GtkTargetEntry row_targets[] =
{
- { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, 0 }
+ { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, 0 }
};
@@ -200,52 +199,52 @@ static GtkTargetEntry row_targets[] =
*
* \return The newly allocated pane.
*/
-GtkWidget *gsb_gui_navigation_create_navigation_pane ( void )
+void gsb_gui_navigation_create_navigation_pane ( void )
{
- GtkWidget * sw, *vbox;
+ GtkWidget *vbox;
+ GtkWidget *sw;
+ GtkWidget *navigation_tree_view;
GQueue *tmp_queue;
- GtkCellRenderer * renderer;
- GtkTreeDragDestIface * navigation_dst_iface;
- GtkTreeDragSourceIface * navigation_src_iface;
- GtkTreeViewColumn * column;
- gint i;
+ GtkCellRenderer *renderer;
+ GtkTreeDragDestIface *navigation_dst_iface;
+ GtkTreeDragSourceIface *navigation_src_iface;
+ GtkTreeViewColumn *column;
+ gint i;
gint xpad;
gint ypad;
+ GrisbiAppConf *conf;
- vbox = gtk_vbox_new ( FALSE, 6 );
+ conf = grisbi_app_get_conf ( );
- sw = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_NEVER,
- GTK_POLICY_AUTOMATIC);
+ vbox = grisbi_window_get_widget_by_name ( "vbox_left_panel" );
+ sw = grisbi_window_get_widget_by_name ( "sw_left_panel" );
/* Create the view */
- navigation_tree_view = gtk_tree_view_new ();
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
gtk_tree_view_set_headers_visible ( GTK_TREE_VIEW(navigation_tree_view), FALSE );
- gtk_container_add ( GTK_CONTAINER(sw), navigation_tree_view );
-
- navigation_model = GTK_TREE_MODEL ( gtk_tree_store_new ( NAVIGATION_TOTAL,
- GDK_TYPE_PIXBUF, /* NAVIGATION_PIX */
- G_TYPE_BOOLEAN, /* NAVIGATION_PIX_VISIBLE */
- G_TYPE_STRING, /* NAVIGATION_TEXT */
- G_TYPE_INT, /* NAVIGATION_FONT */
- G_TYPE_INT, /* NAVIGATION_PAGE */
- G_TYPE_INT, /* NAVIGATION_ACCOUNT */
- G_TYPE_INT, /* NAVIGATION_REPORT */
- G_TYPE_INT, /* NAVIGATION_SENSITIVE */
- G_TYPE_INT ) ); /* NAVIGATION_ORDRE */
+
+ navigation_model = GTK_TREE_MODEL ( gtk_tree_store_new ( NAVIGATION_TOTAL,
+ GDK_TYPE_PIXBUF, /* NAVIGATION_PIX */
+ G_TYPE_BOOLEAN, /* NAVIGATION_PIX_VISIBLE */
+ G_TYPE_STRING, /* NAVIGATION_TEXT */
+ G_TYPE_INT, /* NAVIGATION_FONT */
+ G_TYPE_INT, /* NAVIGATION_PAGE */
+ G_TYPE_INT, /* NAVIGATION_ACCOUNT */
+ G_TYPE_INT, /* NAVIGATION_REPORT */
+ G_TYPE_INT, /* NAVIGATION_SENSITIVE */
+ G_TYPE_INT ) ); /* NAVIGATION_ORDRE */
gtk_tree_sortable_set_sort_column_id ( GTK_TREE_SORTABLE ( navigation_model ),
NAVIGATION_ORDRE, GTK_SORT_ASCENDING );
- gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( navigation_model ),
+ gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( navigation_model ),
NAVIGATION_ORDRE, navigation_sort_column,
NULL, NULL );
/* Enable drag & drop */
gtk_tree_view_enable_model_drag_source ( GTK_TREE_VIEW ( navigation_tree_view ),
- GDK_BUTTON1_MASK,
+ GDK_BUTTON1_MASK,
row_targets, 1,
- GDK_ACTION_MOVE | GDK_ACTION_COPY );
+ GDK_ACTION_MOVE | GDK_ACTION_COPY );
gtk_tree_view_enable_model_drag_dest ( GTK_TREE_VIEW ( navigation_tree_view ),
row_targets,
1,
@@ -280,12 +279,12 @@ GtkWidget *gsb_gui_navigation_create_navigation_pane ( void )
G_CALLBACK ( gsb_gui_navigation_check_key_press ),
navigation_model );
- g_signal_connect ( navigation_tree_view,
+ g_signal_connect ( navigation_tree_view,
"scroll-event",
G_CALLBACK ( gsb_gui_navigation_check_scroll ),
NULL );
- if ( conf.active_scrolling_left_pane == 0 )
+ if ( conf->active_scrolling_left_pane == 0 )
g_signal_handlers_block_by_func ( gsb_gui_navigation_get_tree_view ( ),
G_CALLBACK ( gsb_gui_navigation_check_scroll ),
NULL );
@@ -334,9 +333,6 @@ GtkWidget *gsb_gui_navigation_create_navigation_pane ( void )
gsb_gui_navigation_set_navigation_pages ( navigation_model, page -> type_page, i );
}
- /* Finish tree. */
- gtk_box_pack_start ( GTK_BOX(vbox), sw, TRUE, TRUE, 0 );
-
/* Create calendar (hidden for now). */
scheduler_calendar = gsb_calendar_new ();
gtk_box_pack_end ( GTK_BOX(vbox), scheduler_calendar, FALSE, FALSE, 0 );
@@ -347,24 +343,23 @@ GtkWidget *gsb_gui_navigation_create_navigation_pane ( void )
/* signals of tree_view */
g_signal_connect ( G_OBJECT ( navigation_tree_view ),
- "button-press-event",
- G_CALLBACK ( gsb_gui_navigation_button_press ),
- NULL );
+ "button-press-event",
+ G_CALLBACK ( gsb_gui_navigation_button_press ),
+ NULL );
g_signal_connect ( G_OBJECT ( navigation_tree_view ),
- "row-collapsed",
- G_CALLBACK ( gsb_gui_navigation_activate_expander ),
- GINT_TO_POINTER ( 0 ) );
+ "row-collapsed",
+ G_CALLBACK ( gsb_gui_navigation_activate_expander ),
+ GINT_TO_POINTER ( 0 ) );
g_signal_connect ( G_OBJECT ( navigation_tree_view ),
- "row-expanded",
- G_CALLBACK ( gsb_gui_navigation_activate_expander ),
- GINT_TO_POINTER ( 1 ) );
+ "row-expanded",
+ G_CALLBACK ( gsb_gui_navigation_activate_expander ),
+ GINT_TO_POINTER ( 1 ) );
- gtk_widget_show_all ( vbox );
gtk_widget_hide ( scheduler_calendar );
gtk_widget_hide ( reconcile_panel );
- return vbox;
+ /* return */
}
@@ -380,22 +375,24 @@ GtkWidget *gsb_gui_navigation_create_navigation_pane ( void )
* */
gint gsb_gui_navigation_get_current_page ( void )
{
+ GtkWidget *navigation_tree_view;
GtkTreeSelection *selection;
GtkTreeIter iter;
gint page;
- if (!navigation_tree_view)
- return -1;
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
+ if ( !navigation_tree_view )
+ return -1;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (navigation_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW ( navigation_tree_view ) );
- if (!gtk_tree_selection_get_selected (selection, NULL, &iter))
- return GSB_HOME_PAGE;
+ if ( !gtk_tree_selection_get_selected ( selection, NULL, &iter ) )
+ return GSB_HOME_PAGE;
- gtk_tree_model_get ( GTK_TREE_MODEL (navigation_model),
- &iter,
- NAVIGATION_PAGE, &page,
- -1);
+ gtk_tree_model_get ( GTK_TREE_MODEL ( navigation_model ),
+ &iter,
+ NAVIGATION_PAGE, &page,
+ -1 );
return page;
}
@@ -404,8 +401,8 @@ gint gsb_gui_navigation_get_current_page ( void )
/**
* return the account number selected
* rem : this is only for account number of the transactions list,
- * if we want the current account number, for transactions or scheduled, go to
- * see gsb_form_get_account_number
+ * if we want the current account number, for transactions or scheduled, go to
+ * see gsb_form_get_account_number
*
* \param
*
@@ -413,27 +410,29 @@ gint gsb_gui_navigation_get_current_page ( void )
* */
gint gsb_gui_navigation_get_current_account ( void )
{
+ GtkWidget *navigation_tree_view;
GtkTreeSelection *selection;
GtkTreeIter iter;
gint page;
gint account_number;
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
if ( !navigation_tree_view )
- return -1;
+ return -1;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (navigation_tree_view));
+ selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( navigation_tree_view ) );
- if (! gtk_tree_selection_get_selected (selection, NULL, &iter))
- return -1;
+ if (! gtk_tree_selection_get_selected ( selection, NULL, &iter ) )
+ return -1;
+
+ gtk_tree_model_get ( GTK_TREE_MODEL ( navigation_model ),
+ &iter,
+ NAVIGATION_PAGE, &page,
+ NAVIGATION_ACCOUNT, &account_number,
+ -1 );
- gtk_tree_model_get ( GTK_TREE_MODEL (navigation_model),
- &iter,
- NAVIGATION_PAGE, &page,
- NAVIGATION_ACCOUNT, &account_number,
- -1);
-
if ( page == GSB_ACCOUNT_PAGE )
- return account_number;
+ return account_number;
return -1;
}
@@ -447,8 +446,8 @@ gint gsb_gui_navigation_get_current_account ( void )
* \param
*
* \return the last account number (become the current account number once the
- * switch is finished...)
- *
+ * switch is finished...)
+ *
* */
gint gsb_gui_navigation_get_last_account ( void )
{
@@ -465,31 +464,35 @@ gint gsb_gui_navigation_get_last_account ( void )
* */
gint gsb_gui_navigation_get_current_report ( void )
{
+ GtkWidget *navigation_tree_view;
GtkTreeSelection *selection;
GtkTreeIter iter;
gint page;
- if ( ! navigation_tree_view )
- {
- return 0;
- }
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
+ if ( !navigation_tree_view )
+ return 0;
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (navigation_tree_view));
- if (! gtk_tree_selection_get_selected (selection, NULL, &iter))
- return 0;
+ if (! gtk_tree_selection_get_selected ( selection, NULL, &iter ) )
+ return 0;
+
+ gtk_tree_model_get ( GTK_TREE_MODEL ( navigation_model ),
+ &iter,
+ NAVIGATION_PAGE, &page,
+ -1 );
- gtk_tree_model_get ( GTK_TREE_MODEL (navigation_model),
- &iter,
- NAVIGATION_PAGE, &page,
- -1);
-
- if ( page == GSB_REPORTS_PAGE)
+ if ( page == GSB_REPORTS_PAGE )
{
- gint report_number;
- gtk_tree_model_get (GTK_TREE_MODEL(navigation_model), &iter, NAVIGATION_REPORT, &report_number, -1);
+ gint report_number;
+
+ gtk_tree_model_get ( GTK_TREE_MODEL ( navigation_model ),
+ &iter,
+ NAVIGATION_REPORT, &report_number,
+ -1 );
- return report_number;
+ return report_number;
}
return -1;
@@ -501,14 +504,17 @@ gint gsb_gui_navigation_get_current_report ( void )
/**
* Create a list of tree items that are shortcuts to accounts.
*
- * \param model Tree model to insert items into.
- * \param account_iter Parent iter.
+ * \param model Tree model to insert items into.
+ * \param account_iter Parent iter.
*/
void gsb_gui_navigation_create_account_list ( GtkTreeModel *model )
{
GSList *list_tmp;
GtkTreeIter parent, child;
GtkTreePath *path;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
path = gsb_gui_navigation_get_page_path ( model, GSB_HOME_PAGE );
gtk_tree_model_get_iter ( GTK_TREE_MODEL( model ), &parent, path );
@@ -525,8 +531,9 @@ void gsb_gui_navigation_create_account_list ( GtkTreeModel *model )
{
gint i = gsb_data_account_get_no_account ( list_tmp -> data );
- if ( etat.show_closed_accounts ||
- ! gsb_data_account_get_closed_account ( i ) )
+ if ( conf->show_closed_accounts
+ ||
+ !gsb_data_account_get_closed_account ( i ) )
{
gsb_gui_navigation_add_account ( i, FALSE );
}
@@ -537,6 +544,9 @@ void gsb_gui_navigation_create_account_list ( GtkTreeModel *model )
/* Expand stuff */
if ( account_expander )
{
+ GtkWidget *navigation_tree_view;
+
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
path = gtk_tree_model_get_path ( GTK_TREE_MODEL ( model ), &parent );
gtk_tree_view_expand_to_path ( GTK_TREE_VIEW ( navigation_tree_view ), path );
gtk_tree_path_free ( path );
@@ -548,8 +558,8 @@ void gsb_gui_navigation_create_account_list ( GtkTreeModel *model )
/**
* Create a list of tree items that are shortcuts to reports.
*
- * \param model Tree model to insert items into.
- * \param reports_iter Parent iter.
+ * \param model Tree model to insert items into.
+ * \param reports_iter Parent iter.
*/
void gsb_gui_navigation_create_report_list ( GtkTreeModel *model )
{
@@ -576,8 +586,8 @@ void gsb_gui_navigation_create_report_list ( GtkTreeModel *model )
report_number = gsb_data_report_get_report_number ( tmp_list -> data );
gtk_tree_store_append ( GTK_TREE_STORE ( model ), &child, &parent);
- gtk_tree_store_set(GTK_TREE_STORE(model), &child,
- NAVIGATION_PIX_VISIBLE, FALSE,
+ gtk_tree_store_set(GTK_TREE_STORE(model), &child,
+ NAVIGATION_PIX_VISIBLE, FALSE,
NAVIGATION_TEXT, gsb_data_report_get_report_name ( report_number ),
NAVIGATION_FONT, 400,
NAVIGATION_PAGE, GSB_REPORTS_PAGE,
@@ -585,13 +595,16 @@ void gsb_gui_navigation_create_report_list ( GtkTreeModel *model )
NAVIGATION_SENSITIVE, 1,
NAVIGATION_REPORT, report_number,
-1 );
-
+
tmp_list = tmp_list -> next;
}
/* Expand stuff */
if ( report_expander )
{
+ GtkWidget *navigation_tree_view;
+
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
path = gtk_tree_model_get_path ( GTK_TREE_MODEL ( model ), &parent );
gtk_tree_view_expand_to_path ( GTK_TREE_VIEW ( navigation_tree_view ), path );
gtk_tree_path_free ( path );
@@ -606,9 +619,9 @@ void gsb_gui_navigation_create_report_list ( GtkTreeModel *model )
*
*
*/
-gboolean navigation_sort_column ( GtkTreeModel *model,
+gboolean navigation_sort_column ( GtkTreeModel *model,
GtkTreeIter *a,
- GtkTreeIter *b,
+ GtkTreeIter *b,
gpointer user_data )
{
gint ordre_a, page_a, account_a, report_a;
@@ -617,14 +630,14 @@ gboolean navigation_sort_column ( GtkTreeModel *model,
if ( ! model )
return FALSE;
- gtk_tree_model_get ( model, a,
+ gtk_tree_model_get ( model, a,
NAVIGATION_PAGE, &page_a,
NAVIGATION_ACCOUNT, &account_a,
NAVIGATION_REPORT, &report_a,
NAVIGATION_ORDRE, &ordre_a,
-1 );
- gtk_tree_model_get ( model, b,
+ gtk_tree_model_get ( model, b,
NAVIGATION_PAGE, &page_b,
NAVIGATION_ACCOUNT, &account_b,
NAVIGATION_REPORT, &report_b,
@@ -653,29 +666,30 @@ gboolean navigation_sort_column ( GtkTreeModel *model,
* Iterator that iterates over the navigation pane model and update
* iter of account that is equal to `data'.
*
- * \param tree_model Pointer to the model of the navigation tree.
- * \param path Not used.
- * \param iter Current iter to test.
- * \param data Number of an account to match against the
- * NAVIGATION_ACCOUNT column of current iter.
+ * \param tree_model Pointer to the model of the navigation tree.
+ * \param path Not used.
+ * \param iter Current iter to test.
+ * \param data Number of an account to match against the
+ * NAVIGATION_ACCOUNT column of current iter.
*
* \return TRUE if this iter matches.
*/
-static gboolean gsb_gui_navigation_update_account_iterator ( GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
+static gboolean gsb_gui_navigation_update_account_iterator ( GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
gpointer data )
{
gint account_number;
- gtk_tree_model_get ( GTK_TREE_MODEL ( tree_model ), iter,
- NAVIGATION_ACCOUNT, &account_number,
- -1 );
+ gtk_tree_model_get ( GTK_TREE_MODEL ( tree_model ),
+ iter,
+ NAVIGATION_ACCOUNT, &account_number,
+ -1 );
if ( account_number == GPOINTER_TO_INT ( data ) )
{
- gsb_gui_navigation_update_account_iter ( tree_model, iter, GPOINTER_TO_INT(data) );
- return TRUE;
+ gsb_gui_navigation_update_account_iter ( tree_model, iter, GPOINTER_TO_INT ( data ) );
+ return TRUE;
}
return FALSE;
@@ -687,29 +701,30 @@ static gboolean gsb_gui_navigation_update_account_iterator ( GtkTreeModel *tree_
* Iterator that iterates over the navigation pane model and update
* iter of report that is equal to `data'.
*
- * \param tree_model Pointer to the model of the navigation tree.
- * \param path Not used.
- * \param iter Current iter to test.
- * \param data Number of an report to match against the
- * NAVIGATION_REPORT column of current iter.
+ * \param tree_model Pointer to the model of the navigation tree.
+ * \param path Not used.
+ * \param iter Current iter to test.
+ * \param data Number of an report to match against the
+ * NAVIGATION_REPORT column of current iter.
*
* \return TRUE if this iter matches.
*/
-static gboolean gsb_gui_navigation_update_report_iterator ( GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
+static gboolean gsb_gui_navigation_update_report_iterator ( GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
gpointer data )
{
gint report_nb;
- gtk_tree_model_get ( GTK_TREE_MODEL ( tree_model ), iter,
- NAVIGATION_REPORT, &report_nb,
- -1 );
+ gtk_tree_model_get ( GTK_TREE_MODEL ( tree_model ),
+ iter,
+ NAVIGATION_REPORT, &report_nb,
+ -1 );
if ( report_nb == GPOINTER_TO_INT ( data ) )
{
- gsb_gui_navigation_update_report_iter ( tree_model, iter, GPOINTER_TO_INT ( data ));
- return TRUE;
+ gsb_gui_navigation_update_report_iter ( tree_model, iter, GPOINTER_TO_INT ( data ) );
+ return TRUE;
}
return FALSE;
@@ -722,11 +737,11 @@ static gboolean gsb_gui_navigation_update_report_iterator ( GtkTreeModel *tree_m
*
* \param report_nb Number of the report that has to be updated.
*/
-void gsb_gui_navigation_update_report ( gint report_number )
+void gsb_gui_navigation_update_report ( gint report_number )
{
gtk_tree_model_foreach ( GTK_TREE_MODEL(navigation_model),
- (GtkTreeModelForeachFunc) gsb_gui_navigation_update_report_iterator,
- GINT_TO_POINTER ( report_number ) );
+ (GtkTreeModelForeachFunc) gsb_gui_navigation_update_report_iterator,
+ GINT_TO_POINTER ( report_number ) );
}
@@ -734,21 +749,21 @@ void gsb_gui_navigation_update_report ( gint report_number )
/**
* Update contents of an iter with report data.
*
- * \param model Pointer to the model of the navigation tree.
- * \param report_iter Iter to update.
- * \param data Number of report as a reference.
+ * \param model Pointer to the model of the navigation tree.
+ * \param report_iter Iter to update.
+ * \param data Number of report as a reference.
*/
-void gsb_gui_navigation_update_report_iter ( GtkTreeModel *model,
+void gsb_gui_navigation_update_report_iter ( GtkTreeModel *model,
GtkTreeIter * report_iter,
gint report_number )
{
- gtk_tree_store_set(GTK_TREE_STORE(model), report_iter,
- NAVIGATION_TEXT, gsb_data_report_get_report_name (report_number),
- NAVIGATION_PAGE, GSB_REPORTS_PAGE,
- NAVIGATION_REPORT, report_number,
- NAVIGATION_ACCOUNT, -1,
- NAVIGATION_SENSITIVE, 1,
- -1 );
+ gtk_tree_store_set(GTK_TREE_STORE(model), report_iter,
+ NAVIGATION_TEXT, gsb_data_report_get_report_name (report_number),
+ NAVIGATION_PAGE, GSB_REPORTS_PAGE,
+ NAVIGATION_REPORT, report_number,
+ NAVIGATION_ACCOUNT, -1,
+ NAVIGATION_SENSITIVE, 1,
+ -1 );
}
@@ -757,29 +772,29 @@ void gsb_gui_navigation_update_report_iter ( GtkTreeModel *model,
* Iterator that iterates over the navigation pane model and remove
* iter of report that is equal to `data'.
*
- * \param tree_model Pointer to the model of the navigation tree.
- * \param path Not used.
- * \param iter Current iter to test.
- * \param data Number of an report to match against the
- * NAVIGATION_REPORT column of current iter.
+ * \param tree_model Pointer to the model of the navigation tree.
+ * \param path Not used.
+ * \param iter Current iter to test.
+ * \param data Number of an report to match against the
+ * NAVIGATION_REPORT column of current iter.
*
* \return TRUE if this iter matches.
*/
-static gboolean gsb_gui_navigation_remove_report_iterator ( GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
+static gboolean gsb_gui_navigation_remove_report_iterator ( GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
gpointer data )
{
gint report;
gtk_tree_model_get ( GTK_TREE_MODEL ( tree_model ), iter,
- NAVIGATION_REPORT, &report,
- -1 );
+ NAVIGATION_REPORT, &report,
+ -1 );
if ( report == GPOINTER_TO_INT (data))
{
- gtk_tree_store_remove ( GTK_TREE_STORE(tree_model), iter );
- return TRUE;
+ gtk_tree_store_remove ( GTK_TREE_STORE ( tree_model ), iter );
+ return TRUE;
}
return FALSE;
@@ -790,20 +805,22 @@ static gboolean gsb_gui_navigation_remove_report_iterator ( GtkTreeModel *tree_m
/**
* Add an report to the navigation pane.
*
- * \param report_nb Report ID to add.
+ * \param report_nb Report ID to add.
*/
void gsb_gui_navigation_add_report ( gint report_number )
{
+ GtkWidget *navigation_tree_view;
GtkTreeIter parent, iter;
GtkTreeSelection *selection;
GtkTreePath *path;
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
path = gsb_gui_navigation_get_page_path ( navigation_model, GSB_REPORTS_PAGE );
gtk_tree_model_get_iter ( GTK_TREE_MODEL( navigation_model ), &parent, path );
gtk_tree_store_append ( GTK_TREE_STORE ( navigation_model ), &iter, &parent );
gtk_tree_view_expand_to_path ( GTK_TREE_VIEW ( navigation_tree_view ), path );
- gsb_gui_navigation_update_report_iter ( GTK_TREE_MODEL ( navigation_model ), &iter, report_number );
+ gsb_gui_navigation_update_report_iter ( GTK_TREE_MODEL ( navigation_model ), &iter, report_number );
selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( navigation_tree_view ) );
gtk_tree_selection_select_iter ( selection, &iter );
@@ -814,13 +831,13 @@ void gsb_gui_navigation_add_report ( gint report_number )
/**
* Remove report from the navigation pane.
*
- * \param report_nb Report ID to add.
+ * \param report_nb Report ID to add.
*/
void gsb_gui_navigation_remove_report ( gint report_number )
{
- gtk_tree_model_foreach ( GTK_TREE_MODEL(navigation_model),
- (GtkTreeModelForeachFunc) gsb_gui_navigation_remove_report_iterator,
- GINT_TO_POINTER ( report_number ) );
+ gtk_tree_model_foreach ( GTK_TREE_MODEL(navigation_model),
+ (GtkTreeModelForeachFunc) gsb_gui_navigation_remove_report_iterator,
+ GINT_TO_POINTER ( report_number ) );
}
@@ -828,13 +845,13 @@ void gsb_gui_navigation_remove_report ( gint report_number )
/**
* Update information for an account in navigation pane.
*
- * \param account_number Number of the account that has to be updated.
+ * \param account_number Number of the account that has to be updated.
*/
void gsb_gui_navigation_update_account ( gint account_number )
{
- gtk_tree_model_foreach ( GTK_TREE_MODEL(navigation_model),
- (GtkTreeModelForeachFunc) gsb_gui_navigation_update_account_iterator,
- GINT_TO_POINTER ( account_number ) );
+ gtk_tree_model_foreach ( GTK_TREE_MODEL(navigation_model),
+ (GtkTreeModelForeachFunc) gsb_gui_navigation_update_account_iterator,
+ GINT_TO_POINTER ( account_number ) );
}
@@ -842,11 +859,11 @@ void gsb_gui_navigation_update_account ( gint account_number )
/**
* Update contents of an iter with account data.
*
- * \param model Pointer to the model of the navigation tree.
- * \param account_iter Iter to update.
- * \param data Number of account as a reference.
+ * \param model Pointer to the model of the navigation tree.
+ * \param account_iter Iter to update.
+ * \param data Number of account as a reference.
*/
-void gsb_gui_navigation_update_account_iter ( GtkTreeModel *model,
+void gsb_gui_navigation_update_account_iter ( GtkTreeModel *model,
GtkTreeIter *account_iter,
gint account_number )
{
@@ -854,10 +871,10 @@ void gsb_gui_navigation_update_account_iter ( GtkTreeModel *model,
pixbuf = gsb_data_account_get_account_icon_pixbuf ( account_number );
- gtk_tree_store_set ( GTK_TREE_STORE ( model ), account_iter,
+ gtk_tree_store_set ( GTK_TREE_STORE ( model ), account_iter,
NAVIGATION_PIX, pixbuf,
- NAVIGATION_PIX_VISIBLE, TRUE,
- NAVIGATION_TEXT, gsb_data_account_get_name ( account_number ),
+ NAVIGATION_PIX_VISIBLE, TRUE,
+ NAVIGATION_TEXT, gsb_data_account_get_name ( account_number ),
NAVIGATION_FONT, 400,
NAVIGATION_PAGE, GSB_ACCOUNT_PAGE,
NAVIGATION_ACCOUNT, account_number,
@@ -872,29 +889,30 @@ void gsb_gui_navigation_update_account_iter ( GtkTreeModel *model,
* Iterator that iterates over the navigation pane model and remove
* iter of account that is equal to `data'.
*
- * \param tree_model Pointer to the model of the navigation tree.
- * \param path Not used.
- * \param iter Current iter to test.
- * \param data Number of an account to match against the
- * NAVIGATION_ACCOUNT column of current iter.
+ * \param tree_model Pointer to the model of the navigation tree.
+ * \param path Not used.
+ * \param iter Current iter to test.
+ * \param data Number of an account to match against the
+ * NAVIGATION_ACCOUNT column of current iter.
*
* \return TRUE if this iter matches.
*/
-static gboolean gsb_gui_navigation_remove_account_iterator ( GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
+static gboolean gsb_gui_navigation_remove_account_iterator ( GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
gpointer data )
{
gint account_number;
- gtk_tree_model_get ( GTK_TREE_MODEL ( tree_model ), iter,
- NAVIGATION_ACCOUNT, &account_number,
- -1 );
+ gtk_tree_model_get ( GTK_TREE_MODEL ( tree_model ),
+ iter,
+ NAVIGATION_ACCOUNT, &account_number,
+ -1 );
if ( account_number == GPOINTER_TO_INT ( data ) )
{
- gtk_tree_store_remove ( GTK_TREE_STORE(tree_model), iter );
- return TRUE;
+ gtk_tree_store_remove ( GTK_TREE_STORE ( tree_model ), iter );
+ return TRUE;
}
return FALSE;
@@ -905,7 +923,7 @@ static gboolean gsb_gui_navigation_remove_account_iterator ( GtkTreeModel *tree_
/**
* Add an account to the navigation pane.
*
- * \param account_number Account ID to add.
+ * \param account_number Account ID to add.
* \param switch_to_account TRUE to show the account, FALSE to just create it
*/
void gsb_gui_navigation_add_account ( gint account_number,
@@ -918,12 +936,14 @@ void gsb_gui_navigation_add_account ( gint account_number,
gtk_tree_model_get_iter ( GTK_TREE_MODEL( navigation_model ), &parent, path );
gtk_tree_store_append ( GTK_TREE_STORE ( navigation_model ), &iter, &parent );
- gsb_gui_navigation_update_account_iter ( GTK_TREE_MODEL ( navigation_model ), &iter, account_number );
+ gsb_gui_navigation_update_account_iter ( GTK_TREE_MODEL ( navigation_model ), &iter, account_number );
if ( switch_to_account )
{
+ GtkWidget *navigation_tree_view;
GtkTreeSelection * selection;
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( navigation_tree_view ) );
gtk_tree_selection_select_iter ( selection, &iter );
}
@@ -931,22 +951,25 @@ void gsb_gui_navigation_add_account ( gint account_number,
-/**
+/**
* change the list of transactions, according to the new account
- *
+ *
* \param no_account a pointer on the number of the account we want to see
- *
+ *
* \return FALSE
* */
gboolean navigation_change_account ( gint new_account )
{
gint current_account;
gchar *tmp_menu_path;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
devel_debug_int (new_account);
if ( new_account < 0 )
- return FALSE;
+ return FALSE;
/* the selection on the navigation bar has already changed, so
* have to use a buffer variable to get the last account */
@@ -963,11 +986,11 @@ gboolean navigation_change_account ( gint new_account )
/* save the row_align of the last account */
gsb_data_account_set_row_align ( current_account,
- gsb_transactions_list_get_row_align ( ) );
+ gsb_transactions_list_get_row_align ( ) );
/* set the appearance of the list according to the new account */
- transaction_list_sort_set_column ( gsb_data_account_get_sort_column (new_account ),
- gsb_data_account_get_sort_type ( new_account ) );
+ transaction_list_sort_set_column ( gsb_data_account_get_sort_column ( new_account ),
+ gsb_data_account_get_sort_type ( new_account ) );
gsb_transactions_list_update_tree_view ( new_account, FALSE );
transaction_list_select ( gsb_data_account_get_current_transaction_number ( new_account ) );
gsb_transactions_list_set_row_align ( gsb_data_account_get_row_align ( new_account ) );
@@ -976,9 +999,9 @@ gboolean navigation_change_account ( gint new_account )
gsb_navigation_update_statement_label ( new_account );
tmp_menu_path = g_strconcat (
- "/menubar/EditMenu/MoveToAnotherAccount/",
- gsb_data_account_get_name (new_account),
- NULL );
+ "/menubar/EditMenu/MoveToAnotherAccount/",
+ gsb_data_account_get_name (new_account),
+ NULL );
gsb_gui_sensitive_menu_item ( tmp_menu_path, FALSE );
g_free ( tmp_menu_path );
@@ -995,7 +1018,7 @@ gboolean navigation_change_account ( gint new_account )
gtk_widget_hide ( menu_import_rules );
/* Update the title of the file if needed */
- if ( conf.display_grisbi_title == GSB_ACCOUNT_HOLDER )
+ if ( conf->display_grisbi_title == GSB_ACCOUNT_HOLDER )
gsb_main_set_grisbi_title ( new_account );
bet_data_select_bet_pages ( new_account );
@@ -1030,7 +1053,7 @@ void gsb_navigation_update_statement_label ( gint account_number )
reconcile_number ) );
tmp_str2 = utils_real_get_string_with_currency ( amount,
gsb_data_account_get_currency ( account_number ), TRUE );
-
+
tmp_str = g_strconcat ( _("Last statement: "), tmp_str1, " - ",
_("Reconciled balance: "), tmp_str2, NULL );
gtk_label_set_text ( GTK_LABEL ( label_last_statement ), tmp_str);
@@ -1042,7 +1065,7 @@ void gsb_navigation_update_statement_label ( gint account_number )
{
tmp_str2 = utils_real_get_string_with_currency (amount,
gsb_data_account_get_currency ( account_number ), TRUE );
-
+
tmp_str = g_strconcat ( _("Last statement: none"), " - ",
_("Reconciled balance: "), tmp_str2, NULL );
gtk_label_set_text ( GTK_LABEL ( label_last_statement ), tmp_str);
@@ -1064,21 +1087,22 @@ void gsb_navigation_update_statement_label ( gint account_number )
*/
void gsb_navigation_update_account_label ( gint account_number )
{
- gchar * title = NULL;
+ gchar * title = NULL;
title = g_strconcat ( _("Account"), " : ",
- gsb_data_account_get_name ( account_number ),
- NULL );
+ gsb_data_account_get_name ( account_number ),
+ NULL );
if ( gsb_data_account_get_closed_account ( account_number ) )
{
- gchar* old_title = title;
- title = g_strconcat ( title, " (", _("closed"), ")", NULL );
- g_free ( old_title );
+ gchar* old_title = title;
+
+ title = g_strconcat ( title, " (", _("closed"), ")", NULL );
+ g_free ( old_title );
}
gsb_data_account_colorize_current_balance ( account_number );
gsb_gui_headings_update_title ( title );
-
+
g_free ( title );
}
@@ -1086,13 +1110,13 @@ void gsb_navigation_update_account_label ( gint account_number )
/**
* Remove account from the navigation pane.
*
- * \param account_number Account ID to remove.
+ * \param account_number Account ID to remove.
*/
void gsb_gui_navigation_remove_account ( gint account_number )
{
- gtk_tree_model_foreach ( GTK_TREE_MODEL(navigation_model),
- (GtkTreeModelForeachFunc) gsb_gui_navigation_remove_account_iterator,
- GINT_TO_POINTER ( account_number ) );
+ gtk_tree_model_foreach ( GTK_TREE_MODEL(navigation_model),
+ (GtkTreeModelForeachFunc) gsb_gui_navigation_remove_account_iterator,
+ GINT_TO_POINTER ( account_number ) );
}
@@ -1103,8 +1127,8 @@ void gsb_gui_navigation_remove_account ( gint account_number )
* we must write here the changes to do when changing something in that selection,
* not with a callback "switch-page" on the main notebook
*
- * \param selection The selection that triggered event.
- * \param model Tree model associated to selection.
+ * \param selection The selection that triggered event.
+ * \param model Tree model associated to selection.
*
* \return FALSE
*/
@@ -1128,39 +1152,39 @@ gboolean gsb_gui_navigation_select_line ( GtkTreeSelection *selection,
menus_view_sensitifs ( FALSE );
}
- if ( page_number != GSB_SCHEDULER_PAGE )
+ if ( page_number != GSB_SCHEDULER_PAGE )
{
- gtk_widget_hide ( scheduler_calendar );
+ gtk_widget_hide ( scheduler_calendar );
}
switch ( page_number )
{
- case GSB_HOME_PAGE:
- notice_debug ("Home page selected");
+ case GSB_HOME_PAGE:
+ notice_debug ("Home page selected");
title = g_strdup(_("My accounts"));
gsb_gui_sensitive_menu_item ( "/menubar/ViewMenu/ShowClosed", TRUE );
- /* what to be done if switch to that page */
- mise_a_jour_accueil ( FALSE );
- gsb_form_set_expander_visible ( FALSE, FALSE );
- break;
+ /* what to be done if switch to that page */
+ mise_a_jour_accueil ( FALSE );
+ gsb_form_set_expander_visible ( FALSE, FALSE );
+ break;
- case GSB_ACCOUNT_PAGE:
- notice_debug ("Account page selected");
+ case GSB_ACCOUNT_PAGE:
+ notice_debug ("Account page selected");
menus_view_sensitifs ( TRUE );
- gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/RemoveAccount", TRUE );
+ gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/RemoveAccount", TRUE );
- account_number = gsb_gui_navigation_get_current_account ();
+ account_number = gsb_gui_navigation_get_current_account ();
/* update title now -- different from others */
gsb_navigation_update_account_label (account_number);
- /* what to be done if switch to that page */
- if (account_number >= 0 )
- {
+ /* what to be done if switch to that page */
+ if (account_number >= 0 )
+ {
navigation_change_account ( account_number );
gsb_account_property_fill_page ();
clear_suffix = FALSE;
@@ -1168,106 +1192,106 @@ gboolean gsb_gui_navigation_select_line ( GtkTreeSelection *selection,
gsb_transaction_list_set_visible_archived_button ( TRUE );
else
gsb_transaction_list_set_visible_archived_button ( FALSE );
- }
- gsb_menu_update_accounts_in_menus ();
- gsb_menu_update_view_menu ( account_number );
+ }
+ gsb_menu_update_accounts_in_menus ();
+ gsb_menu_update_view_menu ( account_number );
- /* set the form */
- gsb_gui_on_account_switch_page ( GTK_NOTEBOOK ( account_page ),
+ /* set the form */
+ gsb_gui_on_account_switch_page ( GTK_NOTEBOOK ( gsb_gui_on_account_get_notebook ( ) ),
NULL,
- gtk_notebook_get_current_page ( GTK_NOTEBOOK ( account_page ) ),
+ gtk_notebook_get_current_page ( GTK_NOTEBOOK ( gsb_gui_on_account_get_notebook ( ) ) ),
NULL );
- /* gsb_form_show ( FALSE ); */
+ /* gsb_form_show ( FALSE ); */
- buffer_last_account = account_number;
+ buffer_last_account = account_number;
- break;
+ break;
+
+ case GSB_SCHEDULER_PAGE:
+ notice_debug ("Scheduler page selected");
- case GSB_SCHEDULER_PAGE:
- notice_debug ("Scheduler page selected");
+ title = g_strdup(_("Scheduled transactions"));
- title = g_strdup(_("Scheduled transactions"));
-
- /* what to be done if switch to that page */
- /* update the list (can do that because short list, so very fast) */
- gsb_scheduler_list_fill_list (gsb_scheduler_list_get_tree_view ());
- gsb_scheduler_list_set_background_color (gsb_scheduler_list_get_tree_view ());
+ /* what to be done if switch to that page */
+ /* update the list (can do that because short list, so very fast) */
+ gsb_scheduler_list_fill_list (gsb_scheduler_list_get_tree_view ());
+ gsb_scheduler_list_set_background_color (gsb_scheduler_list_get_tree_view ());
- gsb_scheduler_list_select (gsb_scheduler_list_get_last_scheduled_number ());
+ gsb_scheduler_list_select (gsb_scheduler_list_get_last_scheduled_number ());
- /* set the form */
- gsb_form_set_expander_visible (TRUE, FALSE );
- gsb_form_scheduler_clean ();
- gsb_form_show ( FALSE );
+ /* set the form */
+ gsb_form_set_expander_visible (TRUE, FALSE );
+ gsb_form_scheduler_clean ();
+ gsb_form_show ( FALSE );
- /* show the calendar */
- gsb_calendar_update ();
- gtk_widget_show_all ( scheduler_calendar );
+ /* show the calendar */
+ gsb_calendar_update ();
+ gtk_widget_show_all ( scheduler_calendar );
/* show menu InitwidthCol */
gsb_gui_sensitive_menu_item ( "/menubar/ViewMenu/InitwidthCol", TRUE );
- break;
+ break;
- case GSB_PAYEES_PAGE:
- notice_debug ("Payee page selected");
+ case GSB_PAYEES_PAGE:
+ notice_debug ("Payee page selected");
- /* what to be done if switch to that page */
- gsb_form_set_expander_visible (FALSE, FALSE );
+ /* what to be done if switch to that page */
+ gsb_form_set_expander_visible (FALSE, FALSE );
payees_fill_list ();
clear_suffix = FALSE;
- break;
+ break;
- case GSB_SIMULATOR_PAGE:
- notice_debug ("Credits simulator page selected");
+ case GSB_SIMULATOR_PAGE:
+ notice_debug ("Credits simulator page selected");
- title = g_strdup(_("Credits simulator"));
+ title = g_strdup(_("Credits simulator"));
- /* what to be done if switch to that page */
+ /* what to be done if switch to that page */
gsb_form_set_expander_visible (FALSE, FALSE);
bet_finance_switch_simulator_page ( );
- break;
+ break;
- case GSB_CATEGORIES_PAGE:
- notice_debug ("Category page selected");
+ case GSB_CATEGORIES_PAGE:
+ notice_debug ("Category page selected");
- /* what to be done if switch to that page */
- gsb_form_set_expander_visible (FALSE, FALSE );
+ /* what to be done if switch to that page */
+ gsb_form_set_expander_visible (FALSE, FALSE );
categories_fill_list ();
clear_suffix = FALSE;
- break;
+ break;
- case GSB_BUDGETARY_LINES_PAGE:
- notice_debug ("Budgetary page selected");
+ case GSB_BUDGETARY_LINES_PAGE:
+ notice_debug ("Budgetary page selected");
- /* what to be done if switch to that page */
- gsb_form_set_expander_visible (FALSE, FALSE );
- budgetary_lines_fill_list ();
+ /* what to be done if switch to that page */
+ gsb_form_set_expander_visible (FALSE, FALSE );
+ budgetary_lines_fill_list ();
clear_suffix = FALSE;
- break;
+ break;
- case GSB_REPORTS_PAGE:
- notice_debug ("Reports page selected");
+ case GSB_REPORTS_PAGE:
+ notice_debug ("Reports page selected");
- report_number = gsb_gui_navigation_get_current_report ();
+ report_number = gsb_gui_navigation_get_current_report ();
- if ( report_number >= 0 )
- title = g_strconcat ( _("Report"), " : ", gsb_data_report_get_report_name (report_number), NULL );
- else
- title = g_strdup(_("Reports"));
+ if ( report_number >= 0 )
+ title = g_strconcat ( _("Report"), " : ", gsb_data_report_get_report_name (report_number), NULL );
+ else
+ title = g_strdup(_("Reports"));
- /* what to be done if switch to that page */
- gsb_form_set_expander_visible ( FALSE, FALSE );
+ /* what to be done if switch to that page */
+ gsb_form_set_expander_visible ( FALSE, FALSE );
- if ( report_number > 0 )
+ if ( report_number > 0 )
gsb_gui_update_gui_to_report ( report_number );
- else
+ else
gsb_gui_unsensitive_report_widgets ();
- break;
+ break;
- default:
- notice_debug ("B0rk page selected");
- title = g_strdup("B0rk");
- break;
+ default:
+ notice_debug ("B0rk page selected");
+ title = g_strdup("B0rk");
+ break;
}
/* title is set here if necessary */
@@ -1288,21 +1312,22 @@ gboolean gsb_gui_navigation_select_line ( GtkTreeSelection *selection,
* Set the selection of the navigation list depending on desired
* page and/or account or report.
*
- * \param page Page to switch to.
- * \param account_number If page is GSB_ACCOUNT_PAGE, switch to given
- * account.
- * \param report If page is GSB_REPORTS, switch to given
- * report.
- *
- * \return TRUE on success.
+ * \param page Page to switch to.
+ * \param account_number If page is GSB_ACCOUNT_PAGE, switch to given account.
+ *
+ * \param report If page is GSB_REPORTS, switch to given report.
+ *
+ * \return TRUE on success.
*/
gboolean gsb_gui_navigation_set_selection ( gint page,
gint account_number,
gpointer report )
{
+ GtkWidget *navigation_tree_view;
GtkTreeIter iter;
GtkTreeSelection *selection;
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( navigation_tree_view ) );
g_return_val_if_fail ( selection, FALSE );
@@ -1327,52 +1352,54 @@ gboolean gsb_gui_navigation_set_selection ( gint page,
* Set the selection of the navigation list depending on desired page
* and/or account or report, but only for a branch of the tree.
*
- * \param selection Selection to set.
- * \param iter Current iter to iterate over.
- * \param page Page to switch to.
- * \param account_number If page is GSB_ACCOUNT_PAGE, switch to given
- * account.
- * \param report If page is GSB_REPORTS, switch to given
- * report.
- *
- * \return TRUE on success.
+ * \param selection Selection to set.
+ * \param iter Current iter to iterate over.
+ * \param page Page to switch to.
+ * \param account_number If page is GSB_ACCOUNT_PAGE, switch to given account.
+ * \param report If page is GSB_REPORTS, switch to given report.
+ *
+ * \return TRUE on success.
*/
-void gsb_gui_navigation_set_selection_branch ( GtkTreeSelection *selection,
- GtkTreeIter *iter,
- gint page,
- gint account_number,
+void gsb_gui_navigation_set_selection_branch ( GtkTreeSelection *selection,
+ GtkTreeIter *iter,
+ gint page,
+ gint account_number,
gpointer report )
{
- do
+ do
{
- gint iter_page, iter_account_nb;
- gpointer iter_report;
-
- gtk_tree_model_get ( GTK_TREE_MODEL(navigation_model), iter,
- NAVIGATION_REPORT, &iter_report,
- NAVIGATION_ACCOUNT, &iter_account_nb,
- NAVIGATION_PAGE, &iter_page,
- -1 );
-
- if ( iter_page == page &&
- ! ( page == GSB_ACCOUNT_PAGE &&
- iter_account_nb != account_number ) &&
- ! ( page == GSB_REPORTS_PAGE &&
- iter_report != report ) )
- {
- gtk_tree_selection_select_iter ( selection, iter );
- }
-
- if ( gtk_tree_model_iter_has_child ( GTK_TREE_MODEL(navigation_model), iter ) )
- {
- GtkTreeIter child;
-
- gtk_tree_model_iter_children ( GTK_TREE_MODEL(navigation_model), &child, iter );
- gsb_gui_navigation_set_selection_branch ( selection, &child,
- page, account_number, report );
- }
+ gint iter_page, iter_account_nb;
+ gpointer iter_report;
+
+ gtk_tree_model_get ( GTK_TREE_MODEL ( navigation_model ), iter,
+ NAVIGATION_REPORT, &iter_report,
+ NAVIGATION_ACCOUNT, &iter_account_nb,
+ NAVIGATION_PAGE, &iter_page,
+ -1 );
+
+ if ( iter_page == page
+ &&
+ ! ( page == GSB_ACCOUNT_PAGE
+ &&
+ iter_account_nb != account_number )
+ &&
+ ! ( page == GSB_REPORTS_PAGE
+ &&
+ iter_report != report ) )
+ {
+ gtk_tree_selection_select_iter ( selection, iter );
+ }
+
+ if ( gtk_tree_model_iter_has_child ( GTK_TREE_MODEL ( navigation_model ), iter ) )
+ {
+ GtkTreeIter child;
+
+ gtk_tree_model_iter_children ( GTK_TREE_MODEL ( navigation_model ), &child, iter );
+ gsb_gui_navigation_set_selection_branch ( selection, &child,
+ page, account_number, report );
+ }
}
- while ( gtk_tree_model_iter_next ( GTK_TREE_MODEL(navigation_model), iter ) );
+ while ( gtk_tree_model_iter_next ( GTK_TREE_MODEL ( navigation_model ), iter ) );
return;
}
@@ -1386,14 +1413,16 @@ void gsb_gui_navigation_set_selection_branch ( GtkTreeSelection *selection,
*/
gboolean gsb_gui_navigation_select_prev ( void )
{
+ GtkWidget *navigation_tree_view;
GtkTreeSelection * selection;
GtkTreePath * path;
GtkTreeModel * model;
GtkTreeIter iter;
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW(navigation_tree_view) );
g_return_val_if_fail ( selection, FALSE );
-
+
if ( !gtk_tree_selection_get_selected ( selection, &model, &iter ) )
return TRUE;
path = gtk_tree_model_get_path ( model, &iter );
@@ -1412,13 +1441,14 @@ gboolean gsb_gui_navigation_select_prev ( void )
&& gtk_tree_view_row_expanded ( GTK_TREE_VIEW ( navigation_tree_view ), path ) )
{
GtkTreeIter parent = iter;
- gtk_tree_model_iter_nth_child ( model, &iter, &parent,
- gtk_tree_model_iter_n_children ( model,
+
+ gtk_tree_model_iter_nth_child ( model, &iter, &parent,
+ gtk_tree_model_iter_n_children ( model,
&parent ) - 1 );
path = gtk_tree_model_get_path ( model, &iter );
}
}
-
+
gtk_tree_selection_select_path ( selection, path );
gtk_tree_path_free ( path );
@@ -1434,14 +1464,16 @@ gboolean gsb_gui_navigation_select_prev ( void )
*/
gboolean gsb_gui_navigation_select_next ( void )
{
+ GtkWidget *navigation_tree_view;
GtkTreeSelection *selection;
GtkTreePath *path;
GtkTreeModel *model;
GtkTreeIter iter;
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW(navigation_tree_view) );
g_return_val_if_fail ( selection, FALSE );
-
+
if ( !gtk_tree_selection_get_selected ( selection, &model, &iter ) )
return TRUE;
@@ -1484,7 +1516,7 @@ gboolean gsb_gui_navigation_select_next ( void )
-/**
+/**
* Check the key pressed on the navigation tree view,
* if need, stop the event to do another thing with that key
*
@@ -1502,48 +1534,48 @@ gboolean gsb_gui_navigation_check_key_press ( GtkWidget *tree_view,
GtkTreeIter iter;
GtkTreePath *path;
- if (! gtk_tree_selection_get_selected ( gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)),
- NULL,
- &iter))
- return FALSE;
+ if ( !gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( tree_view ) ),
+ NULL,
+ &iter ) )
+ return FALSE;
gtk_tree_model_get (model, &iter, NAVIGATION_PAGE, &page, -1 );
path = gtk_tree_model_get_path ( GTK_TREE_MODEL ( model ), &iter );
switch ( page )
{
- case GSB_HOME_PAGE:
- case GSB_REPORTS_PAGE:
+ case GSB_HOME_PAGE:
+ case GSB_REPORTS_PAGE:
/* expand or collapse subtree */
- if (ev -> keyval == GDK_KEY_Right)
+ if (ev -> keyval == GDK_KEY_Right)
gtk_tree_view_expand_row ( GTK_TREE_VIEW ( tree_view ), path, FALSE );
- if (ev -> keyval == GDK_KEY_Left)
+ if (ev -> keyval == GDK_KEY_Left)
gtk_tree_view_collapse_row ( GTK_TREE_VIEW ( tree_view ), path );
- break;
-
- case GSB_ACCOUNT_PAGE:
- /* when come here, if we press the right key, give the focus to the list */
- if (ev -> keyval == GDK_KEY_Right)
- gtk_widget_grab_focus (gsb_transactions_list_get_tree_view ());
- break;
-
- case GSB_PAYEES_PAGE:
- /* nothing to do here for now */
- break;
-
- case GSB_CATEGORIES_PAGE:
- /* nothing to do here for now */
- break;
-
- case GSB_BUDGETARY_LINES_PAGE:
- /* nothing to do here for now */
- break;
-
- case GSB_SCHEDULER_PAGE:
- /* when come here, if we press the right key, give the focus to the list */
- if (ev -> keyval == GDK_KEY_Right)
- gtk_widget_grab_focus (gsb_scheduler_list_get_tree_view ());
- break;
+ break;
+
+ case GSB_ACCOUNT_PAGE:
+ /* when come here, if we press the right key, give the focus to the list */
+ if (ev -> keyval == GDK_KEY_Right)
+ gtk_widget_grab_focus (gsb_transactions_list_get_tree_view ());
+ break;
+
+ case GSB_PAYEES_PAGE:
+ /* nothing to do here for now */
+ break;
+
+ case GSB_CATEGORIES_PAGE:
+ /* nothing to do here for now */
+ break;
+
+ case GSB_BUDGETARY_LINES_PAGE:
+ /* nothing to do here for now */
+ break;
+
+ case GSB_SCHEDULER_PAGE:
+ /* when come here, if we press the right key, give the focus to the list */
+ if (ev -> keyval == GDK_KEY_Right)
+ gtk_widget_grab_focus (gsb_scheduler_list_get_tree_view ());
+ break;
}
gtk_tree_path_free ( path );
@@ -1553,7 +1585,7 @@ gboolean gsb_gui_navigation_check_key_press ( GtkWidget *tree_view,
-/**
+/**
* Check mouse scrolling on the navigation tree view.
*
* \param tree_view the navigation tree_view
@@ -1587,9 +1619,9 @@ gboolean gsb_gui_navigation_check_scroll ( GtkWidget *tree_view,
* Fill the drag & drop structure with the path of selected column.
* This is an interface function called from GTK, much like a callback.
*
- * \param drag_source Not used.
- * \param path Original path for the gtk selection.
- * \param selection_data A pointer to the drag & drop structure.
+ * \param drag_source Not used.
+ * \param path Original path for the gtk selection.
+ * \param selection_data A pointer to the drag & drop structure.
*
* \return FALSE, to allow future processing by the callback chain.
*/
@@ -1605,8 +1637,7 @@ gboolean navigation_tree_drag_data_get ( GtkTreeDragSource *drag_source,
if ( path )
{
- gtk_tree_set_row_drag_data ( selection_data, GTK_TREE_MODEL(navigation_model),
- path );
+ gtk_tree_set_row_drag_data ( selection_data, GTK_TREE_MODEL ( navigation_model ), path );
}
return FALSE;
@@ -1615,7 +1646,7 @@ gboolean navigation_tree_drag_data_get ( GtkTreeDragSource *drag_source,
/**
- *
+ *
*
*/
gboolean navigation_drag_data_received ( GtkTreeDragDest *drag_dest,
@@ -1639,16 +1670,16 @@ gboolean navigation_drag_data_received ( GtkTreeDragDest *drag_dest,
gtk_tree_get_row_drag_data (selection_data, &model, &orig_path);
- if ( gtk_tree_model_get_iter ( GTK_TREE_MODEL(model), &iter, dest_path ) )
- gtk_tree_model_get (model , &iter,
- NAVIGATION_REPORT, &dst_report,
+ if ( gtk_tree_model_get_iter ( GTK_TREE_MODEL(model), &iter, dest_path ) )
+ gtk_tree_model_get (model , &iter,
+ NAVIGATION_REPORT, &dst_report,
NAVIGATION_ACCOUNT, &dst_account,
NAVIGATION_ORDRE, &dst_ordre,
-1 );
if ( gtk_tree_model_get_iter ( GTK_TREE_MODEL(model), &iter, orig_path ) )
- gtk_tree_model_get ( model, &iter,
- NAVIGATION_REPORT, &src_report,
+ gtk_tree_model_get ( model, &iter,
+ NAVIGATION_REPORT, &src_report,
NAVIGATION_ACCOUNT, &src_account,
NAVIGATION_ORDRE, &src_ordre,
-1 );
@@ -1669,7 +1700,7 @@ gboolean navigation_drag_data_received ( GtkTreeDragDest *drag_dest,
/* update the tree view */
gtk_tree_sortable_set_sort_column_id ( GTK_TREE_SORTABLE ( model ),
NAVIGATION_ORDRE, GTK_SORT_ASCENDING );
- gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( model ),
+ gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( model ),
NAVIGATION_ORDRE, navigation_sort_column,
NULL, NULL );
@@ -1687,7 +1718,7 @@ gboolean navigation_drag_data_received ( GtkTreeDragDest *drag_dest,
*
*
*/
-gboolean navigation_row_drop_possible ( GtkTreeDragDest *drag_dest,
+gboolean navigation_row_drop_possible ( GtkTreeDragDest *drag_dest,
GtkTreePath *dest_path,
GtkSelectionData *selection_data )
{
@@ -1703,15 +1734,15 @@ gboolean navigation_row_drop_possible ( GtkTreeDragDest *drag_dest,
gtk_tree_get_row_drag_data ( selection_data, &model, &orig_path );
if ( gtk_tree_model_get_iter ( model, &iter, orig_path ) )
- gtk_tree_model_get ( model, &iter,
- NAVIGATION_REPORT, &src_report,
+ gtk_tree_model_get ( model, &iter,
+ NAVIGATION_REPORT, &src_report,
NAVIGATION_ACCOUNT, &src_account,
NAVIGATION_ORDRE, &src_ordre,
-1 );
if ( gtk_tree_model_get_iter ( model, &iter, dest_path ) )
- gtk_tree_model_get ( model, &iter,
- NAVIGATION_REPORT, &dst_report,
+ gtk_tree_model_get ( model, &iter,
+ NAVIGATION_REPORT, &dst_report,
NAVIGATION_ACCOUNT, &dst_account,
NAVIGATION_ORDRE, &dst_ordre,
-1 );
@@ -1757,6 +1788,9 @@ void gsb_gui_navigation_update_home_page ( void )
*/
GtkWidget *gsb_gui_navigation_get_tree_view ( void )
{
+ GtkWidget *navigation_tree_view;
+
+ navigation_tree_view = grisbi_window_get_widget_by_name ( "treeview_left_panel" );
return navigation_tree_view;
}
@@ -1814,17 +1848,6 @@ gboolean gsb_gui_navigation_move_ordre ( gint src_ordre,
*
*
*/
-void gsb_gui_navigation_init_tree_view ( void )
-{
- navigation_tree_view = NULL;
-}
-
-
-/**
- *
- *
- *
- */
GtkTreeModel *gsb_gui_navigation_get_model ( void )
{
if ( navigation_model )
@@ -1917,8 +1940,9 @@ void gsb_gui_navigation_free_pages_list ( void )
/**
* return a pointer on the first element of g_queue of navigation pages
- *
+ *
* \param none
+ *
* \return a GList
* */
GQueue *gsb_gui_navigation_get_pages_list ( void )
diff --git a/src/navigation.h b/src/navigation.h
index f59a537..d0fe439 100644
--- a/src/navigation.h
+++ b/src/navigation.h
@@ -23,7 +23,7 @@ void gsb_gui_navigation_add_report ( gint report_number );
gboolean gsb_gui_navigation_check_scroll ( GtkWidget *tree_view,
GdkEventScroll *ev );
void gsb_gui_navigation_create_account_list ( GtkTreeModel *model );
-GtkWidget *gsb_gui_navigation_create_navigation_pane ( void );
+void gsb_gui_navigation_create_navigation_pane ( void );
void gsb_gui_navigation_free_pages_list ( void );
gint gsb_gui_navigation_get_current_account ( void );
gint gsb_gui_navigation_get_current_page ( void );
@@ -33,7 +33,6 @@ GtkTreeModel *gsb_gui_navigation_get_model ( void );
GQueue *gsb_gui_navigation_get_pages_list ( void );
GtkWidget *gsb_gui_navigation_get_tree_view ( void );
void gsb_gui_navigation_init_pages_list ( void );
-void gsb_gui_navigation_init_tree_view ( void );
void gsb_gui_navigation_remove_account ( gint account_number );
void gsb_gui_navigation_remove_report ( gint report_number );
gboolean gsb_gui_navigation_select_next ( void );
@@ -51,7 +50,7 @@ gboolean navigation_change_account ( gint new_account );
gboolean navigation_drag_data_received ( GtkTreeDragDest *drag_dest,
GtkTreePath *dest_path,
GtkSelectionData *selection_data );
-gboolean navigation_row_drop_possible ( GtkTreeDragDest *drag_dest,
+gboolean navigation_row_drop_possible ( GtkTreeDragDest *drag_dest,
GtkTreePath *dest_path,
GtkSelectionData *selection_data );
/* END_DECLARATION */
diff --git a/src/parametres.c b/src/parametres.c
index 56724e0..5f78c91 100644
--- a/src/parametres.c
+++ b/src/parametres.c
@@ -43,6 +43,7 @@
#include "categories_onglet.h"
#include "dialog.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_archive_config.h"
#include "gsb_automem.h"
#include "gsb_bank.h"
@@ -127,11 +128,9 @@ static gint width_spin_button = 50;
/*START_EXTERN*/
extern GtkWidget *account_page;
extern struct conditional_message delete_msg[];
-extern gboolean execute_scheduled_of_month;
extern struct conditional_message messages[];
extern gint mise_a_jour_liste_comptes_accueil;
extern gchar *nom_fichier_comptes;
-extern gint nb_days_before_scheduled;
/*END_EXTERN*/
@@ -257,22 +256,24 @@ gboolean preferences ( gint page )
GtkWidget *hbox, *tree;
GtkTreeIter iter, iter2;
GtkWidget *hpaned;
+ GrisbiAppConf *conf;
devel_debug_int (page);
+ conf = grisbi_app_get_conf ( );
if ( gsb_gui_navigation_get_current_page ( ) == - 1 )
return FALSE;
/* Create dialog */
fenetre_preferences = gtk_dialog_new_with_buttons (_("Grisbi preferences"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL,
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
NULL );
- if ( conf.prefs_width )
+ if ( conf->prefs_width )
gtk_window_set_default_size ( GTK_WINDOW ( fenetre_preferences ),
- conf.prefs_width, -1 );
+ conf->prefs_width, -1 );
gtk_window_set_position ( GTK_WINDOW ( fenetre_preferences ), GTK_WIN_POS_CENTER_ON_PARENT );
gtk_window_set_resizable ( GTK_WINDOW ( fenetre_preferences ), TRUE );
@@ -616,7 +617,7 @@ gboolean preferences ( gint page )
/* Hook some help function */
break;
default:
- gtk_window_get_size ( GTK_WINDOW ( fenetre_preferences ), &conf.prefs_width, NULL );
+/* gtk_window_get_size ( GTK_WINDOW ( fenetre_preferences ), &conf->prefs_width, NULL ); */
gtk_widget_destroy ( GTK_WIDGET ( fenetre_preferences ));
return FALSE;
}
@@ -661,6 +662,9 @@ GtkWidget *onglet_messages_and_warnings ( void )
GtkTreeViewColumn * column;
gchar *tmpstr;
int i;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
vbox_pref = new_vbox_with_title_and_icon ( _("Messages & warnings"), "warnings.png" );
@@ -669,7 +673,7 @@ GtkWidget *onglet_messages_and_warnings ( void )
/* Display or not tips */
tip_checkbox = gsb_automem_checkbutton_new ( _("Display tip of the day"),
- &(etat.show_tip),
+ &conf->show_tip,
NULL, NULL );
gtk_box_pack_start ( GTK_BOX ( paddingbox ), tip_checkbox, FALSE, FALSE, 0 );
@@ -868,6 +872,9 @@ GtkWidget *onglet_fichier ( void )
GtkWidget *label;
GtkWidget *button;
GtkWidget *dialog;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
vbox_pref = new_vbox_with_title_and_icon ( _("Files"), "files.png" );
@@ -877,16 +884,16 @@ GtkWidget *onglet_fichier ( void )
/* Automatically load last file on startup? */
button = gsb_automem_checkbutton_new (_("Automatically load last file on startup"),
- &conf.dernier_fichier_auto, NULL, NULL );
+ &conf->dernier_fichier_auto, NULL, NULL );
gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
button = gsb_automem_checkbutton_new (_("Automatically save on exit"),
- &conf.sauvegarde_auto, NULL, NULL);
+ &conf->sauvegarde_auto, NULL, NULL);
gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
/* Warn if file is used by someone else? */
button = gsb_automem_checkbutton_new ( _("Force saving of locked files"),
- &conf.force_enregistrement, NULL, NULL );
+ &conf->force_enregistrement, NULL, NULL );
gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
/* crypt the grisbi file */
@@ -896,7 +903,7 @@ GtkWidget *onglet_fichier ( void )
/* Compression level of files */
button = gsb_automem_checkbutton_new ( _("Compress Grisbi file"),
- &conf.compress_file, NULL, NULL );
+ &conf->compress_file, NULL, NULL );
gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
/* Memorize last opened files in menu */
@@ -906,7 +913,7 @@ GtkWidget *onglet_fichier ( void )
label = gtk_label_new ( _("Memorise last opened files: ") );
gtk_box_pack_start ( GTK_BOX ( hbox ), label, FALSE, FALSE, 0 );
- button = gsb_automem_spin_button_new ( &conf.nb_max_derniers_fichiers_ouverts,
+ button = gsb_automem_spin_button_new ( &conf->nb_max_derniers_fichiers_ouverts,
G_CALLBACK ( affiche_derniers_fichiers_ouverts ), NULL );
gtk_widget_set_size_request ( button, width_spin_button, -1 );
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0 );
@@ -916,22 +923,22 @@ GtkWidget *onglet_fichier ( void )
/* Single backup file */
button = gsb_automem_checkbutton_new ( _("Make a single backup file"),
- &conf.make_bakup_single_file, NULL, NULL );
+ &conf->make_bakup_single_file, NULL, NULL );
gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
/* Compression level of backups */
button = gsb_automem_checkbutton_new ( _("Compress Grisbi backup"),
- &conf.compress_backup, NULL, NULL );
+ &conf->compress_backup, NULL, NULL );
gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
/* Backup at each opening? */
button = gsb_automem_checkbutton_new ( _("Make a backup copy after opening files"),
- &conf.sauvegarde_demarrage, NULL, NULL);
+ &conf->sauvegarde_demarrage, NULL, NULL);
gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
/* Automatic backup ? */
button = gsb_automem_checkbutton_new (_("Make a backup copy before saving files"),
- &conf.make_backup, NULL, NULL);
+ &conf->make_backup, NULL, NULL);
gtk_box_pack_start ( GTK_BOX ( paddingbox ), button, FALSE, FALSE, 0 );
/* Automatic backup every x minutes */
@@ -939,11 +946,11 @@ GtkWidget *onglet_fichier ( void )
gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox, FALSE, FALSE, 0);
button = gsb_automem_checkbutton_new (_("Make a backup copy every "),
- &conf.make_backup_every_minutes,
+ &conf->make_backup_every_minutes,
G_CALLBACK (gsb_file_automatic_backup_start), NULL);
gtk_box_pack_start ( GTK_BOX (hbox), button, FALSE, FALSE, 0 );
- button = gsb_automem_spin_button_new ( &conf.make_backup_nb_minutes,
+ button = gsb_automem_spin_button_new ( &conf->make_backup_nb_minutes,
G_CALLBACK (gsb_file_automatic_backup_change_time), NULL );
gtk_widget_set_size_request ( button, width_spin_button, -1 );
gtk_box_pack_start ( GTK_BOX (hbox), button, FALSE, FALSE, 0 );
@@ -961,7 +968,7 @@ GtkWidget *onglet_fichier ( void )
/* on passe par une fonction intermédiaire pour pallier à un bug
* du gtk_file_chooser_button_new qui donne le répertoire home
* lorsque l'on annule le choix du nouveau répertoire */
- dialog = utils_files_create_file_chooser ( run.window,
+ dialog = utils_files_create_file_chooser ( GTK_WIDGET ( grisbi_app_get_active_window ( NULL ) ),
_("Select/Create backup directory") );
button = gtk_file_chooser_button_new_with_dialog ( dialog );
@@ -985,7 +992,7 @@ GtkWidget *onglet_fichier ( void )
gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox, FALSE, FALSE, 0);
button = gsb_automem_checkbutton_new (_("Use the config file of version stable as model"),
- &conf.stable_config_file_model,
+ &conf->stable_config_file_model,
NULL, NULL);
gtk_box_pack_start ( GTK_BOX (hbox), button, FALSE, FALSE, 0 );
#endif
@@ -1053,6 +1060,9 @@ GtkWidget *onglet_programmes (void)
GtkWidget *vbox_pref, *label, *entry, *paddingbox, *table;
GtkSizeGroup *size_group;
gchar * text;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
@@ -1070,10 +1080,10 @@ GtkWidget *onglet_programmes (void)
gtk_misc_set_alignment ( GTK_MISC ( label ), 0.0, 0.5 );
gtk_table_attach ( GTK_TABLE(table), label, 0, 1, 0, 1,
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0 );
- entry = gsb_automem_entry_new ( &conf.browser_command, NULL, NULL );
+ entry = gsb_automem_entry_new ( &conf->browser_command, NULL, NULL );
gtk_table_attach ( GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_EXPAND|GTK_FILL, 0, 0, 0 );
- text = make_blue ( g_strconcat (
+ text = make_blue ( g_strconcat (
_("You may use %s to expand the URL I.e:\n'firefox -remote %s'"),
NULL ) );
label = gtk_label_new ( text );
@@ -1090,6 +1100,7 @@ GtkWidget *onglet_programmes (void)
if ( ! assert_account_loaded() )
gtk_widget_set_sensitive ( vbox_pref, FALSE );
+ /* return */
return ( vbox_pref );
}
@@ -1109,6 +1120,9 @@ static GtkWidget *gsb_config_scheduler_page ( void )
GtkWidget *label;
GtkWidget *entry;
GtkWidget *button;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
vbox_pref = new_vbox_with_title_and_icon ( _("Scheduler"), "scheduler.png" );
@@ -1118,7 +1132,7 @@ static GtkWidget *gsb_config_scheduler_page ( void )
_("Scheduler warnings at Grisbi's opening"),
_("Warn/Execute the scheduled transactions arriving at expiration date"),
_("Warn/Execute the scheduled transactions of the month"),
- &execute_scheduled_of_month,
+ &conf->execute_scheduled_of_month,
NULL, NULL );
hbox = gtk_hbox_new ( FALSE, 0);
@@ -1128,7 +1142,7 @@ static GtkWidget *gsb_config_scheduler_page ( void )
_("Number of days before the warning or the execution: ") );
gtk_box_pack_start ( GTK_BOX (hbox), label, FALSE, FALSE, 0 );
- entry = gsb_automem_spin_button_new ( &nb_days_before_scheduled, NULL, NULL );
+ entry = gsb_automem_spin_button_new ( &conf->nb_days_before_scheduled, NULL, NULL );
gtk_widget_set_size_request ( entry, width_spin_button, -1 );
gtk_box_pack_start ( GTK_BOX (hbox), entry, FALSE, FALSE, 0 );
@@ -1147,8 +1161,11 @@ static GtkWidget *gsb_config_scheduler_page ( void )
GtkWidget *onglet_metatree ( void )
{
GtkWidget *vbox_pref, *paddingbox, *total_currencies;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
- vbox_pref = new_vbox_with_title_and_icon (
+ vbox_pref = new_vbox_with_title_and_icon (
_("Payees, categories and budgetaries"),
"organization.png" );
@@ -1172,9 +1189,9 @@ GtkWidget *onglet_metatree ( void )
_("Expand the line"),
_("Edit the line"),
_("Manage the line"),
- &conf.metatree_action_2button_press,
+ &conf->metatree_action_2button_press,
G_CALLBACK ( gsb_config_onglet_metatree_action_changed ),
- &conf.metatree_action_2button_press,
+ &conf->metatree_action_2button_press,
GTK_ORIENTATION_VERTICAL );
return vbox_pref;
@@ -1643,7 +1660,8 @@ void gsb_localisation_update_affichage ( gin tion_changed ), LL ); date"), , ), L ); n" ) ), TRUE ); rted ones.") : , he \"%s\" option in preferences."), )); ä+ ÀÁmrÿ °ºä+ °¶mrÿ µmrÿ k {ã+ 6 è è! è! PÁmrÿ ÀÁmrÿ xTä+ °·mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ ÀOüä+ u{ã+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ xTä+ °·mrÿ ¶mrÿ k {ã+ à! à! PÁmrÿ ÀÁmrÿ Hxä+ ¸mrÿ {ã+ {ã+ PÁmrÿ `{ã+ Ámrÿ Ámrÿ xÁmrÿ 8«ã+ p ÀÁmrÿ u{ã+ ª|ã+ ¸mrÿ `·mrÿ k {ã+ G H I J K M N O P PÁmrÿ ÀÁmrÿ HÕNä+ 0ºmrÿ {ã+ {ã+ PÁmrÿ 0Oüä+ u{ã+ `ä+ ,ä+ @üä+ ØDüä+ ¨Iüä+ ª|ã+ HÕNä+ 0ºmrÿ
p¸mrÿ k {ã+ 8ÕNä+ 0ºmrÿ ¸mrÿ k {ã+ (ÕNä+ 0ºmrÿ иmrÿ k {ã+ ÕNä+ 0ºmrÿ ¹mrÿ k {ã+ ¨Nüä+ u{ã+ ¨Iüä+ ³mrÿ X,ä+ e{ã+ ØDüä+ ¹mrÿ yX,ä+ e{ã+ @üä+ йmrÿ ZX,ä+ e{ã+ Ø,ä+ `ä+ ,ä+ @üä+ Ødä+ ØDüä+ ¨Iüä+ ª|ã+ 8«ã+ Í÷ã+ ÀÁmrÿ p+ä+ »mrÿ Pºmrÿ k {ã+ 5 6 7 8 : < = > ? @ B D PÁmrÿ ÀÁmrÿ àÍôã+ ÀÁmrÿ u{ã+ ¥ã+ ºmrÿ Í÷ã+ e{ã+ ¥ã+ Õ_ at fÆS Qöl±íÁãÃã+ ÀÁmrÿ àÍôã+ ¼mrÿ `»mrÿ k {ã+ u]ÞÓ 4Q ÷U^Qʧ ¶uª¹ñìò*ÄvPÁmrÿ ÀÁmrÿ HÁã+ dýã+ Ãmrÿ ¦p_å+ ¦p_å+ ¶úã+ Ámrÿ ÀÂmrÿ xÁmrÿ à½mrÿ oä+ u{ã+ Ødä+ @Ämrÿ ¢p_å+ Ãmrÿ ¾mr
ÿ ÿÿÿÿÿÿÿÿ¢p_å+ ÈÁmrÿ t type_maj )
kind_account kind;
account_number = gsb_gui_navigation_get_current_account ( );
- account_current_page = gtk_notebook_get_current_page ( GTK_NOTEBOOK ( account_page ) );
+ account_current_page = gtk_notebook_get_current_page (
+ GTK_NOTEBOOK ( gsb_gui_on_account_get_notebook ( ) ) );
kind = gsb_data_account_get_kind ( account_number );
switch ( kind )
diff --git a/src/parametres_ui.c b/src/parametres_ui.c
new file mode 100644
index 0000000..4b54b74
--- /dev/null
+++ b/src/parametres_ui.c
@@ -0,0 +1,52 @@
+/* ************************************************************************** */
+/* */
+/* Copyright (C) 2001-2008 Cédric Auger (cedric at grisbi.org) */
+/* 2003-2008 Benjamin Drieu (bdrieu at april.org) */
+/* 2009-2012 Pierre Biava (grisbi at pierre.biava.name) */
+/* http://www.grisbi.org */
+/* */
+/* This program is free software; you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation; either version 2 of the License, or */
+/* (at your option) any later version. */
+/* */
+/* This program is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
+/* GNU General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program; if not, write to the Free Software */
+/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+/* */
+/* ************************************************************************** */
+
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+
+/*START_INCLUDE*/
+#include "parametres_ui.h"
+#include "parametres.h"
+#include "utils_gtkbuilder.h"
+/*END_INCLUDE*/
+
+
+/*START_STATIC*/
+/*END_STATIC*/
+
+
+
+/**
+ *
+ *
+ * \param
+ *
+ * \return
+ **/
+/* Local Variables: */
+/* c-basic-offset: 4 */
+/* End: */
diff --git a/src/parametres_ui.h b/src/parametres_ui.h
new file mode 100644
index 0000000..2b18ab1
--- /dev/null
+++ b/src/parametres_ui.h
@@ -0,0 +1,14 @@
+#ifndef _PARAMETRES_UI_H
+#define _PARAMETRES_UI_H (1)
+
+#include <gtk/gtk.h>
+
+/* START_INCLUDE_H */
+/* END_INCLUDE_H */
+
+
+/*START_DECLARATION*/
+
+/*END_DECLARATION*/
+
+#endif /* _PARAMETRES_UI_H */
diff --git a/src/parse_cmdline.c b/src/parse_cmdline.c
new file mode 100644
index 0000000..38f35b5
--- /dev/null
+++ b/src/parse_cmdline.c
@@ -0,0 +1,285 @@
+/* *******************************************************************************/
+/* */
+/* Copyright (C) 2000-2008 Cédric Auger (cedric at grisbi.org) */
+/* 2003-2008 Benjamin Drieu (bdrieu at april.org) */
+/* 2008-2012 Pierre Biava (grisbi at pierre.biava.name) */
+/* http://www.grisbi.org */
+/* */
+/* This program is free software; you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation; either version 2 of the License, or */
+/* (at your option) any later version. */
+/* */
+/* This program is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
+/* GNU General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program; if not, write to the Free Software */
+/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+/* */
+/* *******************************************************************************/
+
+/* Gedit a servi de modèle pour cet objet */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <glib/gi18n.h>
+
+/*START_INCLUDE*/
+#include "parse_cmdline.h"
+#include "dialog.h"
+#include "gsb_dirs.h"
+#include "main.h"
+/*END_INCLUDE*/
+
+#define GRISBI_COMMAND_LINE_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE((object), GRISBI_TYPE_COMMAND_LINE, GrisbiCommandLinePrivate))
+
+struct _GrisbiCommandLinePrivate
+{
+ gint debug_level;
+ gchar *config_file;
+ gchar **files_args;
+
+ gchar *conf_filename;
+ GSList *file_list;
+};
+
+G_DEFINE_TYPE (GrisbiCommandLine, grisbi_command_line, G_TYPE_INITIALLY_UNOWNED)
+
+static void grisbi_command_line_finalize ( GObject *object )
+{
+ GrisbiCommandLinePrivate *priv = GRISBI_COMMAND_LINE ( object )->priv;
+
+ g_free ( priv->config_file );
+ g_strfreev ( priv->files_args );
+ g_slist_free_full ( priv->file_list, g_object_unref );
+
+ G_OBJECT_CLASS ( grisbi_command_line_parent_class)->finalize ( object );
+}
+
+
+static void grisbi_command_line_class_init ( GrisbiCommandLineClass *klass )
+{
+ GObjectClass *object_class = G_OBJECT_CLASS ( klass );
+
+ object_class->finalize = grisbi_command_line_finalize;
+
+ g_type_class_add_private ( object_class, sizeof ( GrisbiCommandLinePrivate ) );
+}
+
+
+static void grisbi_command_line_init ( GrisbiCommandLine *self )
+{
+ self->priv = GRISBI_COMMAND_LINE_GET_PRIVATE ( self );
+
+ self->priv->debug_level = -1;
+}
+
+
+GrisbiCommandLine *grisbi_command_line_get_default ( void )
+{
+ GrisbiCommandLine *command_line;
+
+ command_line = g_object_new ( GRISBI_TYPE_COMMAND_LINE, NULL );
+
+ if ( g_object_is_floating ( command_line ) )
+ {
+ g_object_ref_sink ( command_line );
+ }
+ else
+ {
+ g_object_unref ( command_line );
+ }
+
+ return command_line;
+}
+
+
+/**
+ * cherche le nom_long d'un fichier de configuration passé en paramètre
+ *
+ * \param nom de l'option
+ *
+ * \return un nom valide ou NULL;
+ **/
+static gchar *grisbi_command_line_make_conf_filename ( gchar *config_file )
+{
+ gchar *tmp_name = NULL;
+
+ if ( g_file_test ( config_file, G_FILE_TEST_EXISTS ) )
+ {
+ tmp_name = g_strdup ( config_file );
+
+ return tmp_name;
+ }
+ else
+ {
+ tmp_name = g_build_filename ( gsb_dirs_get_user_config_dir (), config_file, NULL );
+ if ( g_file_test ( tmp_name, G_FILE_TEST_EXISTS ) )
+ {
+ return tmp_name;
+ }
+ else
+ {
+ g_free ( tmp_name );
+ tmp_name = g_build_filename ( gsb_dirs_get_home_dir (), config_file, NULL );
+ if ( g_file_test ( tmp_name, G_FILE_TEST_EXISTS ) )
+ {
+ return tmp_name;
+ }
+ else
+ {
+ g_free ( tmp_name );
+ return NULL;
+ }
+ }
+ }
+ return NULL;
+}
+
+
+static void grisbi_command_line_init_file_list ( GrisbiCommandLine *command_line )
+{
+ gint i;
+
+ if (!command_line->priv->files_args)
+ {
+ return;
+ }
+
+ for (i = 0; command_line->priv->files_args[i]; i++)
+ {
+ GFile *file;
+
+ file = g_file_new_for_commandline_arg ( command_line->priv->files_args[i] );
+
+ command_line->priv->file_list = g_slist_prepend ( command_line->priv->file_list, file );
+ }
+
+ command_line->priv->file_list = g_slist_reverse ( command_line->priv->file_list );
+}
+
+
+gint grisbi_command_line_parse ( GrisbiCommandLine *command_line,
+ gint argc,
+ gchar **argv )
+{
+ GOptionContext *context;
+ GError *error = NULL;
+ gchar *conf_filename;
+ gint return_value = 0;
+ const GOptionEntry options[] =
+ {
+ /* Version */
+ {
+ "version", 'v', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK,
+ gsb_main_show_version, N_("Show the application's version"), NULL
+ },
+
+ /* debug level */
+ {
+ "debug", 'd', 0, G_OPTION_ARG_INT, &command_line->priv->debug_level,
+ N_("Debug mode: level 0-5"), NULL
+ },
+
+ /* config file */
+ {
+ "file.conf", 'c', 0, G_OPTION_ARG_FILENAME, &command_line->priv->config_file,
+ N_("[FILE.CONF]"), NULL
+ },
+
+ /* Open a new window */
+/* {
+ * "new-window", 'w', 0, G_OPTION_ARG_NONE, &command_line->priv->new_window,
+ * N_("Create a new top-level window in an existing instance of grisbi"), NULL
+ * },
+ */
+
+ /* Run in the background */
+/* {
+ * "background", 'b', 0, G_OPTION_ARG_NONE, &command_line->priv->background,
+ * N_("Run grisbi in the background"), NULL
+ * },
+ */
+
+ /* collects files arguments */
+ {
+ G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_FILENAME_ARRAY, &command_line->priv->files_args,
+ NULL, N_("[FILE...]")
+ },
+
+ {NULL}
+ };
+
+ /* Setup command line options */
+ context = g_option_context_new ( _("- Personnal finances manager") );
+ g_option_context_set_summary ( context,
+ N_("Grisbi can manage the accounts of a family or a small association.") );
+ g_option_context_set_translation_domain ( context, PACKAGE );
+
+ g_option_context_add_main_entries ( context, options, PACKAGE );
+ g_option_context_add_group ( context, gtk_get_option_group ( FALSE ) );
+ g_option_context_set_translation_domain ( context, PACKAGE );
+
+ if ( !g_option_context_parse ( context, &argc, &argv, &error ) )
+ {
+ if (error)
+ {
+ g_print ("option parsing failed: %s\n", error->message);
+ g_error_free ( error );
+ }
+
+ return_value = 1;
+ }
+
+ g_option_context_free (context);
+
+ /* test de la validité du fichier de configuration */
+ conf_filename = grisbi_command_line_make_conf_filename ( command_line->priv->config_file );
+ if ( conf_filename == NULL )
+ {
+ g_print ( _("Error loading file '%s'"), command_line->priv->config_file );
+
+ return_value = 1;
+ }
+
+ command_line->priv->conf_filename = conf_filename;
+
+ /* Constitution de la liste des fichiers */
+ grisbi_command_line_init_file_list ( command_line );
+
+ return return_value;
+}
+
+
+gchar *grisbi_command_line_get_config_file ( GrisbiCommandLine *command_line )
+{
+ g_return_val_if_fail ( GRISBI_IS_COMMAND_LINE ( command_line ), NULL );
+
+ return command_line->priv->conf_filename;
+}
+
+
+gint grisbi_command_line_get_debug_level ( GrisbiCommandLine *command_line )
+{
+ g_return_val_if_fail ( GRISBI_IS_COMMAND_LINE ( command_line ), 0 );
+
+ return command_line->priv->debug_level;
+}
+
+
+GSList *grisbi_command_line_get_file_list ( GrisbiCommandLine *command_line )
+{
+ g_return_val_if_fail ( GRISBI_IS_COMMAND_LINE ( command_line ), NULL );
+
+ return command_line->priv->file_list;
+}
+
+
+/* Local Variables: */
+/* c-basic-offset: 4 */
+/* End: */
diff --git a/src/parse_cmdline.h b/src/parse_cmdline.h
new file mode 100644
index 0000000..52f30d7
--- /dev/null
+++ b/src/parse_cmdline.h
@@ -0,0 +1,44 @@
+#ifndef __PARSE_CMDLINE_H
+#define __PARSE_CMDLINE_H (1)
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define GRISBI_TYPE_COMMAND_LINE (grisbi_command_line_get_type ())
+#define GRISBI_COMMAND_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GRISBI_TYPE_COMMAND_LINE, GrisbiCommandLine))
+#define GRISBI_COMMAND_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GRISBI_TYPE_COMMAND_LINE, GrisbiCommandLineClass))
+#define GRISBI_IS_COMMAND_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GRISBI_TYPE_COMMAND_LINE))
+#define GRISBI_IS_COMMAND_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GRISBI_TYPE_COMMAND_LINE))
+#define GRISBI_COMMAND_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GRISBI_TYPE_COMMAND_LINE, GrisbiCommandLineClass))
+
+typedef struct _GrisbiCommandLine GrisbiCommandLine;
+typedef struct _GrisbiCommandLineClass GrisbiCommandLineClass;
+typedef struct _GrisbiCommandLinePrivate GrisbiCommandLinePrivate;
+
+struct _GrisbiCommandLine
+{
+ GInitiallyUnowned parent;
+
+ GrisbiCommandLinePrivate *priv;
+};
+
+struct _GrisbiCommandLineClass
+{
+ GInitiallyUnownedClass parent_class;
+};
+
+GType grisbi_command_line_get_type ( void ) G_GNUC_CONST;
+
+GrisbiCommandLine *grisbi_command_line_get_default ( void );
+gint grisbi_command_line_parse ( GrisbiCommandLine *command_line,
+ gint argc,
+ gchar **argv );
+
+gchar *grisbi_command_line_get_config_file ( GrisbiCommandLine *command_line );
+gint grisbi_command_line_get_debug_level ( GrisbiCommandLine *command_line );
+GSList *grisbi_command_line_get_file_list ( GrisbiCommandLine *command_line );
+
+#endif /* ifndef __PARSE_CMDLINE_H */
+
+
diff --git a/src/plugins/openssl/openssl.c b/src/plugins/openssl/openssl.c
index d13db07..625f68b 100644
--- a/src/plugins/openssl/openssl.c
+++ b/src/plugins/openssl/openssl.c
@@ -36,6 +36,7 @@
/*START_INCLUDE*/
#include "openssl.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "main.h"
#include "structures.h"
#include "erreur.h"
@@ -317,7 +318,7 @@ gchar *gsb_file_util_ask_for_crypt_key ( gchar * file_name, gchar * additional_m
gint result;
dialog = gtk_dialog_new_with_buttons ( _("Grisbi password"),
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
( encrypt ? _("Crypt file") : _("Decrypt file") ), GTK_RESPONSE_OK,
diff --git a/src/print_dialog_config.c b/src/print_dialog_config.c
index 9886ada..7adfd57 100644
--- a/src/print_dialog_config.c
+++ b/src/print_dialog_config.c
@@ -34,6 +34,7 @@
/*START_INCLUDE*/
#include "print_dialog_config.h"
+#include "grisbi_app.h"
#include "structures.h"
#include "erreur.h"
/*END_INCLUDE*/
@@ -86,11 +87,11 @@ void print_dialog_config ( GCallback begin_callback,
res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
- GTK_WINDOW ( run.window ), NULL);
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ), NULL);
if (res == GTK_PRINT_OPERATION_RESULT_APPLY)
{
- settings = gtk_print_operation_get_print_settings (print);
+ settings = gtk_print_operation_get_print_settings (print);
}
}
diff --git a/src/structures.h b/src/structures.h
index 3caec00..4530f9d 100644
--- a/src/structures.h
+++ b/src/structures.h
@@ -22,6 +22,11 @@
#define CSV_MAX_TOP_LINES 10 /** How many lines to show in CSV preview. */
+typedef struct gsb_conf_t GrisbiAppConf;
+typedef struct gsb_etat_t GrisbiWindowConf;
+typedef struct gsb_run_t GrisbiAppRun;
+
+
/** structure etat
* variables contenant juste 0 ou 1
* FIXME : scinder cette structure en 3 parties :
@@ -43,10 +48,7 @@ struct gsb_etat_t
gint reconcile_end_date; /* Date initiale + 1 mois par défaut */
/* formulaire */
- gint formulaire_toujours_affiche;
- gint affichage_exercice_automatique; /* automatic fyear :0 to set according to the date, 2 according to value date */
gint affiche_nb_ecritures_listes;
- gint largeur_auto_colonnes;
gint retient_affichage_par_compte; /* à 1 si les caractéristiques de l'affichage (R, non R ...) diffèrent par compte */
/* Fonts & logo */
@@ -54,9 +56,6 @@ struct gsb_etat_t
gboolean is_pixmaps_dir; /* TRUE if path_icon == gsb_dirs_get_pixmaps_dir ( ) */
gchar *name_logo;
- gint display_toolbar; /** Display mode of toolbar. */
- gboolean show_headings_bar; /** Show headings bar or not. */
- gboolean show_closed_accounts;
gboolean automatic_separator; /* TRUE if do automatic separator */
/* Various display message stuff */
@@ -96,10 +95,6 @@ struct gsb_etat_t
/* variables sur l'échéancier */
gint affichage_commentaire_echeancier; /* à 1 si le commentaire est affiché */
- /* Tips */
- gint last_tip;
- gint show_tip;
-
/* variables pour les metatree */
gint metatree_sort_transactions; /* 1 = sorting by increasing date 2 = Sort by date descending */
gint add_archive_in_total_balance; /* Add transactions archived in the totals */
@@ -132,14 +127,28 @@ extern struct gsb_etat_t etat;
*/
struct gsb_conf_t
{
- /* geometry */
+ /* IHM */
+ /* main window */
gint root_x; /* main_window x position */
gint root_y; /* main_window y position */
gint main_width; /* main_window width */
gint main_height; /* main_window height */
gint full_screen; /* 1 to full screen, 0 else */
+ gint maximize_screen; /* 1 when window is maximized */
+ gint display_toolbar; /* Display mode of toolbar. */
+ gboolean show_headings_bar; /* Show headings bar or not. */
+
+ /* preferences */
gint prefs_width; /* preferences width */
+ /* left_panel */
+ gint panel_width; /* left hpanel width */
+ gboolean active_scrolling_left_pane; /* active mouse scrolling in the left panel. */
+
+ /* Tips */
+ gint last_tip;
+ gint show_tip;
+
/* general part */
gint r_modifiable; /* Changes in reconciled transactions */
gint entree; /* si etat.entree = 1, la touche entrée finit l'opération */
@@ -148,9 +157,9 @@ struct gsb_conf_t
gchar *font_string; /* contain the description of the font, or NULL */
gchar *browser_command;
gint pluriel_final; /* 0 = finals 1 = finaux */
+ gboolean show_closed_accounts;
gint display_grisbi_title; /* selection du titre principal de grisbi */
- gboolean active_scrolling_left_pane; /** active mouse scrolling in the left_pane. */
/* files part */
gint sauvegarde_demarrage; /* utilisé pour enregistrer le fichier s'il s'est bien ouvert */
@@ -161,6 +170,7 @@ struct gsb_conf_t
gint force_enregistrement; /* Ã un si on force l'enregistrement */
gint nb_max_derniers_fichiers_ouverts; /* contient le nb max que peut contenir nb_derniers_fichiers_ouverts */
gsize nb_derniers_fichiers_ouverts; /* contient le nb de derniers fichiers ouverts */
+ gchar **tab_noms_derniers_fichiers_ouverts; /* RecentFiles */
/* backup part */
gint make_backup; /* TRUE for create a backup when save file */
@@ -170,7 +180,9 @@ struct gsb_conf_t
gint compress_backup; /* TRUE if we want to compress the backup */
/* formulaire */
+ gint formulaire_toujours_affiche;
gint automatic_completion_payee; /* 1 pour autoriser la completion automatique des opérations */
+ gint affichage_exercice_automatique; /* automatic fyear :0 to set according to the date, 2 according to value date */
gboolean limit_completion_to_current_account; /* Limit payee completion to current account or do a full search. */
gboolean automatic_recover_splits; /* 1 pour recréer automatiquement les sous opérations */
gboolean automatic_erase_credit_debit; /* 1 pour effacer les champs crédit et débit */
@@ -189,7 +201,11 @@ struct gsb_conf_t
gboolean transactions_list_primary_sorting; /* Primary sorting option for the transactions */
gboolean transactions_list_secondary_sorting; /* Secondary sorting option for the transactions */
- /* variables for the list of transactions */
+ /* variables for the list of scheduled */
+ gint nb_days_before_scheduled; /* number of days before the scheduled to execute it */
+ gboolean execute_scheduled_of_month; /* warn/execute scheduled at expiration (FALSE) or of the month (TRUE) */
+
+ /* variables for the list of divisions */
gint metatree_action_2button_press; /* 0 default gtk, 1 edit_function, 1 manage division if possible */
/* archive stuff */
@@ -209,9 +225,6 @@ extern struct gsb_conf_t conf;
struct gsb_run_t
{
- /* main window of grisbi */
- GtkWidget *window;
-
/* initialisation variables */
gboolean new_crypted_file; /* 0 à l'exécution de init_variables () 1 si new crypted file*/
diff --git a/src/tests/main_cunit.c b/src/tests/main_cunit.c
index 1ee7741..b7fea38 100644
--- a/src/tests/main_cunit.c
+++ b/src/tests/main_cunit.c
@@ -99,29 +99,9 @@ int gsb_cunit_run_tests()
}
-#ifdef _MSC_VER
-int APIENTRY wWinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPWSTR lpCmdLine,
- int nCmdShow)
-{
- int argc, nLen;
- LPWSTR * argvP;
- char ** argv = malloc(sizeof(char**));
- argvP = CommandLineToArgvW(GetCommandLineW(), &(argc));
- nLen = WideCharToMultiByte(CP_UTF8, 0,argvP[0], -1, NULL, 0, NULL, NULL);
- *argv = malloc((nLen + 1) * sizeof(char));
- WideCharToMultiByte(CP_UTF8, 0, argvP[0], -1, *argv, nLen, NULL, NULL);
- int result = main(argc, argv);
- free(*argv);
- free(argv);
- return result;
-}
-#endif /* _MSC_VER */
-
int main(int argc, char** argv)
{
- return gsb_cunit_run_tests() ;
+ return gsb_cunit_run_tests() ;
}
/* Local Variables: */
diff --git a/src/tiers_onglet.c b/src/tiers_onglet.c
index 30a236b..19d6b88 100644
--- a/src/tiers_onglet.c
+++ b/src/tiers_onglet.c
@@ -40,6 +40,7 @@
/*START_INCLUDE*/
#include "tiers_onglet.h"
#include "fenetre_principale.h"
+#include "grisbi_app.h"
#include "gsb_assistant.h"
#include "gsb_automem.h"
#include "gsb_data_form.h"
@@ -309,12 +310,15 @@ GtkWidget *payees_create_list ( void )
GtkWidget *creation_barre_outils_tiers ( void )
{
GtkWidget *hbox, *button;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
/* Hbox */
hbox = gtk_hbox_new ( FALSE, 0 );
/* Add various icons */
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("New payee"), "new-payee.png",
G_CALLBACK ( appui_sur_ajout_payee ),
payee_tree_model );
@@ -322,7 +326,7 @@ GtkWidget *creation_barre_outils_tiers ( void )
_("Create a new payee"));
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_DELETE, _("Delete"),
G_CALLBACK ( supprimer_division ),
payee_tree );
@@ -331,7 +335,7 @@ GtkWidget *creation_barre_outils_tiers ( void )
_("Delete selected payee"));
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_EDIT, _("Edit"),
G_CALLBACK ( edit_payee ),
payee_tree );
@@ -340,7 +344,7 @@ GtkWidget *creation_barre_outils_tiers ( void )
_("Edit selected payee"));
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
- button = gsb_automem_stock_button_menu_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_menu_new ( conf->display_toolbar,
GTK_STOCK_SELECT_COLOR,
_("View"),
G_CALLBACK ( popup_payee_view_mode_menu ),
@@ -349,7 +353,7 @@ GtkWidget *creation_barre_outils_tiers ( void )
_("Change view mode"));
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
- button = gsb_automem_imagefile_button_new ( etat.display_toolbar,
+ button = gsb_automem_imagefile_button_new ( conf->display_toolbar,
_("Manage payees"), "payeesmg.png",
G_CALLBACK ( payees_manage_payees ),
NULL );
@@ -357,7 +361,7 @@ GtkWidget *creation_barre_outils_tiers ( void )
_("Manage the payees"));
gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, TRUE, 0 );
- button = gsb_automem_stock_button_new ( etat.display_toolbar,
+ button = gsb_automem_stock_button_new ( conf->display_toolbar,
GTK_STOCK_DELETE, _("Remove unused payees"),
G_CALLBACK ( payees_remove_unused_payees ),
NULL );
@@ -641,7 +645,7 @@ gboolean edit_payee ( GtkTreeView * view )
title = g_strdup_printf ( _("Properties for %s"), old_payee );
dialog = gtk_dialog_new_with_buttons ( title,
- GTK_WINDOW ( run.window ),
+ GTK_WINDOW ( grisbi_app_get_active_window ( NULL ) ),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, GTK_RESPONSE_NO,
GTK_STOCK_APPLY, GTK_RESPONSE_OK,
@@ -1706,6 +1710,9 @@ gboolean payee_list_button_press ( GtkWidget *tree_view,
GtkTreeIter iter;
GtkTreePath *path = NULL;
enum meta_tree_row_type type_division;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
type_division = metatree_get_row_type_from_tree_view ( tree_view );
if ( type_division == META_TREE_TRANSACTION )
@@ -1715,7 +1722,7 @@ gboolean payee_list_button_press ( GtkWidget *tree_view,
if ( selection && gtk_tree_selection_get_selected (selection, &model, &iter ) )
path = gtk_tree_model_get_path ( model, &iter);
- if ( conf.metatree_action_2button_press == 1 )
+ if ( conf->metatree_action_2button_press == 1 )
{
edit_payee ( GTK_TREE_VIEW ( tree_view ) );
diff --git a/src/tip.c b/src/tip.c
index 1ebde9b..2ec5742 100644
--- a/src/tip.c
+++ b/src/tip.c
@@ -32,6 +32,7 @@
#define START_INCLUDE
#include "tip.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_automem.h"
#include "structures.h"
#define END_INCLUDE
@@ -125,20 +126,23 @@ void display_tip ( gboolean force )
GtkWidget * dialog = NULL;
GtkWidget *btn_back, *btn_forward, *btn_close;
gchar *tmpstr;
+ GrisbiAppConf *conf;
- if ( !force && !etat.show_tip )
+ conf = grisbi_app_get_conf ( );
+
+ if ( !force && !conf->show_tip )
return;
- etat.last_tip = CLAMP (etat.last_tip+1, 0, sizeof(tips)/sizeof(gpointer)-1);
+ conf->last_tip = CLAMP (conf->last_tip+1, 0, sizeof(tips)/sizeof(gpointer)-1);
dialog = dialogue_special_no_run ( GTK_MESSAGE_INFO, GTK_BUTTONS_NONE,
make_hint ( _("Did you know that..."),
/* We use the grisbi-tips catalog */
- g_dgettext(NULL, tips[etat.last_tip]) ) );
+ g_dgettext(NULL, tips[conf->last_tip]) ) );
gtk_window_set_modal ( GTK_WINDOW ( dialog ), FALSE );
checkbox = gsb_automem_checkbutton_new ( _("Display tips at next start"),
- &(etat.show_tip), NULL, NULL );
+ &conf->show_tip, NULL, NULL );
gtk_box_pack_start ( GTK_BOX ( dialog_get_content_area ( dialog ) ), checkbox, FALSE, FALSE, 6 );
gtk_widget_show ( checkbox );
@@ -150,21 +154,21 @@ void display_tip ( gboolean force )
/* We iterate as user can select several tips. */
while ( TRUE )
{
- if (etat.last_tip == sizeof(tips)/sizeof(gpointer)-1)
+ if (conf->last_tip == sizeof(tips)/sizeof(gpointer)-1)
gtk_widget_set_sensitive (btn_forward, FALSE);
- if (etat.last_tip == 0)
+ if (conf->last_tip == 0)
gtk_widget_set_sensitive (btn_back, FALSE);
switch ( gtk_dialog_run ( GTK_DIALOG(dialog) ) )
{
case 1:
- if ( etat.last_tip > 0 )
- etat.last_tip--;
+ if ( conf->last_tip > 0 )
+ conf->last_tip--;
gtk_widget_set_sensitive (btn_forward, TRUE);
tmpstr = g_strconcat ( make_pango_attribut (
"size=\"larger\" weight=\"bold\"", _("Did you know that...") ),
"\n\n",
- g_dgettext (NULL, tips[etat.last_tip] ),
+ g_dgettext (NULL, tips[conf->last_tip] ),
NULL );
gtk_message_dialog_set_markup ( GTK_MESSAGE_DIALOG ( dialog ), tmpstr );
@@ -173,12 +177,12 @@ void display_tip ( gboolean force )
break;
case 2:
- if (etat.last_tip < sizeof(tips)/sizeof(gpointer)-1)
- etat.last_tip++;
+ if (conf->last_tip < sizeof(tips)/sizeof(gpointer)-1)
+ conf->last_tip++;
tmpstr = g_strconcat ( make_pango_attribut (
"size=\"larger\" weight=\"bold\"", _("Did you know that...") ),
"\n\n",
- g_dgettext ( NULL, tips[etat.last_tip] ),
+ g_dgettext ( NULL, tips[conf->last_tip] ),
NULL );
gtk_message_dialog_set_markup ( GTK_MESSAGE_DIALOG ( dialog ), tmpstr );
diff --git a/src/traitement_variables.c b/src/traitement_variables.c
index 2e88724..2b949ed 100644
--- a/src/traitement_variables.c
+++ b/src/traitement_variables.c
@@ -192,7 +192,8 @@ void init_variables ( void )
gsb_report_init_variables ();
gsb_regex_init_variables ();
- gsb_data_print_config_init ();
+ /* WARNING BUG */
+/* gsb_data_print_config_init (); */
/* no bank in memory for now */
bank_list_model = NULL;
@@ -205,11 +206,6 @@ void init_variables ( void )
orphan_child_transactions = NULL;
- /* the main notebook is set to NULL,
- * important because it's the checked variable in a new file
- * to know if the widgets are created or not */
- gsb_gui_init_general_notebook ( );
-
if ( nom_fichier_comptes )
g_free ( nom_fichier_comptes );
nom_fichier_comptes = NULL;
@@ -245,7 +241,6 @@ void init_variables ( void )
adresse_commune = NULL;
adresse_secondaire = NULL;
- etat.largeur_auto_colonnes = 1;
current_tree_view_width = 0;
scheduler_current_tree_view_width = 0;
@@ -283,8 +278,6 @@ void init_variables ( void )
etat.scheduler_column_width = NULL;
}
- gsb_gui_navigation_init_tree_view ( );
-
/* free the form */
gsb_form_widget_free_list ();
gsb_form_scheduler_free_list ();
@@ -295,6 +288,8 @@ void init_variables ( void )
/* divers */
etat.add_archive_in_total_balance = TRUE; /* add the archived transactions by default */
etat.get_fyear_by_value_date = 0; /* By default use transaction-date */
+ etat.retient_affichage_par_compte = 0;
+ memset ( etat.csv_skipped_lines, '\0', sizeof(gboolean) * CSV_MAX_TOP_LINES );
/* remove the timeout if necessary */
if (id_timeout)
@@ -328,7 +323,6 @@ void free_variables ( void )
gsb_gui_navigation_free_pages_list ( );
gsb_regex_destroy ( );
struct_free_bet_graph_prefs ( );
- gsb_config_free_conf_filename ( );
}
diff --git a/src/transaction_list.c b/src/transaction_list.c
index db6b96c..aa49b61 100644
--- a/src/transaction_list.c
+++ b/src/transaction_list.c
@@ -42,6 +42,7 @@
#include "affichage_liste.h"
#include "custom_list.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_color.h"
#include "gsb_data_account.h"
#include "gsb_data_archive.h"
@@ -340,7 +341,8 @@ void transaction_list_append_archive ( gint archive_store_number )
else
amount_col = find_element_col (ELEMENT_CREDIT);
- newrecord -> visible_col[amount_col] = utils_real_get_string_with_currency (
+ if ( amount_col > 0 )
+ newrecord -> visible_col[amount_col] = utils_real_get_string_with_currency (
gsb_data_archive_store_get_balance (archive_store_number),
gsb_data_account_get_currency (
gsb_data_archive_store_get_account_number ( archive_store_number ) ),
@@ -1894,6 +1896,9 @@ static CustomRecord *transaction_list_create_record ( gint transaction_number,
gint column;
CustomRecord *newrecord;
CustomList *custom_list;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
custom_list = transaction_model_get_model ();
@@ -1905,8 +1910,8 @@ static CustomRecord *transaction_list_create_record ( gint transaction_number,
newrecord -> visible_col[column] = gsb_transactions_list_grep_cell_content ( transaction_number,
tab_affichage_ope[line_in_transaction][column]);
- if ( conf.utilise_fonte_listes )
- newrecord -> font = conf.font_string;
+ if ( conf->utilise_fonte_listes )
+ newrecord -> font = conf->font_string;
newrecord -> transaction_pointer = gsb_data_transaction_get_pointer_of_transaction (transaction_number);
newrecord -> what_is_line = IS_TRANSACTION;
newrecord -> line_in_transaction = line_in_transaction;
@@ -2080,8 +2085,7 @@ void transaction_list_set_color_jour ( gint account_number )
g_return_if_fail ( custom_list != NULL );
date_jour = gdate_today ( );
- element_sort = gsb_data_account_get_element_sort ( account_number,
- custom_list -> sort_col);
+ element_sort = gsb_data_account_get_element_sort ( account_number, custom_list -> sort_col);
for ( i = custom_list -> num_visibles_rows -1; i >= 0 ; i-- )
{
@@ -2120,7 +2124,7 @@ void transaction_list_set_color_jour ( gint account_number )
}
}
}
- g_date_free ( date_jour );
+ g_date_free ( date_jour );
}
diff --git a/src/ui/Makefile.am b/src/ui/Makefile.am
index f3539e8..e81c44d 100644
--- a/src/ui/Makefile.am
+++ b/src/ui/Makefile.am
@@ -2,6 +2,13 @@ uidir = $(pkgdatadir)/ui
ui_DATA = etats_config.ui \
bet_graph.ui \
- grisbi.ui
+ grisbi.ui \
+ grisbi_ui.xml \
+ grisbi_prefs.ui \
+ dlg_bet_future.ui \
+ dlg_edit_with_radio.ui \
+ dlg_edit_without_radio.ui \
+ dlg_schdler_trans.ui \
+ wdg_paddingbox_with_title.ui
EXTRA_DIST = $(ui_DATA)
diff --git a/src/ui/grisbi.ui b/src/ui/grisbi.ui
index 80ea59c..da22fe1 100644
--- a/src/ui/grisbi.ui
+++ b/src/ui/grisbi.ui
@@ -2,8 +2,190 @@
<interface>
<requires lib="gtk+" version="2.24"/>
<!-- interface-naming-policy project-wide -->
- <object class="GtkWindow" id="window">
+ <object class="GtkNotebook" id="account_page">
+ <property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="scrollable">True</property>
+ <property name="tab_border">0</property>
+ <property name="tab_hborder">0</property>
+ <property name="tab_vborder">0</property>
+ </object>
+ <object class="GtkEventBox" id="headings_eb">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkHBox" id="hbox1">
+ <property name="height_request">30</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkEventBox" id="arrow_eb_left">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkArrow" id="arrow_left">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="arrow_type">left</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEventBox" id="arrow_eb_right">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkArrow" id="arrow_right">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">3</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="headings_title">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">
+
+</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="headings_suffix">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">
+</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <object class="GtkStatusbar" id="main_statusbar">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ </object>
+ <object class="GtkVBox" id="main_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <object class="GtkVBox" id="vbox_general">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkHPaned" id="hpaned_general">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkVBox" id="vbox_left_panel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkScrolledWindow" id="sw_left_panel">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">automatic</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <child>
+ <object class="GtkTreeView" id="treeview_left_panel">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="resize">False</property>
+ <property name="shrink">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox_transactions_list">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkNotebook" id="notebook_general">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="show_tabs">False</property>
+ <property name="tab_border">0</property>
+ <property name="tab_hborder">0</property>
+ <property name="tab_vborder">0</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="resize">True</property>
+ <property name="shrink">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
<child>
<placeholder/>
</child>
diff --git a/src/ui/grisbi_prefs.ui b/src/ui/grisbi_prefs.ui
new file mode 100644
index 0000000..dba7283
--- /dev/null
+++ b/src/ui/grisbi_prefs.ui
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkDialog" id="grisbi_prefs_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">Report properties</property>
+ <property name="window_position">center</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="button_Annuler">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button_OK">
+ <property name="label">gtk-ok</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHPaned" id="dialog_hpaned">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="right_padding">5</property>
+ <child>
+ <object class="GtkVBox" id="vbox1">
+ <property name="width_request">220</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkScrolledWindow" id="sw_dialog">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="treeview_left_panel">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="headers_visible">False</property>
+ <property name="reorderable">True</property>
+ <property name="enable_search">False</property>
+ <property name="fixed_height_mode">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="resize">False</property>
+ <property name="shrink">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">5</property>
+ <property name="right_padding">5</property>
+ <child>
+ <object class="GtkNotebook" id="notebook_prefs">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="show_tabs">False</property>
+ <property name="tab_border">0</property>
+ <property name="tab_hborder">0</property>
+ <property name="tab_vborder">0</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="resize">True</property>
+ <property name="shrink">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="padding">10</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-1">button_Annuler</action-widget>
+ <action-widget response="-5">button_OK</action-widget>
+ </action-widgets>
+ </object>
+</interface>
diff --git a/src/ui/grisbi_ui.xml b/src/ui/grisbi_ui.xml
new file mode 100644
index 0000000..0f72055
--- /dev/null
+++ b/src/ui/grisbi_ui.xml
@@ -0,0 +1,103 @@
+<!--
+ * Copyright (C) 2000-2008 Cédric Auger (cedric at grisbi.org)
+ * 2004-2009 Benjamin Drieu (bdrieu at april.org)
+ * 2009-2012 Pierre Biava (grisbi at pierre.biava.name)
+ * http://www.grisbi.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+-->
+
+<!-- Ce fichier contient les définitions de tous les menus et barres d"outils -->
+
+<ui>
+ <menubar>
+ <menu name="FileMenu" action="FileMenuAction">
+ <menuitem name="New" action="NewAction"/>
+ <menuitem name="Open" action="OpenAction"/>
+ <separator/>
+ <menu name="RecentFiles" action="RecentFilesAction">
+ <placeholder name="FileRecentsPlaceholder">
+ </placeholder>
+ </menu>
+ <separator/>
+ <menuitem name="Save" action="SaveAction"/>
+ <menuitem name="SaveAs" action="SaveAsAction"/>
+ <menuitem name="FileRevert" action="FileRevertAction"/>
+ <separator/>
+ <menuitem name="ImportFile" action="ImportFileAction"/>
+ <menuitem name="ExportFile" action="ExportFileAction"/>
+ <separator/>
+ <menuitem name="CreateArchive" action="CreateArchiveAction"/>
+ <menuitem name="ExportArchive" action="ExportArchiveAction"/>
+ <separator/>
+ <menuitem name="DebugFile" action="DebugFileAction"/>
+ <menuitem name="Obfuscate" action="ObfuscateAction"/>
+ <menuitem name="ObfuscateQif" action="ObfuscateQifAction"/>
+ <menuitem name="DebugMode" action="DebugModeAction"/>
+ <separator/>
+ <menuitem name="Close" action="CloseAction"/>
+ <menuitem name="Quit" action="QuitAction"/>
+ </menu>
+
+ <menu name="EditMenu" action="EditMenuAction">
+ <menuitem name="EditTransaction" action="EditTransactionAction"/>
+ <separator/>
+ <menuitem name="NewTransaction" action="NewTransactionAction"/>
+ <menuitem name="RemoveTransaction" action="RemoveTransactionAction"/>
+ <menuitem name="TemplateTransaction" action="TemplateTransactionAction"/>
+ <menuitem name="CloneTransaction" action="CloneTransactionAction"/>
+ <separator/>
+ <menuitem name="ConvertToScheduled" action="ConvertToScheduledAction"/>
+ <menu name="MoveToAnotherAccount" action="MoveToAnotherAccountAction">
+ <placeholder name="FileRecentsPlaceholder">
+ </placeholder>
+ </menu>
+ <separator/>
+ <menuitem name="NewAccount" action="NewAccountAction"/>
+ <menuitem name="RemoveAccount" action="RemoveAccountAction"/>
+ <separator/>
+ <menuitem name="Preferences" action="PrefsAction"/>
+ </menu>
+
+ <menu name="ViewMenu" action="ViewMenuAction">
+ <menuitem name="ShowTransactionForm" action="ShowTransactionFormAction"/>
+ <menuitem name="ShowReconciled" action="ShowReconciledAction"/>
+ <menuitem name="ShowArchived" action="ShowArchivedAction"/>
+ <menuitem name="ShowClosed" action="ShowClosedAction"/>
+ <separator/>
+ <menuitem name="ShowOneLine" action="ShowOneLineAction"/>
+ <menuitem name="ShowTwoLines" action="ShowTwoLinesAction"/>
+ <menuitem name="ShowThreeLines" action="ShowThreeLinesAction"/>
+ <menuitem name="ShowFourLines" action="ShowFourLinesAction"/>
+ <separator/>
+ <menuitem name="InitwidthCol" action="InitwidthColAction"/>
+ <separator/>
+ <menuitem name="ShowFullScreen" action="ShowFullScreenAction"/>
+ </menu>
+
+ <menu name="Help" action="HelpMenuAction">
+ <menuitem name="Manual" action="ManualAction"/>
+ <menuitem name="QuickStart" action="QuickStartAction"/>
+ <menuitem name="Translation" action="TranslationAction"/>
+ <menuitem name="About" action="AboutAction"/>
+ <separator/>
+ <menuitem name="GrisbiWebsite" action="GrisbiWebsiteAction"/>
+ <menuitem name="ReportBug" action="ReportBugAction"/>
+ <separator/>
+ <menuitem name="Tip" action="TipAction"/>
+ </menu>
+ </menubar>
+</ui>
diff --git a/src/utils.c b/src/utils.c
index c74202d..1a24032 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -33,11 +33,13 @@
/*START_INCLUDE*/
#include "utils.h"
#include "dialog.h"
+#include "grisbi_app.h"
#include "gsb_color.h"
#include "gsb_data_account.h"
#include "gsb_dirs.h"
#include "gsb_file_config.h"
#include "structures.h"
+#include "utils_gtkbuilder.h"
#include "erreur.h"
/*END_INCLUDE*/
@@ -177,17 +179,20 @@ gboolean lance_navigateur_web_old ( const gchar *url )
gchar **split;
gchar *chaine = NULL;
gchar* tmp_str;
+ GrisbiAppConf *conf;
+
+ conf = grisbi_app_get_conf ( );
#ifdef _WIN32
gboolean use_default_browser = TRUE;
- if ( conf.browser_command && strlen ( conf.browser_command ) )
+ if ( conf->browser_command && strlen ( conf->browser_command ) )
{
- use_default_browser = !strcmp ( conf.browser_command,ETAT_WWW_BROWSER );
+ use_default_browser = !strcmp ( conf->browser_command,ETAT_WWW_BROWSER );
}
#else /* _WIN32 */
- if ( !( conf.browser_command && strlen ( conf.browser_command ) ) )
+ if ( !( conf->browser_command && strlen ( conf->browser_command ) ) )
{
tmp_str = g_strdup_printf ( _("Grisbi was unable to execute a web browser to "
"browse url:\n<span foreground=\"blue\">%s</span>.\n\n"
@@ -206,7 +211,7 @@ gboolean lance_navigateur_web_old ( const gchar *url )
#endif /* _WIN32 */
/* search if the sequence `%s' is in the string
* and split the string before and after this delimiter */
- split = g_strsplit ( conf.browser_command, "%s", 0 );
+ split = g_strsplit ( conf->browser_command, "%s", 0 );
if ( split[1] )
{
@@ -223,7 +228,7 @@ gboolean lance_navigateur_web_old ( const gchar *url )
chaine = tmp_str;
}
else
- chaine = g_strconcat ( conf.browser_command, " ", url, "&", NULL );
+ chaine = g_strconcat ( conf->browser_command, " ", url, "&", NULL );
if ( system ( chaine ) == -1 )
{
@@ -294,61 +299,61 @@ gboolean lance_navigateur_web ( const gchar *uri )
*/
GtkWidget *new_paddingbox_with_title (GtkWidget *parent, gboolean fill, const gchar *title)
{
- GtkWidget *vbox = NULL, *hbox = NULL, *paddingbox = NULL, *label = NULL;
- static GtkBuilder *widget_builder = NULL;
-
-
- /* New GtkBuilder Creation*/
- widget_builder = gtk_builder_new ( );
-
- if ( widget_builder == NULL )
- return NULL;
-
- /* widget paddingbox XML loading */
- if ( !utils_gtkbuilder_merge_ui_data_in_builder ( widget_builder, "wdg_paddingbox_with_title.ui" ) )
- return NULL;
-
- /* Get the needed widgets*/
- vbox = GTK_WIDGET ( gtk_builder_get_object ( widget_builder, "vbox" ) );
- paddingbox = GTK_WIDGET ( gtk_builder_get_object ( widget_builder, "paddingbox" ));
- label = GTK_WIDGET ( gtk_builder_get_object ( widget_builder, "label" ) );
- hbox = GTK_WIDGET ( gtk_builder_get_object (widget_builder, "hbox"));
-
- /*Check Validity of Parent for robustness case*/
- if (parent != NULL && GTK_IS_BOX(parent) )
- {
- if (vbox != NULL)
- {
- gtk_box_pack_start ( GTK_BOX ( parent ), vbox,
- fill, fill, 0);
- }
- else
- {
- /*Nothing to do
- * Cosmetic error : Minor
- */
-
- }
- }
-
- if (label != NULL)
- {
- gtk_label_set_label(label,title);
- }
- else
- {
- return NULL; //TODO Manage error
- }
-
- gtk_box_pack_start ( GTK_BOX ( vbox ), hbox,
- fill, fill, 0);
-
- if ( parent != NULL && GTK_IS_BOX(parent) )
- {
- gtk_box_set_spacing ( GTK_BOX(parent), 18 );
- }
-
- return paddingbox;
+ GtkWidget *vbox = NULL, *hbox = NULL, *paddingbox = NULL, *label = NULL;
+ static GtkBuilder *widget_builder = NULL;
+
+
+ /* New GtkBuilder Creation*/
+ widget_builder = gtk_builder_new ( );
+
+ if ( widget_builder == NULL )
+ return NULL;
+
+ /* widget paddingbox XML loading */
+ if ( !utils_gtkbuilder_merge_ui_data_in_builder ( widget_builder, "wdg_paddingbox_with_title.ui" ) )
+ return NULL;
+
+ /* Get the needed widgets*/
+ vbox = GTK_WIDGET ( gtk_builder_get_object ( widget_builder, "vbox" ) );
+ paddingbox = GTK_WIDGET ( gtk_builder_get_object ( widget_builder, "paddingbox" ));
+ label = GTK_WIDGET ( gtk_builder_get_object ( widget_builder, "label" ) );
+ hbox = GTK_WIDGET ( gtk_builder_get_object (widget_builder, "hbox"));
+
+ /*Check Validity of Parent for robustness case*/
+ if (parent != NULL && GTK_IS_BOX(parent) )
+ {
+ if (vbox != NULL)
+ {
+ gtk_box_pack_start ( GTK_BOX ( parent ), vbox,
+ fill, fill, 0);
+ }
+ else
+ {
+ /*Nothing to do
+ * Cosmetic error : Minor
+ */
+
+ }
+ }
+
+ if (label != NULL)
+ {
+ gtk_label_set_label ( GTK_LABEL ( label ),title );
+ }
+ else
+ {
+ return NULL; /* TODO Manage error */
+ }
+
+ gtk_box_pack_start ( GTK_BOX ( vbox ), hbox,
+ fill, fill, 0);
+
+ if ( parent != NULL && GTK_IS_BOX(parent) )
+ {
+ gtk_box_set_spacing ( GTK_BOX(parent), 18 );
+ }
+
+ return paddingbox;
}
/**
@@ -368,8 +373,8 @@ GtkWidget *new_vbox_with_title_and_icon ( gchar *title,
{
GtkWidget *vbox_pref, *hbox, *label, *image, *eb;
GtkStyle * style;
- gchar* tmpstr1;
- gchar* tmpstr2;
+ gchar* tmpstr1;
+ gchar* tmpstr2;
vbox_pref = gtk_vbox_new ( FALSE, 6 );
gtk_widget_show ( vbox_pref );
@@ -389,21 +394,21 @@ GtkWidget *new_vbox_with_title_and_icon ( gchar *title,
/* Icon */
if ( image_filename )
{
- gchar* tmpstr = g_build_filename ( gsb_dirs_get_pixmaps_dir ( ),
- image_filename, NULL);
- image = gtk_image_new_from_file (tmpstr);
- g_free(tmpstr);
- gtk_box_pack_start ( GTK_BOX ( hbox ), image, FALSE, FALSE, 0);
- gtk_widget_show ( image );
+ gchar* tmpstr = g_build_filename ( gsb_dirs_get_pixmaps_dir ( ),
+ image_filename, NULL);
+ image = gtk_image_new_from_file (tmpstr);
+ g_free(tmpstr);
+ gtk_box_pack_start ( GTK_BOX ( hbox ), image, FALSE, FALSE, 0);
+ gtk_widget_show ( image );
}
/* Nice huge title */
label = gtk_label_new ( title );
tmpstr1 = g_markup_escape_text (title, strlen(title));
tmpstr2 = g_strconcat ("<span size=\"x-large\" weight=\"bold\">",
- tmpstr1,
- "</span>",
- NULL );
+ tmpstr1,
+ "</span>",
+ NULL );
gtk_label_set_markup ( GTK_LABEL(label), tmpstr2);
g_free(tmpstr1);
g_free(tmpstr2);
@@ -415,64 +420,6 @@ GtkWidget *new_vbox_with_title_and_icon ( gchar *title,
/**
- * Function that makes a nice title with an optional icon. It is
- * mainly used to automate preference tabs with titles.
- *
- * \param title Title that will be displayed in window
- * \param image. Use NULL if you don't want an image to be displayed
- *
- *
- * \returns A pointer to a vbox widget that will contain all created
- * widgets and user defined widgets
- */
-/*GtkWidget *new_vbox_with_title_and_image ( gchar * title, GtkWidget *image )
-{
- GtkWidget *vbox_pref, *hbox, *label, *eb;
- GtkStyle * style;
- gchar* tmpstr1;
- gchar* tmpstr2;
-
- vbox_pref = gtk_vbox_new ( FALSE, 6 );
- gtk_widget_show ( vbox_pref );
-
- eb = gtk_event_box_new ();
- style = gtk_widget_get_style ( eb );
- gtk_widget_modify_bg ( eb, 0, &(style -> bg[GTK_STATE_ACTIVE]) );
- gtk_box_pack_start ( GTK_BOX ( vbox_pref ), eb, FALSE, FALSE, 0);
-
-
- !* Title hbox *!
- hbox = gtk_hbox_new ( FALSE, 6 );
- gtk_widget_show ( hbox );
- gtk_container_add ( GTK_CONTAINER ( eb ), hbox );
- gtk_container_set_border_width ( GTK_CONTAINER ( hbox ), 3 );
-
- !* Icon *!
- if ( image )
- {
- gtk_image_set_pixel_size ( GTK_IMAGE ( image ), 128 );
- gtk_box_pack_start ( GTK_BOX ( hbox ), image, FALSE, FALSE, 0);
- gtk_widget_show ( image );
- }
-
- !* Nice huge title *!
- label = gtk_label_new ( title );
- tmpstr1 = g_markup_escape_text (title, strlen(title));
- tmpstr2 = g_strconcat ("<span size=\"x-large\" weight=\"bold\">",
- tmpstr1,
- "</span>",
- NULL );
- gtk_label_set_markup ( GTK_LABEL(label), tmpstr2);
- g_free(tmpstr1);
- g_free(tmpstr2);
- gtk_box_pack_start ( GTK_BOX ( hbox ), label, FALSE, FALSE, 0);
- gtk_widget_show ( label );
-
- return vbox_pref;
-}*/
-
-
-/**
* Returns TRUE if an account is loaded in memory. Usefull to be sure
* there is data to process.
*
@@ -523,9 +470,9 @@ gboolean radio_set_active_linked_widgets ( GtkWidget *widget )
while ( links )
{
- gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(links -> data),
- gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( widget ) ) );
- links = links -> next;
+ gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(links -> data),
+ gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( widget ) ) );
+ links = links -> next;
}
return FALSE;
hooks/post-receive
--
grisbi
More information about the cvs
mailing list