From b38aef8e2eb5a41efca0dc6488cb90c6b54163f0 Mon Sep 17 00:00:00 2001 From: Nikolay Pultsin Date: Sat, 25 Dec 2010 15:09:43 +0000 Subject: [PATCH] updated TODO, updated resources; error messages processing --- TODO | 182 ------------------ TODO.dictionary | 1 - TODO.fileManager | 4 +- TODO.plugins | 9 +- .../assets/resources/application/cs.xml | 13 ++ .../assets/resources/application/de.xml | 13 ++ .../assets/resources/application/fr.xml | 13 ++ .../assets/resources/application/hu.xml | 13 ++ .../assets/resources/application/it.xml | 13 ++ .../assets/resources/application/uk.xml | 13 ++ .../assets/resources/application/vi.xml | 13 ++ .../assets/resources/application/zh.xml | 13 ++ plugins/litres/res/layout/sms_dialog.xml | 11 ++ .../network/litres/SmsRefillingActivity.java | 12 +- 14 files changed, 132 insertions(+), 191 deletions(-) delete mode 100644 TODO diff --git a/TODO b/TODO deleted file mode 100644 index 7254732e3..000000000 --- a/TODO +++ /dev/null @@ -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 diff --git a/TODO.dictionary b/TODO.dictionary index 9b4970bbb..cf201f6a4 100644 --- a/TODO.dictionary +++ b/TODO.dictionary @@ -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 diff --git a/TODO.fileManager b/TODO.fileManager index 8378cac02..b259f249c 100644 --- a/TODO.fileManager +++ b/TODO.fileManager @@ -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 diff --git a/TODO.plugins b/TODO.plugins index b0655439f..5e6c7c67a 100644 --- a/TODO.plugins +++ b/TODO.plugins @@ -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 diff --git a/plugins/litres/assets/resources/application/cs.xml b/plugins/litres/assets/resources/application/cs.xml index a12ecd6fb..94af89ed0 100644 --- a/plugins/litres/assets/resources/application/cs.xml +++ b/plugins/litres/assets/resources/application/cs.xml @@ -1,6 +1,10 @@ + + + + @@ -22,4 +26,13 @@ + + + + + + + + + diff --git a/plugins/litres/assets/resources/application/de.xml b/plugins/litres/assets/resources/application/de.xml index c9ef434e5..10253607e 100644 --- a/plugins/litres/assets/resources/application/de.xml +++ b/plugins/litres/assets/resources/application/de.xml @@ -2,6 +2,10 @@ + + + + @@ -23,4 +27,13 @@ + + + + + + + + + diff --git a/plugins/litres/assets/resources/application/fr.xml b/plugins/litres/assets/resources/application/fr.xml index 10fbb5efd..f6e725984 100644 --- a/plugins/litres/assets/resources/application/fr.xml +++ b/plugins/litres/assets/resources/application/fr.xml @@ -4,6 +4,10 @@ Contributors: Mathias Monnerville --> + + + + @@ -25,4 +29,13 @@ + + + + + + + + + diff --git a/plugins/litres/assets/resources/application/hu.xml b/plugins/litres/assets/resources/application/hu.xml index 2d3bfe3a9..be7e79006 100644 --- a/plugins/litres/assets/resources/application/hu.xml +++ b/plugins/litres/assets/resources/application/hu.xml @@ -1,6 +1,10 @@ + + + + @@ -22,4 +26,13 @@ + + + + + + + + + diff --git a/plugins/litres/assets/resources/application/it.xml b/plugins/litres/assets/resources/application/it.xml index c10e06207..adf9ace3b 100644 --- a/plugins/litres/assets/resources/application/it.xml +++ b/plugins/litres/assets/resources/application/it.xml @@ -1,6 +1,10 @@ + + + + @@ -22,4 +26,13 @@ + + + + + + + + + diff --git a/plugins/litres/assets/resources/application/uk.xml b/plugins/litres/assets/resources/application/uk.xml index 83db00042..4cf694466 100644 --- a/plugins/litres/assets/resources/application/uk.xml +++ b/plugins/litres/assets/resources/application/uk.xml @@ -1,6 +1,10 @@ + + + + @@ -22,4 +26,13 @@ + + + + + + + + + diff --git a/plugins/litres/assets/resources/application/vi.xml b/plugins/litres/assets/resources/application/vi.xml index 184f9c444..d4e0044b5 100644 --- a/plugins/litres/assets/resources/application/vi.xml +++ b/plugins/litres/assets/resources/application/vi.xml @@ -1,6 +1,10 @@ + + + + @@ -22,4 +26,13 @@ + + + + + + + + + diff --git a/plugins/litres/assets/resources/application/zh.xml b/plugins/litres/assets/resources/application/zh.xml index 3b1eec00a..fd876a10b 100644 --- a/plugins/litres/assets/resources/application/zh.xml +++ b/plugins/litres/assets/resources/application/zh.xml @@ -1,6 +1,10 @@ + + + + @@ -22,4 +26,13 @@ + + + + + + + + + diff --git a/plugins/litres/res/layout/sms_dialog.xml b/plugins/litres/res/layout/sms_dialog.xml index 5dad33bc1..13ade6046 100644 --- a/plugins/litres/res/layout/sms_dialog.xml +++ b/plugins/litres/res/layout/sms_dialog.xml @@ -39,4 +39,15 @@ android:layout_marginBottom="4dip" android:layout_above="@id/sms_buttons" /> + diff --git a/plugins/litres/src/org/geometerplus/fbreader/plugin/network/litres/SmsRefillingActivity.java b/plugins/litres/src/org/geometerplus/fbreader/plugin/network/litres/SmsRefillingActivity.java index 33596fd62..ef67d16a4 100644 --- a/plugins/litres/src/org/geometerplus/fbreader/plugin/network/litres/SmsRefillingActivity.java +++ b/plugins/litres/src/org/geometerplus/fbreader/plugin/network/litres/SmsRefillingActivity.java @@ -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); - listView.setAdapter(new SmsListAdapter(reader.Infos)); - listView.invalidateViews(); + if (reader.Infos.size() > 0) { + listView.setAdapter(new SmsListAdapter(reader.Infos)); + errorPane.setVisibility(View.GONE); + } else { + errorPane.setText(reader.ErrorMessage); + listView.setVisibility(View.GONE); + } } }); } catch (ZLNetworkException e) {