Commit Graph

18319 Commits

Author SHA1 Message Date
Geert Janssens
9b5fbcb2cb Gtk3: GtkObject has been removed
Replace with GtkWidget instead
2017-03-31 14:04:31 +02:00
Geert Janssens
2528bfde6b Switch to building with the gtk+-3.0 toolkit 2017-03-31 14:04:31 +02:00
Geert Janssens
6edbb53fe6 GnucashSheet - drop unused variables 2017-03-31 14:03:49 +02:00
Geert Janssens
4b30a7dae7 GnucashSheet - fix screen refresh
I noticed improper screen redraws when switching cells while the
window was scrolled down. The drawing logic is pretty conflated
so instead of hunting this down, I have made it so that the full
visible part of the windows gets redrawn each time the user
switches to a different cell.
This is slightly more expensive, but should still be ok.
2017-03-31 14:03:49 +02:00
Geert Janssens
d439d37980 Fix two critical GObject warnings 2017-03-31 14:03:49 +02:00
Geert Janssens
68091faa80 ItemEdit - drop unused function 2017-03-31 14:03:49 +02:00
Geert Janssens
03699efe14 Extract the GnucashRegister widget into a separate file
It was interleaved in the gnucash-sheet.* sources making it harder to examine
2017-03-31 14:03:49 +02:00
Geert Janssens
5223ca8c81 Restore pasting in the item_edit
The register is implemented such that the edit widget is read-only and
all keystrokes are filtered by the sheet widget which then directly sets
the appropriate text in the edit widget each time.
The interim fix here is to make the text edit widget temporarily editable
when cutting or pasting text.
A better solution will be to make the edit widget responsible for all
text entry and delegate everything not handled directly to the sheet widget.
This will be for a later commit
2017-03-31 14:03:49 +02:00
Geert Janssens
a3f8f69604 Rework GncItemEdit widget
Use real widgets instead of custom drawing something

In essence this is a gtkentry with an optional gtkbutton if the current cell
has a popup (like a calendar or account list). The old code went through
several hoops to keep a hidden gtkentry in sync with the custom drawn item
on screen.

There are still a few issues to fix:
- it's not properly themed to fit in the register. This will be fixed after switching to gtk3 (using css)
- right-click menu is wrong. This currenly shows a default copy/paste menu from a gtkentry
  it should be changed to show our own full menu
- keyboard events are still handled backwards. The sheet gets a first stab and passes
  on what it can't handle to the item edit. In the current implementation this means not
  all key strokes the item edit can handle are received (most notably paste is not working).
2017-03-31 14:03:49 +02:00
Geert Janssens
986720e6c3 Fix hidden scrollbars for itemlist type popup 2017-03-31 14:03:49 +02:00
Geert Janssens
efcb06e6a3 Fix crash in previously unreached code 2017-03-31 14:03:49 +02:00
Geert Janssens
131462ca41 Create specialized popup items their respective source files
The extracted function in gnc_item_edit was unneeded and confusing
2017-03-31 14:03:49 +02:00
Geert Janssens
58bfd3e1e9 Reduce the cursor from a full widget to a simple gobject that tracks cursor coordinates
As with the grid there is no direct interaction possible with the cursor.
It is merely decoration. It does keep track of coordinates so I've made
it a gobject for memory management. The actual drawing of the cursor
frame is now done by the sheet, just like for the grid.

This change also fixes the transparency issue in the cursor.
2017-03-31 14:03:49 +02:00
Geert Janssens
c54cf61cce Rework gnucash-cursor
- drop lots of unneeded complexity
- use cairo instead of gdk_gc to draw

Issue still to fix: the cursor widget has a grey background instead
of being transparent. I'm not sure this can be fixed before switching
to gtk3
2017-03-31 14:03:49 +02:00
Geert Janssens
6c06336d3e Reduce grid object from a complete widget to only two utility functions
There was no added value in it being a full widget. It only served two functions really
- speed draw the visible and non-editable part of a register window
- locating a cell starting from a pixel

