Skip to content

Commit bee9dc9

Browse files
committed
Merge branch 'release/v1.5.0'
2 parents 75376d4 + 47c2784 commit bee9dc9

File tree

79 files changed

+3456
-1274
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+3456
-1274
lines changed

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,30 @@
11
Change Log
22
===============================================================================
3+
Version 1.5.0 *(2014-10-01)*
4+
----------------------------
5+
* Need for speed! Lots of performance optimizations in the application
6+
- Application balances are now computed faster
7+
- App loads faster and is more responsive
8+
- Faster recording of opening balances before delete operations
9+
- Import and export operations rewritten to perform faster and use less resources
10+
* Fixed: Crash after saving opening balances and trying to create new transactions
11+
* Fixed: Parent account title color sometimes not propagated to child accounts
12+
* Fixed: Recurring transactions scheduled but not saved to database during import
13+
* Fixed: Crash caused by null exception message during import
14+
* Fixed: Poor word-wrap of transaction type labels
15+
* Fixed: Amount values not always displaying the correct sign
16+
* Feature: Select default currency upon first run of application
17+
* Feature: Creating account hierarchy uses the user currency preference
18+
* Feature: Support for reading and writing compressed GnuCash XML files.
19+
* Feature: Set a passcode lock to restrict access to the application
20+
* Feature: Export a QIF file for transactions of each currency in use
21+
* Improved: Increased stability of import/export operations
22+
* Improved: Exclude multi-currency transactions from QIF exports
23+
* Improved: Display warnings/limitations of different export formats in the export dialog
24+
* Improved: Preserve split memos in QIF export (as much as possible)
25+
* Improved: Child accounts now assigned to account parent upon deletion of account
26+
* Improved: Descendant accounts cannot be selected as a parent account (no cyclic dependencies)
27+
328
Version 1.4.3 *(2014-09-09)*
429
----------------------------
530
* Fixed: Cannot edit transactions when in single-entry mode

CONTRIBUTORS

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ several different people.
33
Appreciation goes to Muslim Chochlov and the to whole GnuCash community for guiding the
44
project through the early phases and providing valuable feedback.
55

6-
The following people contributed translations to GnuCash for Android:
6+
The following people contributed (code and translations) to GnuCash for Android:
77
Christian Stimming <[email protected]>
88
Cristian Marchi <[email protected]>
99
Menelaos Maglis <[email protected]>
@@ -16,4 +16,6 @@ Nicolas Barranger <[email protected]>
1616
Sigurd Gartmann <[email protected]>
1717
Pedro Abel <[email protected]>
1818
windwarrior <[email protected]>
19-
Lei Xiao Bao <[email protected]>
19+
Oleksandr Tyshkovets <[email protected]>
20+
Lei Xiao Bao <[email protected]>
21+
Yongxin Wang <[email protected]>

app/AndroidManifest.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
1919
package="org.gnucash.android"
20-
android:versionCode="40"
20+
android:versionCode="42"
2121
android:versionName="@string/app_version_name" >
2222

2323
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"/>
@@ -55,7 +55,13 @@
5555
<category android:name="android.intent.category.LAUNCHER" />
5656
</intent-filter>
5757
</activity>
58+
<activity
59+
android:name=".ui.passcode.PasscodeLockScreenActivity"
60+
android:noHistory="true"
61+
android:windowSoftInputMode="stateAlwaysHidden">
62+
</activity>
5863
<activity android:name=".ui.settings.SettingsActivity"/>
64+
<activity android:name=".ui.passcode.PasscodePreferenceActivity" />
5965
<activity android:name=".ui.transaction.TransactionsActivity"
6066
android:configChanges="orientation|screenSize">
6167
</activity>

app/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<description>Gnucash Android companion application</description>
2323

2424
<parent>
25-
<version>1.4.3-SNAPSHOT</version>
25+
<version>1.5.0-SNAPSHOT</version>
2626
<groupId>org.gnucash.android</groupId>
2727
<artifactId>gnucash-android-parent</artifactId>
2828
</parent>

app/res/drawable-mdpi/clear_btn.png

1.61 KB
Loading

app/res/layout/dialog_export_ofx.xml renamed to app/res/layout/dialog_export.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@
6969
android:layout_height="wrap_content"
7070
android:text="OFX"/>
7171
</RadioGroup>
72+
<TextView android:id="@+id/export_warning"
73+
android:layout_marginLeft="@dimen/dialog_padding"
74+
android:text="Some format-based export warning"
75+
android:textColor="@color/account_red"
76+
style="@style/TextAppearance.Hint"
77+
android:visibility="gone" />
7278

