1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-03 09:49:19 +02:00

updated TODO, updated resources; error messages processing

This commit is contained in:
Nikolay Pultsin 2010-12-25 15:09:43 +00:00
parent 8668abb956
commit b38aef8e2e
14 changed files with 132 additions and 191 deletions

182
TODO
View file

@ -1,182 +0,0 @@
***************************************************************
Из этого файла ничего не стираем
Если задача решена -- пишем DONE в начале строки
***************************************************************
ZLTextView:
DONE пометки (для найденных строк и т.п.)
DELAYED выделение текста мышкой
DELAYED прокрутка текста мышкой
переход по ссылкам
DONE внутренним
DONE внутри той же модели
DONE внешним (вызов браузера)
DONE swing
DONE android
DONE переносы
DELAYED оптимизировать место в памяти
position indicator
DONE отрисовка
DONE навигация
DONE взаимодействие с деревом
2 обработка текстов с endSection
DELAYED засечки для пунктов из оглавления
DELAYED часы
DELAYED количество прочитанных страниц
DELAYED обработка неразрывных пробелов
DONE undo/redo position stack
DELAYED обработка китайских текстов
DELAYED desktop: менять курсор над ссылкой
рисунки:
2 обработка palm'овых рисунков
DONE избавиться от многократных вычислений (ZLImageData)
форматы:
DONE fb2 (сделать чтение описания книги)
DELAYED chm
3 html
DONE oeb/epub
DELAYED openreader
DELAYED ztxt
2 palmdoc
1 plucker
DELAYED rtf
DELAYED tcr
DELAYED txt
файловая система:
архивы
DONE zip
DONE gzip
DONE tar
DELAYED bz2
диалоги (abstract):
DONE Selection
DONE открытие книги
DONE Option
DONE настройки
DONE book info
DONE MessageBox
DONE WaitMessage
DONE загрузка книги
DONE загрузка списка библиотеки
DELAYED сохранение конфига
другие
DONE диалог поиска
DONE combobox вместо поля для текста
1 multisection search
DELAYED диалог перехода на страницу по номеру
диалоги (swing):
DONE Selection
DELAYED Option
DONE MessageBox
DELAYED WaitMessage
DONE другие
диалоги (android):
DONE Selection
DONE Option
DELAYED правильное расположение парных опций
DELAYED кнопки наверху -- со стрелками влево
DONE show/hide option views
DONE boolean option view
DONE boolean3 option view
DONE spin option view
DONE string option view
DONE combo option view
DONE color option view
DONE key option view
DONE choice option view
DONE MessageBox
DONE WaitMessage
DONE другие
книги:
DONE BookDescription
DONE Collection
DONE собирать книги, лежащие в указанных каталогах в архивах
представления:
DONE CollectionView
DONE теги
DONE RecentBooksView
DONE FootnoteView
DONE не показывать ContentsView, если оглавление пустое
DONE открывать ContentsView на том разделе, который сейчас читается
конфиг:
DELAYED чтение дефолтного конфига
DELAYED не сохранять конфиг, если не было изменений!!!!!
DONE нормальная запись в десктопном варианте (без длинной-длинной строки)
DELAYED сохранение раз в 30 секунд
DONE реализация на базе sqlite (для андроида)
DELAYED оптимизация по количеству сохранений?
внешний вид:
DONE заголовок окна
DELAYED macos: название меню
DELAYED macos: иконка
DELAYED macos: корректное завершение по Command+Q
код:
DONE изменить систему названий package'й (org. -> org.geometerplus.)
DONE вставить copyright notices
DONE убрать вывод отладочной информации в андроиде
доделать все Actions:
DONE ActionCode.SHOW_BOOK_INFO
1 ActionCode.SCROLL_TO_START_OF_TEXT
1 ActionCode.SCROLL_TO_END_OF_TEXT
DONE ActionCode.OPEN_PREVIOUS_BOOK
1 ActionCode.GOTO_NEXT_TOC_SECTION
1 ActionCode.GOTO_PREVIOUS_TOC_SECTION
DELAYED ActionCode.COPY_SELECTED_TEXT_TO_CLIPBOARD
DELAYED ActionCode.OPEN_SELECTED_TEXT_IN_DICTIONARY
DELAYED ActionCode.CLEAR_SELECTION
другое:
DONE поиск
DONE поиск следующего
DONE поиск предыдущего
DONE текст в пустом CollectionView
DONE написать другой how-to-start (без иконок)
DONE написать README
1 автоопределение языка/кодировки
1 обработка разных кодировок (в хитрых форматах типа plucker)
DONE выход по escape из view, не из приложения
получение списка шрифтов в ZLPaintContext
DELAYED swing
DONE android
DELAYED полноэкранный режим
DONE tap scrolling
DONE возможность отключения
DELAYED обработка архивов в параметре командной строки
DELAYED добавлять в библиотеку книгу из командной строки
DONE xml: сделать нормальную поддержку namespace'ов
DONE xml: сделать поддержку внешних DTD (xhtml entities)
DONE fb2descriptionReader: interrupt()
DONE author sort key -> to lowercase
DONE при нажатии на кнопку выхода (в swing) и на Esc (android) закрывать текущий View, а не выходить из программы
проблемы в android:
нет возможности сделать fullscreen mode
combo box и кнопки: цвет шрифта совпадает с цветом фона, когда контрол выделен
время работы GZIPInputStream
иногда падение при загрузке большой по объему книги (креш виртуальной машины)
не сделано в андроид:
не имплементированы key and scrolling delays
text selection
засечки для пунктов из оглавления на индикаторе
часы на индикаторе
количество прочитанных страниц на индикаторе
Chinese support
не все форматы
bzip2 support
config autosaving (every 30 seconds)
go to page dialog
DONE book tags support