Both are used exclusively by the sheet object, so
I have made them private functions of the sheet.
They are still kept in a separate file though for length considerations.
2017-03-31 14:03:49 +02:00
Geert Janssens
3025e30e4a Refactor divider line drawing some more to reduce duplicate code 2017-03-31 14:03:49 +02:00
Geert Janssens
93a03d19ee Use cairo to redraw the grid widget 2017-03-31 14:03:49 +02:00
Geert Janssens
4888d34554 Replace all other uses of GnomeCanvas with standard gtk widgets
Most are converted to GtkLayout/GtkiDrawingArea widgets as these
most closely approach the GnomeCanvas concept.

This currently builds and runs but has the following issues still:
- item edit isn't drawn properly (margin and offset issues)
- cursor is not handled properly yet

These will be handled in subsequent commits.
2017-03-31 14:03:49 +02:00
Geert Janssens
194634615f Convert gnc-header from GnomeCanvas to GtkLayout
Only reducing column size to less than window width needs extra
research. The auto-expansion of the description column is not
propagated to the header so header and body widths can go
temporarily out of sync as of this commit.
2017-03-31 14:03:49 +02:00
John Ralls
f9d23de8c0 Merge Ueli Neiderer's swift-transactiontxt branch into maint. 2017-03-30 12:42:59 -07:00
Ueli Niederer
768df3b709 Obey GNUcash coding style
Corrected brace position.
2017-03-30 12:39:37 -07:00
Ueli Niederer
448d97553f Added a preference to control import behaivour of transaction text
In order to allow to revert the newly introduced behaviour of putting
transaction text in front of the extracted purpose, the feature can now
be disabled through the preferences dialog.
2017-03-30 12:39:37 -07:00
Ueli Niederer
0ad94ddcc0 Including the transaction text into the purpose text
Some banks include additional purpose information for a transaction in
non-swift-section 17 (aka transaction text). If available, this
transaction text is put in front of the other purpose texts to provide
full transaction information.

While the final solution is still under discussion. This change is a
first low-impact implementation backported and distilled from the work
discussed in gnucash/gnucash#139.
2017-03-30 12:39:37 -07:00
John Ralls
b3eb9d0d8a Use qof_instance_set/get instead of g_object_set/get. 2017-03-28 11:53:05 -07:00
John Ralls
baef4029b2 Merge branch 'maint' 2017-03-28 11:49:50 -07:00
Mike Alexander
2b777b9848 Remove the xxx_with_error functions from Python bindings.
They were removed from GnuCash in b199593 In January.
2017-03-26 19:19:11 -04:00
John Ralls
509ce16add Release 2.6.16 2017-03-25 17:23:18 -07:00
John Ralls
3109fc5cc4 Reduce the gate on get_random_gnc_numeric.
Fixing Bug 779217 increased the maximum denominator by 10, and that led
to overflows when converting large numbers' denominators from 100 to the
new max.
2017-03-25 17:15:37 -07:00
John Ralls
a4ea79122d Update translations ca, nl, and sr from the translation project. 2017-03-25 15:39:04 -07:00
John Ralls
3367e191c8 Bug 670731 - Future Value not working with Loan Scheduled transaction
Correct the cell save routine so that the "numeric" kvp is correctly
overwritten in all instances when an edit changes its value for both
credit and debit splits. The both part is accomplished by extracting the
overwrite function.

Also provide a scrub to correct all of the incorrect files.
Unfortunately the necessary calculation function is in app-utils so
running the scrub from the backend as usual isn't possible, so we run it
from gnc_post_file_open in gnome-utils/gnc-file.c instead.
2017-03-24 16:39:30 -07:00
John Ralls
cd07876a68 Revert "Fix query period in test-account-get-trans-type-splits-interval."
This reverts commit e66dd12aa9. Because
the test only seems to fail crossing a DST boundary.
2017-03-24 09:00:12 -07:00
fell
61bce18276 Update of de.po
4617 translated messages, 17 fuzzy translations, 46 untranslated
messages.
2017-03-24 06:17:52 +01:00
fell
c3c40cd9da update de.po
4598 translated messages, 33 fuzzy translations, 49 untranslated
messages.
2017-03-24 04:50:49 +01:00
fell
024e7d97ed Use "Billing Information" as in other biz modules 2017-03-24 04:50:48 +01:00
Geert Janssens
539ef52837 Whitespace cosmetics
Replace tabs with spaces
Align some related lines
Remove trailing whitespace
2017-03-23 23:16:10 +01:00
John Ralls
41a346cbd8 Bug 776247 - PriceEditor thinks Currency XXX is an actual currency...
and tries to retrieve prices for it.