7379
<CheckBox android:id="@+id/checkbox_export_all"
7480
android:layout_width="wrap_content"
Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
3+
<!--
4+
Copyright (c) 2014 Oleksandr Tyshkovets <[email protected]>
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
-->
18+
19+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
20+
android:layout_width="match_parent"
21+
android:layout_height="wrap_content"
22+
android:layout_alignParentBottom="true"
23+
android:layout_centerHorizontal="true">
24+
25+
<LinearLayout
26+
android:id="@+id/zero"
27+
android:layout_width="match_parent"
28+
android:layout_height="55dp"
29+
android:layout_alignParentBottom="true"
30+
android:orientation="horizontal"
31+
android:weightSum="3" >
32+
33+
<Button
34+
android:id="@+id/empty_btn"
35+
android:layout_width="0dp"
36+
android:layout_height="match_parent"
37+
android:layout_weight="1"
38+
android:text=""
39+
android:textSize="25sp"
40+
android:enabled="false" />
41+
42+
<Button
43+
android:id="@+id/zero_btn"
44+
android:layout_width="0dp"
45+
android:layout_height="match_parent"
46+
android:layout_weight="1"
47+
android:text="0"
48+
android:textSize="25sp"/>
49+
50+
<ImageButton
51+
android:id="@+id/delete_btn"
52+
android:layout_width="0dp"
53+
android:layout_height="match_parent"
54+
android:layout_weight="1"
55+
android:src="@drawable/clear_btn" />
56+
57+
</LinearLayout>
58+
59+
<LinearLayout
60+
android:id="@+id/seven_to_nine"
61+
android:layout_width="match_parent"
62+
android:layout_height="55dp"
63+
android:layout_above="@+id/zero"
64+
android:orientation="horizontal"
65+
android:weightSum="3" >
66+
67+
<Button
68+
android:id="@+id/seven_btn"
69+
android:layout_width="0dp"
70+
android:layout_height="match_parent"
71+
android:layout_weight="1"
72+
android:text="7"
73+
android:textSize="25sp" />
74+
75+
<Button
76+
android:id="@+id/eight_btn"
77+
android:layout_width="0dp"
78+
android:layout_height="match_parent"
79+
android:layout_weight="1"
80+
android:text="8"
81+
android:textSize="25sp" />
82+
83+
<Button
84+
android:id="@+id/nine_btn"
85+
android:layout_width="0dp"
86+
android:layout_height="match_parent"
87+
android:layout_weight="1"
88+
android:text="9"
89+
android:textSize="25sp" />
90+
</LinearLayout>
91+
92+
<LinearLayout
93+
android:id="@+id/four_to_six"
94+
android:layout_width="match_parent"
95+
android:layout_height="55dp"
96+
android:layout_above="@+id/seven_to_nine"
97+
android:orientation="horizontal"
98+
android:weightSum="3" >
99+
100+
<Button
101+
android:id="@+id/four_btn"
102+
android:layout_width="0dp"
103+
android:layout_height="match_parent"
104+
android:layout_weight="1"
105+
android:text="4"
106+
android:textSize="25sp" />
107+
108+
<Button
109+
android:id="@+id/five_btn"
110+
android:layout_width="0dp"
111+
android:layout_height="match_parent"
112+
android:layout_weight="1"
113+
android:text="5"
114+
android:textSize="25sp" />
115+
116+
<Button
117+
android:id="@+id/six_btn"
118+
android:layout_width="0dp"
119+
android:layout_height="match_parent"
120+
android:layout_weight="1"
121+
android:text="6"
122+
android:textSize="25sp" />
123+
</LinearLayout>
124+
125+
<LinearLayout
126+
android:id="@+id/one_to_three"
127+
android:layout_width="match_parent"
128+
android:layout_height="55dp"
129+
android:layout_above="@+id/four_to_six"
130+
android:orientation="horizontal"
131+
android:weightSum="3" >
132+
133+
<Button
134+
android:id="@+id/one_btn"
135+
android:layout_width="0dp"
136+
android:layout_height="match_parent"
137+
android:layout_weight="1"
138+
android:text="1"
139+
android:textSize="25sp" />
140+
141+
<Button
142+
android:id="@+id/two_btn"
143+
android:layout_width="0dp"
144+
android:layout_height="match_parent"
145+
android:layout_weight="1"
146+
android:text="2"
147+
android:textSize="25sp" />
148+
149+
<Button
150+
android:id="@+id/three_btn"
151+
android:layout_width="0dp"
152+
android:layout_height="match_parent"
153+
android:layout_weight="1"
154+
android:text="3"
155+
android:textSize="25sp" />
156+
</LinearLayout>
157+
158+
<LinearLayout
159+
android:id="@+id/pass_label"
160+
android:layout_width="match_parent"
161+
android:layout_height="100dp"
162+
android:orientation="horizontal" >
163+
164+
<TextView
165+
android:id="@+id/passcode_label"
166+
android:layout_width="match_parent"
167+
android:layout_height="match_parent"
168+
android:gravity="center"
169+
android:text="Enter passcode"
170+
android:textSize="25sp" />
171+
172+
</LinearLayout>
173+
174+
<LinearLayout
175+
android:layout_width="match_parent"
176+
android:layout_height="70dp"
177+
android:layout_below="@+id/pass_label"
178+
android:orientation="horizontal"
179+
android:gravity="center" >
180+
181+
<EditText
182+
android:id="@+id/passcode1"
183+
android:layout_width="wrap_content"
184+
android:layout_height="match_parent"
185+
android:cursorVisible="false"
186+
android:focusableInTouchMode="false"
187+
android:hint="*"
188+
android:inputType="textPassword|number"
189+
android:password="true"
190+
android:maxLength="1"
191+
android:textSize="33sp" />
192+
193+
<EditText
194+
android:id="@+id/passcode2"
195+
android:layout_width="wrap_content"
196+
android:layout_height="match_parent"
197+
android:cursorVisible="false"
198+
android:focusableInTouchMode="false"
199+
android:hint="*"
200+
android:inputType="textPassword|number"
201+
android:password="true"
202+
android:maxLength="1"
203+
android:textSize="33sp" />
204+
205+
<EditText
206+
android:id="@+id/passcode3"
207+
android:layout_width="wrap_content"
208+
android:layout_height="match_parent"
209+
android:cursorVisible="false"
210+
android:focusableInTouchMode="false"
211+
android:hint="*"
212+
android:inputType="textPassword|number"
213+
android:password="true"
214+
android:maxLength="1"
215+
android:textSize="33sp" />
216+
217+
<EditText
218+
android:id="@+id/passcode4"
219+
android:layout_width="wrap_content"
220+
android:layout_height="match_parent"
221+
android:cursorVisible="false"
222+
android:focusableInTouchMode="false"
223+
android:hint="*"
224+
android:inputType="textPassword|number"
225+
android:password="true"
226+
android:maxLength="1"
227+
android:textSize="33sp" />
228+
229+
</LinearLayout>
230+
231+
</RelativeLayout>