View file

@ -1,7 +1,6 @@
0.99:
DONE Run 'install ColorDict' dialog
DONE Synchronize resources
* Other dictionary (? if there is no way to download dictionary files for ColorDict)
After 0.99:
* More convenient mode changing

View file

@ -6,8 +6,8 @@ VR:
NP:
DONE Локализовать все сообщения
* Отдельная иконка для архивов
* Отдельная иконка для каталогов, к которым нет доступа (?) -- с замочком на папке
DONE Отдельная иконка для архивов
DONE Отдельная иконка для каталогов, к которым нет доступа (?) -- с замочком на папке
DONE Архивы в архивах
DONE filesystem: return special result (exception?) if directory is not readable
* Crashes if /sdcard is removed while we browse files

View file

@ -3,11 +3,9 @@
DONE Тестирование наличия функций без запуска тестовой Actvity
DONE ускорить процесс появления на экране SMS activity
* вызывать из "глобального меню" то же, что из контекстного меню для пункта "Refill account"
* сообщение про "нет информации об sms для вашего оператора"
* Авторегистрация
DONE сообщение про "нет информации об sms для вашего оператора"
* обработка ошибок при получении информации с data.fbreader.org
* Пополнение счета через sms
* Автопокупка
* 'Refill account' item should be visible iff user is logged in
* What happens if user has no enough money to buy a book?
* SMS account refilling
* не задавать вопрос об установке плагина слишком часто (<= раза в неделю?)
@ -21,6 +19,9 @@ DONE ускорить процесс появления на экране SMS ac
* resources synchronization
After 0.99:
DELAYED 'Refill account' item should be visible iff user is logged in
* Авторегистрация
* Автопокупка
* 'My Basket' item
* 'Order all the books in basket' action
* Auto-calculation of SMS set for given sum

View file

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Czech FBReaderJ resources, by Marek Pavelka -->
<resources>
<node name="smsDialog">
<node name="title" value="Refill account via SMS" toBeTranslated="true" />
<node name="youPay" value="You pay %s" toBeTranslated="true" />
</node>
<node name="userRegistration">
<node name="title" value="Registrace uživatele" />
<node name="login" value="Uživatelské jméno" />
@ -22,4 +26,13 @@
<node name="registerUser" value="Registrace nového účtu. Čekejte..." />
</node>
</node>
<node name="dialog">
<node name="button">
<node name="sendSms" value="Send text" toBeTranslated="true" />
</node>
<node name="sendSmsDialog">
<node name="title" value="Send text" toBeTranslated="true" />
<node name="message" value="Text message that costs %s0 will be send. %s1 will be added to your account. Your text will be processed in several minutes." toBeTranslated="true" />
</node>
</node>
</resources>