Add check for "XXX" mnemonic when filtering the currency list.
2017-03-23 13:44:05 -07:00
fell
1cbb25dab3 Fix a typo in my last commit 2017-03-23 21:38:52 +01:00
fell
c1aa562690 Exlpain "Blank Transaction" to translators 2017-03-23 21:32:20 +01:00
Geert Janssens
6f3f3bb821 Align a help string in two different files for easier translation 2017-03-23 20:48:58 +01:00
Robert Fewell
4f5658fc7a Bug388500 - Add option to remove deleted files from the history list
This patch simplifies the previous patch so it does not care where the
file is opened from. If it is in the history list and does not exist,
the dialog advises of this and asks if it should be removed from the
list other wise the dialog displays file not found.
2017-03-23 18:38:54 +01:00
Geert Janssens
3f42569541 Disable tests when minimum glib2 requirement is not met
These tests use g_assert_true which is available as of glib2 2.38 only.
2017-03-23 17:46:20 +01:00
Geert Janssens
a63a4d5e8a Bug 739571 - Small fixups for previous commits
- cleanup whitespace
- add import-pending-matches.c to POTFILES.in
- convert asserts into g_return(_val)_if_fail
- handle the case where no matches are found (which can happen at least in the csv importer and I suspect in the OFX importer as well)
2017-03-22 22:04:17 +01:00
Jesse Olmer
9f3ad55104 Bug 739571 - Matching imported transactions doesn't indicate previously matched entries
Track pending matches from the current import and display this information in
the match picker.

Conflicts:
	src/import-export/gschemas/org.gnucash.dialogs.import.generic.gschema.xml.in.in
	src/import-export/import-match-picker.c

https://bugzilla.gnome.org/show_bug.cgi?id=739571
2017-03-22 22:04:01 +01:00
Jesse Olmer
082d0f305b Bug 739571 - Matching imported transactions doesn't indicate previously matched entries
Display reconcile state of each transaction in Import Match Picker and allow
user to toggle display of reconciled transactions.

https://bugzilla.gnome.org/show_bug.cgi?id=739571
2017-03-22 22:03:55 +01:00
fell
91584df103 Update de.po
4546 translated messages, 77 fuzzy translations, 57 untranslated
messages.
2017-03-22 06:08:36 +01:00
fell
de599933e0 Prepare update of de.po
msgmerge
2017-03-22 06:08:35 +01:00
fell
b93fe76dab Add 2 translator comments to get a unique translation for 'Tax Report
Options'
2017-03-22 06:08:34 +01:00
John Ralls
52bb6b52fc Save Changes Bug 776517 - Trial Balance Report:...
Total Debits Issue re $0 Commodity Accounts and Price Source Mode Set to
"Nearest in Time" or "Most Recent"

There was a silent error from gnc-numeric-sub-fixed in
collect-unrealized-gains because a 0 value wasn't getting its
denominator set in the gnc-numeric-mul call in
gnc:exchange-by-pricedb-helper. While this is ultimately a flaw in
gnc-numeric, this commit works around it by forcing the value to the
correct denom in gnc:make-commodity-collector.
2017-03-21 17:58:15 -07:00
Geert Janssens
f9ca29aa9f Bug 766630 - gui dialog for sorting transactions to accounts after aqbanking import broken 2017-03-21 21:39:49 +01:00
Geert Janssens
d19390c0b8 Resave dialog-import.glade without any real change
Unfortunately running glade-3 on this file will reorder it completely. So this
commit is only made ad interim to be able to isolate the actual change in the
subsequent one.
2017-03-21 21:39:49 +01:00