app/res/layout/item_split_entry.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ limitations under the License.
4747

4848
<org.gnucash.android.ui.util.TransactionTypeToggleButton android:id="@+id/btn_split_type"
4949
android:layout_width="0dp"
50-
android:layout_weight="2"
50+
android:layout_weight="3"
5151
android:layout_height="wrap_content"
5252
android:textOn="@string/label_debit"
5353
android:textOff="@string/label_credit"
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
Copyright (c) 2014 Oleksandr Tyshkovets <[email protected]>
4+
5+
Licensed under the Apache License, Version 2.0 (the "License");
6+
you may not use this file except in compliance with the License.
7+
You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
16+
-->
17+
18+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
19+
xmlns:tools="http://schemas.android.com/tools"
20+
android:layout_width="match_parent"
21+
android:layout_height="match_parent"
22+
android:orientation="vertical" >
23+
24+
<fragment android:id="@+id/listFragment"
25+
android:layout_width="match_parent"
26+
android:layout_height="match_parent"
27+
tools:layout="@layout/fragment_numeric_keyboard"
28+
class="org.gnucash.android.ui.passcode.KeyboardFragment" />
29+
30+
</LinearLayout>

app/res/values-de/strings.xml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -303,13 +303,11 @@
303303
<string name="summary_xml_ofx_header">Diese Option aktivieren, wenn Sie die OFX-Dateien für ein anderes Programm als GnuCash auf dem Desktop exportieren</string>
304304
<string name="title_whats_new">Neuigkeiten in dieser Version</string>
305305
<string name="whats_new">
306-
- Create multiple splits per transaction\n
307-
- Fixed computation of account balances for different account types\n
308-
- Use account-specific labels for CREDIT/DEBITs\n
309-
- Automated backup of database before deletion operations\n
310-
- Restore most recent backup of database (in Settings -> General)\n
311-
- Read transactions from GnuCash XML files (limited support)\n
312-
- Option to save opening balances before deleting transactions\n
306+
- General resource and performance optimization\n
307+
- Faster computation of account balances\n
308+
- Set passcode to restrict access to app (in Settings)\n
309+
- Export separate QIF files for each currency in use\n
310+
- Use currencey settings when creating account hierarchy\n
313311
- Multiple bug fixes and improvements\n
314312
</string>
315313
<string name="label_dismiss">Schließen</string>
@@ -416,4 +414,6 @@
416414
<string name="summary_save_opening_balances">Möglichkeit aktivieren, den aktuellen Saldo als neuen Anfangsbestand nach dem Löschen der Buchungen zu übernehmen
417415
</string>
418416
<string name="title_save_opening_balances">Saldo als neuen Anfangsbestand übernehmen</string>
417+
<string name="export_warning_ofx">OFX does not support double-entry transactions</string>
418+
<string name="export_warning_qif">A separate QIF file will be generated for each currency in use</string>
419419
</resources>

0 commit comments

Comments
 (0)