Skip to content

Commit 14987ec

Browse files
committed
Dic on toolbar setting, dic settings reordered
1 parent 5164de8 commit 14987ec

21 files changed

+528
-198
lines changed

_old_scripts/for_eink.pl

100755100644
File mode changed.

android/.idea/gradle.xml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

android/app/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ android {
1111
multiDexEnabled true
1212
// When new version released, version code must be incremented at least by 8
1313
// for compatibility with ABI versioning of split apk (see below).
14-
versionCode 202209091
15-
versionName "2022.09.09.1"
14+
versionCode 202209171
15+
versionName "2022.09.71.1"
1616
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1717
externalNativeBuild {
1818
cmake {

android/res/values-ru/strings.xml

+6-1
Original file line numberDiff line numberDiff line change
@@ -1250,6 +1250,10 @@
12501250
<string name="dictionary_settings">Словари</string>
12511251
<string name="filebrowser_settings">Файловый браузер и библиотека</string>
12521252
<string name="rare_settings">Экспериментальные / редкие параметры</string>
1253+
<string name="add_dics_settings">Дополнительные словари</string>
1254+
<string name="user_dic_settings">Личный словарь и история переводов</string>
1255+
<string name="dic_online_services_settings">Онлайн службы</string>
1256+
<string name="dics_on_panel_settings">Словари на быстрой панели</string>
12531257
<string name="page_flipping_settings">Листание и автолистание</string>
12541258
<string name="tts_settings">Text-to-Speech</string>
12551259
<string name="backlight_settings">Яркость экрана и кнопок</string>
@@ -1541,7 +1545,8 @@
15411545
<string name="user_dic_panel0">Отключена</string>
15421546
<string name="user_dic_panel1">Без прокрутки</string>
15431547
<string name="user_dic_panel2">С прокруткой</string>
1544-
<string name="dict_dont_save_if_more">Не сохранять в историю переводов в словаре, если слов больше чем (0 = сохранять всегда)</string>
1548+
<string name="dict_dont_save_if_more">Лимит слов при сохранении в историю переводов</string>
1549+
<string name="dict_dont_save_if_more_add_info">Не сохранять в историю переводов в словаре, если слов больше чем (0 = сохранять всегда)</string>
15451550
<string name="litres_empty_login_or_passw">Логин или пароль для Литрес не заданы - укажите их в облачных настройках</string>
15461551
<string name="search_books">Поиск книг</string>
15471552
<string name="litres_profile">Текущий баланс</string>

android/res/values/strings.xml

+6-1
Original file line numberDiff line numberDiff line change
@@ -1277,6 +1277,10 @@
12771277
<string name="dictionary_settings">Dictionaries</string>
12781278
<string name="filebrowser_settings">File browser and library</string>
12791279
<string name="rare_settings">Rare and experimental</string>
1280+
<string name="add_dics_settings">Additional dictionaries</string>
1281+
<string name="user_dic_settings">User dictionary and translate history</string>
1282+
<string name="dic_online_services_settings">Online services</string>
1283+
<string name="dics_on_panel_settings">Dictionaries on quick panel</string>
12801284
<string name="page_flipping_settings">Page flipping and autoflipping</string>
12811285
<string name="tts_settings">Text-to-speech</string>
12821286
<string name="backlight_settings">Screen and keys backlight</string>
@@ -1581,7 +1585,8 @@
15811585
<string name="user_dic_panel0">Disabled</string>
15821586
<string name="user_dic_panel1">Without scroll</string>
15831587
<string name="user_dic_panel2">With scroll</string>
1584-
<string name="dict_dont_save_if_more">Do not save to dictionary search history if more than words (0 = save anyway)</string>
1588+
<string name="dict_dont_save_if_more">Translation history saving word limit</string>
1589+
<string name="dict_dont_save_if_more_add_info">Do not save to dictionary translation history if (selected) more than words (0 = save anyway)</string>
15851590
<string name="litres_empty_login_or_passw">Litres login or password is not specified - set it up in cloud settings</string>
15861591
<string name="search_books">Search books</string>
15871592
<string name="litres_profile">Current balance</string>

android/src/org/coolreader/crengine/SelectionToolbarDlg.java

+14
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,20 @@ private void initRecentDics() {
746746
for (final Dictionaries.DictInfo di: mActivity.mDictionaries.getAddDicts()) {
747747
diAllDicts.add(di);
748748
}
749+
List<Dictionaries.DictInfo> dicts = Dictionaries.getDictList(mActivity);
750+
for (Dictionaries.DictInfo dict : dicts) {
751+
boolean bUseDic = mReaderView.getSettings().getBool(Settings.PROP_DIC_LIST_MULTI+"."+dict.id,false);
752+
if (bUseDic) {
753+
boolean bWas = false;
754+
for (Dictionaries.DictInfo di: diAllDicts) {
755+
if (di.id.equals(dict.id)) {
756+
bWas = true;
757+
break;
758+
}
759+
}
760+
if (!bWas) diAllDicts.add(dict);
761+
}
762+
}
749763
ArrayList<String> added = new ArrayList<>();
750764
// add lang pos
751765
String sFrom = mReaderView.mBookInfo.getFileInfo().lang_from;

android/src/org/coolreader/crengine/Settings.java

+2
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public interface Settings {
8383
String PROP_READING_MENU_BUTTONS ="viewer.reading.menu.buttons";
8484
String PROP_SKIPPED_RES ="viewer.skipped.resolutions";
8585
String PROP_APP_RESTORE_SETTINGS ="app.restore.settings";
86+
String PROP_DIC_LIST_MULTI ="app.dic.list.multi";
8687

8788
String PROP_STATUS_LINE ="window.status.line";
8889
String PROP_BOOKMARK_ICONS ="crengine.bookmarks.icons";
@@ -382,6 +383,7 @@ public interface Settings {
382383
String PROP_PAGECOLORS_TITLE = "window.pagecolors.title";
383384
String PROP_PAGEMARGINS_TITLE = "window.pagemargins.title";
384385
String PROP_PAGE_FLIP_TITLE = "window.page.flip.title";
386+
String PROP_ADD_DIC_TITLE = "window.add.dic.title";
385387

386388
String PROP_APP_EINK_ONYX_NEED_BYPASS = "app.eink.onyx.need.bypass";
387389
String PROP_APP_EINK_ONYX_NEED_DEEPGC = "app.eink.onyx.need.deepgc";

android/src/org/coolreader/dic/DicToastView.java

+14
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,20 @@ private static void initRecentDics(ViewGroup vg, String findText, boolean fullSc
427427
for (final Dictionaries.DictInfo di: mActivity.mDictionaries.getAddDicts()) {
428428
diAllDicts.add(di);
429429
}
430+
List<Dictionaries.DictInfo> dicts = Dictionaries.getDictList(mActivity);
431+
for (Dictionaries.DictInfo dict : dicts) {
432+
boolean bUseDic = mActivity.settings().getBool(Settings.PROP_DIC_LIST_MULTI+"."+dict.id,false);
433+
if (bUseDic) {
434+
boolean bWas = false;
435+
for (Dictionaries.DictInfo di: diAllDicts) {
436+
if (di.id.equals(dict.id)) {
437+
bWas = true;
438+
break;
439+
}
440+
}
441+
if (!bWas) diAllDicts.add(dict);
442+
}
443+
}
430444
ArrayList<String> added = new ArrayList<>();
431445
for (final Dictionaries.DictInfo di: diAllDicts) {
432446
if (!added.contains(di.id)) {

android/src/org/coolreader/dic/Dictionaries.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ public Dictionaries(Activity activity) {
191191
public DictInfo currentDictionary8;
192192
public DictInfo currentDictionary9;
193193
public DictInfo currentDictionary10;
194-
public List<DictInfo> diRecent = new ArrayList<DictInfo>();
194+
public List<DictInfo> diRecent = new ArrayList<>();
195195

196196
public List<DictInfo> getAddDicts() {
197197
List<DictInfo> diAddDicts = new ArrayList<DictInfo>();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
package org.coolreader.options;
2+
3+
import org.coolreader.R;
4+
import org.coolreader.crengine.BaseActivity;
5+
import org.coolreader.crengine.BaseDialog;
6+
import org.coolreader.crengine.DeviceInfo;
7+
import org.coolreader.crengine.OptionOwner;
8+
import org.coolreader.crengine.Settings;
9+
10+
public class AddDicsOption extends SubmenuOption {
11+
12+
final BaseActivity mActivity;
13+
final OptionsDialog mOptionsDialog;
14+
15+
public AddDicsOption(BaseActivity activity, OptionsDialog od, OptionOwner owner, String label, String addInfo, String filter ) {
16+
super(owner, label, Settings.PROP_ADD_DIC_TITLE, addInfo, filter);
17+
mActivity = activity;
18+
mOptionsDialog = od;
19+
}
20+
21+
public void onSelect() {
22+
if (!enabled)
23+
return;
24+
BaseDialog dlg = new BaseDialog("AddDicsOption", mActivity, label, false, false);
25+
OptionsListView listView = new OptionsListView(mOptionsDialog.getContext(), this);
26+
listView.add(new DicListOption(mOwner, mActivity.getString(R.string.options_app_dictionary)+" 3", Settings.PROP_APP_DICTIONARY_3,
27+
mActivity.getString(R.string.options_app_dictionary3_add_info), this.lastFilteredValue).
28+
setIconIdByAttr(R.attr.attr_icons8_google_translate_2, R.drawable.icons8_google_translate_2));
29+
listView.add(new DicListOption(mOwner, mActivity.getString(R.string.options_app_dictionary)+" 4", Settings.PROP_APP_DICTIONARY_4,
30+
mActivity.getString(R.string.options_app_dictionary3_add_info), this.lastFilteredValue).
31+
setIconIdByAttr(R.attr.attr_icons8_google_translate_2, R.drawable.icons8_google_translate_2));
32+
listView.add(new DicListOption(mOwner, mActivity.getString(R.string.options_app_dictionary)+" 5", Settings.PROP_APP_DICTIONARY_5,
33+
mActivity.getString(R.string.options_app_dictionary3_add_info), this.lastFilteredValue).
34+
setIconIdByAttr(R.attr.attr_icons8_google_translate_2, R.drawable.icons8_google_translate_2));
35+
listView.add(new DicListOption(mOwner, mActivity.getString(R.string.options_app_dictionary)+" 6", Settings.PROP_APP_DICTIONARY_6,
36+
mActivity.getString(R.string.options_app_dictionary3_add_info), this.lastFilteredValue).
37+
setIconIdByAttr(R.attr.attr_icons8_google_translate_2, R.drawable.icons8_google_translate_2));
38+
listView.add(new DicListOption(mOwner, mActivity.getString(R.string.options_app_dictionary)+" 7", Settings.PROP_APP_DICTIONARY_7,
39+
mActivity.getString(R.string.options_app_dictionary3_add_info), this.lastFilteredValue).
40+
setIconIdByAttr(R.attr.attr_icons8_google_translate_2, R.drawable.icons8_google_translate_2));
41+
listView.add(new DicListOption(mOwner, mActivity.getString(R.string.options_app_dictionary)+" 8", Settings.PROP_APP_DICTIONARY_8,
42+
mActivity.getString(R.string.options_app_dictionary3_add_info), this.lastFilteredValue).
43+
setIconIdByAttr(R.attr.attr_icons8_google_translate_2, R.drawable.icons8_google_translate_2));
44+
listView.add(new DicListOption(mOwner, mActivity.getString(R.string.options_app_dictionary)+" 9", Settings.PROP_APP_DICTIONARY_9,
45+
mActivity.getString(R.string.options_app_dictionary3_add_info), this.lastFilteredValue).
46+
setIconIdByAttr(R.attr.attr_icons8_google_translate_2, R.drawable.icons8_google_translate_2));
47+
listView.add(new DicListOption(mOwner, mActivity.getString(R.string.options_app_dictionary)+" 10", Settings.PROP_APP_DICTIONARY_10,
48+
mActivity.getString(R.string.options_app_dictionary3_add_info), this.lastFilteredValue).
49+
setIconIdByAttr(R.attr.attr_icons8_google_translate_2, R.drawable.icons8_google_translate_2));
50+
dlg.setView(listView);
51+
dlg.show();
52+
}
53+
54+
public boolean updateFilterEnd() {
55+
this.updateFilteredMark(mActivity.getString(R.string.options_app_dictionary)+" 3", Settings.PROP_APP_DICTIONARY_3,
56+
mActivity.getString(R.string.options_app_dictionary3_add_info));
57+
this.updateFilteredMark(mActivity.getString(R.string.options_app_dictionary)+" 4", Settings.PROP_APP_DICTIONARY_4,
58+
mActivity.getString(R.string.options_app_dictionary3_add_info));
59+
this.updateFilteredMark(mActivity.getString(R.string.options_app_dictionary)+" 5", Settings.PROP_APP_DICTIONARY_5,
60+
mActivity.getString(R.string.options_app_dictionary3_add_info));
61+
this.updateFilteredMark(mActivity.getString(R.string.options_app_dictionary)+" 6", Settings.PROP_APP_DICTIONARY_6,
62+
mActivity.getString(R.string.options_app_dictionary3_add_info));
63+
this.updateFilteredMark(mActivity.getString(R.string.options_app_dictionary)+" 7", Settings.PROP_APP_DICTIONARY_7,
64+
mActivity.getString(R.string.options_app_dictionary3_add_info));
65+
this.updateFilteredMark(mActivity.getString(R.string.options_app_dictionary)+" 8", Settings.PROP_APP_DICTIONARY_8,
66+
mActivity.getString(R.string.options_app_dictionary3_add_info));
67+
this.updateFilteredMark(mActivity.getString(R.string.options_app_dictionary)+" 9", Settings.PROP_APP_DICTIONARY_9,
68+
mActivity.getString(R.string.options_app_dictionary3_add_info));
69+
this.updateFilteredMark(mActivity.getString(R.string.options_app_dictionary)+" 10", Settings.PROP_APP_DICTIONARY_10,
70+
mActivity.getString(R.string.options_app_dictionary3_add_info));
71+
return this.lastFiltered;
72+
}
73+
74+
public String getValueLabel() { return ">"; }
75+
}

android/src/org/coolreader/options/DicListOption.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818

1919
public class DicListOption extends ListOption
2020
{
21-
public DicListOption(OptionOwner owner, String label, String prop, String addInfo, String filter )
21+
public DicListOption(OptionOwner owner, String label, String prop, String addInfo, String filter)
2222
{
2323
super(owner, label, prop, addInfo, filter);
2424
List<Dictionaries.DictInfo> dicts = Dictionaries.getDictList(mActivity);
2525
setDefaultValue(dicts.get(0).id);
2626
for (Dictionaries.DictInfo dict : dicts) {
2727
boolean installed = mActivity.isPackageInstalled(dict.packageName) || StrUtils.isEmptyStr(dict.packageName);
2828
String sAdd = mActivity.getString(R.string.options_app_dictionary_not_installed);
29-
String sAdd2 = dict.getAddText((CoolReader) mActivity);
29+
String sAdd2 = dict.getAddText(mActivity);
3030
if (!StrUtils.isEmptyStr(sAdd2)) sAdd2 = ": " + sAdd2;
3131
if (StrUtils.isEmptyStr(dict.packageName)) sAdd = "";
3232
if (((dict.internal==1)||(dict.internal==6)) &&
@@ -59,8 +59,8 @@ protected int getItemLayoutId() {
5959

6060
protected void updateItemContents(final View layout, final OptionsDialog.Three item, final ListView listView, final int position ) {
6161
super.updateItemContents(layout, item, listView, position);
62-
ImageView img = (ImageView) layout.findViewById(R.id.option_value_icon);
63-
TextView tv = (TextView) layout.findViewById(R.id.option_value_text);
62+
ImageView img = layout.findViewById(R.id.option_value_icon);
63+
TextView tv = layout.findViewById(R.id.option_value_text);
6464
List<Dictionaries.DictInfo> dicts = Dictionaries.getDictList(mActivity);
6565
for (Dictionaries.DictInfo dict : dicts) {
6666
if (item.value.equals(dict.id)) {

0 commit comments

Comments
 (0)