View file

@ -2,6 +2,10 @@
<!-- German FBReaderJ resources, by Victor Massini -->
<!-- Updated by Ingolf Kübler 2010/11/17 -->
<resources>
<node name="smsDialog">
<node name="title" value="Refill account via SMS" toBeTranslated="true" />
<node name="youPay" value="You pay %s" toBeTranslated="true" />
</node>
<node name="userRegistration">
<node name="title" value="Registrierter Benutzer" />
<node name="login" value="Benutzername" />
@ -23,4 +27,13 @@
<node name="registerUser" value="Neues Benutzerkonto wird registriert. Bitte warten..." />
</node>
</node>
<node name="dialog">
<node name="button">
<node name="sendSms" value="Send text" toBeTranslated="true" />
</node>
<node name="sendSmsDialog">
<node name="title" value="Send text" toBeTranslated="true" />
<node name="message" value="Text message that costs %s0 will be send. %s1 will be added to your account. Your text will be processed in several minutes." toBeTranslated="true" />
</node>
</node>
</resources>

View file

@ -4,6 +4,10 @@
Contributors: Mathias Monnerville <mathias@monnerville.com>
-->
<resources>
<node name="smsDialog">
<node name="title" value="Refill account via SMS" toBeTranslated="true" />
<node name="youPay" value="You pay %s" toBeTranslated="true" />
</node>
<node name="userRegistration">
<node name="title" value="Inscription"/>
<node name="login" value="Identifiant"/>
@ -25,4 +29,13 @@
<node name="registerUser" value="Inscription en cours. Veuillez patienter..."/>
</node>
</node>
<node name="dialog">
<node name="button">
<node name="sendSms" value="Send text" toBeTranslated="true" />
</node>
<node name="sendSmsDialog">
<node name="title" value="Send text" toBeTranslated="true" />
<node name="message" value="Text message that costs %s0 will be send. %s1 will be added to your account. Your text will be processed in several minutes." toBeTranslated="true" />
</node>
</node>
</resources>

View file

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Hungarian FBReaderJ resources, by L. B. Szabó. Based on FBReader translation by Sándor Gábor -->
<resources>
<node name="smsDialog">
<node name="title" value="Refill account via SMS" toBeTranslated="true" />
<node name="youPay" value="You pay %s" toBeTranslated="true" />
</node>
<node name="userRegistration">
<node name="title" value="Felhasználó létrehozása" />
<node name="login" value="Felhasználónév" />
@ -22,4 +26,13 @@
<node name="registerUser" value="Fiók létrehozása. Kérjük, várjon..." />
</node>
</node>
<node name="dialog">
<node name="button">
<node name="sendSms" value="Send text" toBeTranslated="true" />
</node>
<node name="sendSmsDialog">
<node name="title" value="Send text" toBeTranslated="true" />
<node name="message" value="Text message that costs %s0 will be send. %s1 will be added to your account. Your text will be processed in several minutes." toBeTranslated="true" />
</node>
</node>
</resources>

View file

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Italian FBReaderJ resources, by Vytek and Neoxx from AndDev.it Translate Team -->
<resources>
<node name="smsDialog">
<node name="title" value="Refill account via SMS" toBeTranslated="true" />
<node name="youPay" value="You pay %s" toBeTranslated="true" />
</node>
<node name="userRegistration">
<node name="title" value="Utente Registrato" />
<node name="login" value="Username" />
@ -22,4 +26,13 @@
<node name="registerUser" value="Registrazione nuovo account. Attendere prego..." />
</node>
</node>
<node name="dialog">
<node name="button">
<node name="sendSms" value="Send text" toBeTranslated="true" />
</node>
<node name="sendSmsDialog">
<node name="title" value="Send text" toBeTranslated="true" />
<node name="message" value="Text message that costs %s0 will be send. %s1 will be added to your account. Your text will be processed in several minutes." toBeTranslated="true" />
</node>
</node>
</resources>

