Skip to content

Commit 82e395a

Browse files
committed
Go to next unfinished string (issue #1)
1 parent 9e0b9af commit 82e395a

9 files changed

Lines changed: 42 additions & 2 deletions

File tree

348 Bytes
Loading
319 Bytes
Loading
440 Bytes
Loading
612 Bytes
Loading

res/menu/main_activity_actions.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
android:icon="@drawable/ic_action_next_item"
1515
android:showAsAction="ifRoom"
1616
android:enabled="false" />
17+
18+
<item android:id="@+id/action_nextunfinished"
19+
android:title="@string/action_nextunfinished"
20+
android:icon="@drawable/ic_action_forward"
21+
android:showAsAction="ifRoom"
22+
android:enabled="false" />
1723

1824
<item android:id="@+id/action_load"
1925
android:title="@string/action_load"

res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<string name="meta_files">Files:</string>
2020
<string name="action_previous">Previous</string>
2121
<string name="action_next">Next</string>
22+
<string name="action_nextunfinished">Next unfinished</string>
2223
<string name="action_load">Load</string>
2324
<string name="action_save">Save</string>
2425
<string name="action_settings">Settings</string>

src/eu/pryds/ve/MainActivity.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ public boolean onOptionsItemSelected(MenuItem item) {
129129
currentPluralForm = 0;
130130
updateScreen();
131131
return true;
132+
case R.id.action_nextunfinished:
133+
currentString = str.getNextStringInNeedOfWork(currentString);
134+
currentPluralForm = 0;
135+
updateScreen();
136+
return true;
132137
case R.id.action_settings:
133138
openSettings();
134139
return true;
@@ -368,6 +373,9 @@ private void enableInitiallyDisabledViews(boolean enable) {
368373
MenuItem actionNext = menu.findItem(R.id.action_next);
369374
actionNext.setEnabled(enable);
370375

376+
MenuItem actionNextUnfinished = menu.findItem(R.id.action_nextunfinished);
377+
actionNextUnfinished.setEnabled(enable);
378+
371379
MenuItem actionSave = menu.findItem(R.id.action_save);
372380
actionSave.setEnabled(enable);
373381

src/eu/pryds/ve/TranslatableString.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@ public void updateHeaderInfo(Activity activity) {
9494
SharedPreferences pref =
9595
PreferenceManager.getDefaultSharedPreferences(activity);
9696

97-
//TODO: Give warning if preferences (name, email, etc.) are not set
98-
9997
String[] headerArray = translatedString.get(0).split("\n");
10098
Vector<String> headerLines = new Vector<String>(Arrays.asList(headerArray));
10199

@@ -222,6 +220,10 @@ public boolean isUntranslated() {
222220
return true;
223221
}
224222

223+
public boolean needsWork() {
224+
return isUntranslated() || isFuzzy();
225+
}
226+
225227
public boolean isPluralString() {
226228
return !(untranslatedStringPlural == null ||
227229
untranslatedStringPlural.equals(""));

src/eu/pryds/ve/TranslatableStringCollection.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,29 @@ public int countUntranslatedStrings() {
5555
return count;
5656
}
5757

58+
public int getNextStringInNeedOfWork(int startingFrom) {
59+
if (startingFrom > strings.size())
60+
startingFrom = strings.size();
61+
62+
if (startingFrom < strings.size()-1) {
63+
for (int i = startingFrom+1; i < strings.size(); i++) {
64+
if (strings.get(i).needsWork())
65+
return i;
66+
}
67+
}
68+
69+
//if we reach here, no strings needing work were found from startingFrom
70+
//and onwards. So, start from 0 instead.
71+
for (int i = 0; i < startingFrom; i++) {
72+
if (strings.get(i).needsWork())
73+
return i;
74+
}
75+
76+
//if we reach here, no strings needing work were found in the entire
77+
//collection.
78+
return startingFrom;
79+
}
80+
5881
public int parse(File poFile, Activity activity) {
5982
Vector<String> poFileLines = new Vector<String>();
6083
try {

0 commit comments

Comments
 (0)