View file

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Ukrainian FBReaderJ resources, by Dmytro Shevchenko -->
<resources>
<node name="smsDialog">
<node name="title" value="Refill account via SMS" toBeTranslated="true" />
<node name="youPay" value="You pay %s" toBeTranslated="true" />
</node>
<node name="userRegistration">
<node name="title" value="Реєстрація нового користувача" />
<node name="login" value="Ім’я користувача" />
@ -22,4 +26,13 @@
<node name="registerUser" value="Реєструємо користувача. Зачекайте, будь ласка..." />
</node>
</node>
<node name="dialog">
<node name="button">
<node name="sendSms" value="Send text" toBeTranslated="true" />
</node>
<node name="sendSmsDialog">
<node name="title" value="Send text" toBeTranslated="true" />
<node name="message" value="Text message that costs %s0 will be send. %s1 will be added to your account. Your text will be processed in several minutes." toBeTranslated="true" />
</node>
</node>
</resources>

View file

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Vietnamese FBReaderJ resources, by Phạm Văn Hùng_Firestork -->
<resources>
<node name="smsDialog">
<node name="title" value="Refill account via SMS" toBeTranslated="true" />
<node name="youPay" value="You pay %s" toBeTranslated="true" />
</node>
<node name="userRegistration">
<node name="title" value="Đăng ký" />
<node name="login" value="Người dùng" />
@ -22,4 +26,13 @@
<node name="registerUser" value="Đang đăng ký tài khoản. Xin chờ..." />
</node>
</node>
<node name="dialog">
<node name="button">
<node name="sendSms" value="Send text" toBeTranslated="true" />
</node>
<node name="sendSmsDialog">
<node name="title" value="Send text" toBeTranslated="true" />
<node name="message" value="Text message that costs %s0 will be send. %s1 will be added to your account. Your text will be processed in several minutes." toBeTranslated="true" />
</node>
</node>
</resources>

View file

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Chinese FBReaderJ resources, by http://shucang.com/ -->
<resources>
<node name="smsDialog">
<node name="title" value="Refill account via SMS" toBeTranslated="true" />
<node name="youPay" value="You pay %s" toBeTranslated="true" />
</node>
<node name="userRegistration">
<node name="title" value="注册用户" />
<node name="login" value="用户名" />
@ -22,4 +26,13 @@
<node name="registerUser" value="正在注册新账号,请稍等..." />
</node>
</node>
<node name="dialog">
<node name="button">
<node name="sendSms" value="Send text" toBeTranslated="true" />
</node>
<node name="sendSmsDialog">
<node name="title" value="Send text" toBeTranslated="true" />
<node name="message" value="Text message that costs %s0 will be send. %s1 will be added to your account. Your text will be processed in several minutes." toBeTranslated="true" />
</node>
</node>
</resources>

View file

@ -39,4 +39,15 @@
android:layout_marginBottom="4dip"
android:layout_above="@id/sms_buttons"
/>
<TextView
android:id="@+id/sms_error"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="4dip"
android:layout_above="@id/sms_buttons"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
</RelativeLayout>

View file

@ -111,8 +111,11 @@ public class SmsRefillingActivity extends Activity {
private void setupListView() {
final ListView listView = (ListView)findViewById(R.id.sms_list);
final TextView errorPane = (TextView)findViewById(R.id.sms_error);
final TelephonyManager manager = (TelephonyManager)getSystemService(Activity.TELEPHONY_SERVICE);
if (manager != null) {
//final String operator = manager.getNetworkOperator();
final String operator = manager.getNetworkOperator();
// TODO: compare with SIM operator
// TODO: Error if there is no operator
@ -129,8 +132,13 @@ public class SmsRefillingActivity extends Activity {
public void handleStream(URLConnection connection, InputStream inputStream) throws IOException, ZLNetworkException {
final SmsInfoXMLReader reader = new SmsInfoXMLReader();
reader.read(inputStream);
if (reader.Infos.size() > 0) {
listView.setAdapter(new SmsListAdapter(reader.Infos));
listView.invalidateViews();
errorPane.setVisibility(View.GONE);
} else {
errorPane.setText(reader.ErrorMessage);
listView.setVisibility(View.GONE);
}
}
});
} catch (ZLNetworkException e) {