1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-05 19:42:17 +02:00

recent catalogs item (in progress)

This commit is contained in:
Nikolay Pultsin 2013-10-12 17:59:11 +01:00
parent d539bbab92
commit fde320470e
37 changed files with 184 additions and 46 deletions

View file

@ -73,7 +73,7 @@
<node name="summary" value="Вынікі пошуку для: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Адчыніць каталёґ"/>
<node name="networkSearch" value="Пошук"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Резултати от тъсенето: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Отвори каталога"/>
<node name="networkSearch" value="Търси"/>

View file

@ -77,7 +77,7 @@
<node name="summary" value="Resultats de la cerca per a: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Obrir catàleg"/>
<node name="networkSearch" value="Cercar"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Hledat výsledky pro: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Otevřít katalog"/>
<node name="networkSearch" value="Hledat"/>

View file

@ -76,7 +76,7 @@
<node name="summary" value="Søgeresultater for: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Åbn katalog"/>
<node name="networkSearch" value="Søg"/>

View file

@ -77,7 +77,7 @@
<node name="summary" value="Suchergebnisse für: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Katalog öffnen"/>
<node name="networkSearch" value="Suchen"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Search results for: %s"/>
</node>
<node name="recent" value="Recent catalogs">
<node name="summary" value="Catalogs you viewed recently"/>
<node name="summary" value="Catalogs you visited recently"/>
</node>
<node name="openCatalog" value="Open catalog"/>
<node name="networkSearch" value="Search"/>

View file

@ -78,7 +78,7 @@
<node name="summary" value="Resultados de la búsqueda para: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Abrir catálogo"/>
<node name="networkSearch" value="Buscar"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="%s bilaketaren emaitzak"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Zabaldu katalogoa"/>
<node name="networkSearch" value="Bilatu"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="نتایج جستوجو برای: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="باز کردن کاتالوگ"/>
<node name="networkSearch" value="جستوجو"/>

View file

@ -76,7 +76,7 @@
<node name="summary" value="Résultats de la recherche : %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Ouvrir le catalogue"/>
<node name="networkSearch" value="Rechercher"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Buscar resultados para: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Abrir o catalogo"/>
<node name="networkSearch" value="Buscar"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Keresés az eredmények között: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Katalógus megnyitása"/>
<node name="networkSearch" value="Keresés"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="%s-ով որոնման արդյունքները"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Բացել գրացուցակը"/>
<node name="networkSearch" value="Որոնել"/>

View file

@ -74,7 +74,7 @@
<node name="summary" value="Cerca risultati per: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Apri catalogo"/>
<node name="networkSearch" value="Ricerca"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="ძებნის შედეგები %s-სთვის"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="კატალოგის გახსნა"/>
<node name="networkSearch" value="ძებნა"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Søkeresultat for: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Åpne katalog"/>
<node name="networkSearch" value="Søk"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Zoekresultaten voor: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Open catalogus"/>
<node name="networkSearch" value="Zoeken"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Wyniki wyszukiwania: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Otwórz katalog"/>
<node name="networkSearch" value="Wyszukaj"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Resultados da pesquisa para:%s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Abra o catálogo"/>
<node name="networkSearch" value="Pesquise"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Rezultatele cautarii pentru: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Deschide catalogul"/>
<node name="networkSearch" value="Cautare"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Резултати претраге за: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Отвори каталог"/>
<node name="networkSearch" value="Претражи"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="ผลการค้นหาสำหรับ: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="เปิดแคตตาล็อก"/>
<node name="networkSearch" value="ค้นหา"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="%s için arama sonuçları"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Katalog aç"/>
<node name="networkSearch" value="Ara"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Результати пошуку для: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Відкрити теку"/>
<node name="networkSearch" value="Пошук"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="Kết quả tìm kiếm khoảng: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="Mở danh mục"/>
<node name="networkSearch" value="Tìm"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="搜索结果: %s"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="打开书库"/>
<node name="networkSearch" value="搜索"/>

View file

@ -73,7 +73,7 @@
<node name="summary" value="%s 的搜尋結果"/>
</node>
<node name="recent" value="Recent catalogs" toBeTranslated="true">
<node name="summary" value="Catalogs you viewed recently" toBeTranslated="true"/>
<node name="summary" value="Catalogs you visited recently" toBeTranslated="true"/>
</node>
<node name="openCatalog" value="打開目錄"/>
<node name="networkSearch" value="搜尋"/>

View file

@ -88,6 +88,8 @@ class NetworkLibraryAdapter extends TreeAdapter {
coverView.setImageResource(R.drawable.ic_list_library_book);
} else if (tree instanceof SearchCatalogTree) {
coverView.setImageResource(R.drawable.ic_list_library_search);
} else if (tree instanceof RecentCatalogListTree) {
coverView.setImageResource(R.drawable.ic_list_library_recent);
} else if (tree instanceof BasketCatalogTree) {
coverView.setImageResource(R.drawable.ic_list_library_basket);
} else if (tree instanceof AddCustomCatalogItemTree) {

View file

@ -407,12 +407,16 @@ public class NetworkLibrary {
}
if (linkToTreeMap.isEmpty()) {
new RecentCatalogListTree(
myRootTree, new RecentCatalogListItem(resource().getResource("recent"))
);
new SearchCatalogTree(myRootTree, mySearchItem);
// normal catalog items will be inserted here
new ManageCatalogsItemTree(myRootTree);
new AddCustomCatalogItemTree(myRootTree);
}
int index = 1;
int index = 2;
for (INetworkLink link : activeLinks()) {
final List<NetworkCatalogTree> trees = linkToTreeMap.remove(link);
if (trees != null) {

View file

@ -0,0 +1,56 @@
/*
* Copyright (C) 2010-2013 Geometer Plus <contact@geometerplus.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
package org.geometerplus.fbreader.network;
import org.geometerplus.zlibrary.core.network.ZLNetworkException;
import org.geometerplus.fbreader.network.tree.NetworkItemsLoader;
import org.geometerplus.fbreader.network.urlInfo.UrlInfo;
import org.geometerplus.fbreader.network.urlInfo.UrlInfoCollection;
class RecentCatalogItem extends NetworkCatalogItem {
RecentCatalogItem(String title, String summary) {
super(
null,
title,
summary,
new UrlInfoCollection<UrlInfo>(),
Accessibility.ALWAYS,
FLAGS_DEFAULT
);
}
@Override
public String getStringId() {
// TODO: implement
return "@RecentCatalog#" + hashCode();
}
@Override
public boolean canBeOpened() {
// TODO: implement
return false;
}
@Override
public void loadChildren(NetworkItemsLoader loader) throws ZLNetworkException {
// TODO: implement
}
}

View file

@ -0,0 +1,60 @@
/*
* Copyright (C) 2010-2013 Geometer Plus <contact@geometerplus.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
package org.geometerplus.fbreader.network;
import org.geometerplus.zlibrary.core.network.ZLNetworkException;
import org.geometerplus.zlibrary.core.resources.ZLResource;
import org.geometerplus.fbreader.network.tree.NetworkItemsLoader;
import org.geometerplus.fbreader.network.urlInfo.UrlInfo;
import org.geometerplus.fbreader.network.urlInfo.UrlInfoCollection;
public class RecentCatalogListItem extends NetworkCatalogItem {
RecentCatalogListItem(ZLResource resource) {
super(
null,
resource.getValue(),
resource.getResource("summary").getValue(),
new UrlInfoCollection<UrlInfo>(),
Accessibility.ALWAYS,
FLAGS_DEFAULT
);
}
@Override
public String getStringId() {
return "@RecentCatalogs";
}
@Override
public boolean canBeOpened() {
// TODO: implement
return true;
}
@Override
public void loadChildren(NetworkItemsLoader loader) throws ZLNetworkException {
// TODO: implement
for (int i = 0; i < 5; ++i) {
loader.onNewItem(new RecentCatalogItem("Catalog " + i, "Visited ..."));
}
loader.getTree().confirmAllItems();
}
}

View file

@ -22,15 +22,13 @@ package org.geometerplus.fbreader.network.tree;
import java.util.*;
import org.geometerplus.fbreader.tree.FBTree;
import org.geometerplus.fbreader.network.NetworkItem;
import org.geometerplus.fbreader.network.NetworkBookItem;
import org.geometerplus.fbreader.network.BasketItem;
import org.geometerplus.fbreader.network.*;
public class BasketCatalogTree extends NetworkCatalogTree {
private long myGeneration = -1;
public BasketCatalogTree(NetworkCatalogTree parent, BasketItem item, int position) {
super(parent, item, position);
super(parent, parent.getLink(), item, position);
if (!item.bookIds().isEmpty()) {
startItemsLoader(false, false);
}

View file

@ -38,7 +38,7 @@ public class NetworkCatalogTree extends NetworkTree {
private long myLoadedTime = -1;
public NetworkCatalogTree(RootTree parent, INetworkLink link, NetworkCatalogItem item, int position) {
public NetworkCatalogTree(NetworkTree parent, INetworkLink link, NetworkCatalogItem item, int position) {
super(parent, position);
myLink = link;
if (item == null) {
@ -48,16 +48,6 @@ public class NetworkCatalogTree extends NetworkTree {
addSpecialTrees();
}
NetworkCatalogTree(NetworkCatalogTree parent, NetworkCatalogItem item, int position) {
super(parent, position);
myLink = parent.myLink;
if (item == null) {
throw new IllegalArgumentException("item cannot be null");
}
Item = item;
addSpecialTrees();
}
@Override
public INetworkLink getLink() {
return myLink;

View file

@ -41,7 +41,7 @@ class NetworkTreeFactory {
if (catalogItem.getVisibility() == ZLBoolean3.B3_FALSE) {
return null;
}
return new NetworkCatalogTree(parent, catalogItem, position);
return new NetworkCatalogTree(parent, parent.getLink(), catalogItem, position);
} else if (item instanceof NetworkBookItem) {
if (position != subtreesSize) {
throw new RuntimeException("Unable to insert NetworkBookItem to the middle of the catalog");

View file

@ -0,0 +1,28 @@
/*
* Copyright (C) 2010-2013 Geometer Plus <contact@geometerplus.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
package org.geometerplus.fbreader.network.tree;
import org.geometerplus.fbreader.network.RecentCatalogListItem;
public class RecentCatalogListTree extends NetworkCatalogTree {
public RecentCatalogListTree(RootTree parent, RecentCatalogListItem item) {
super(parent, null, item, -1);
}
}

View file

@ -31,7 +31,7 @@ public class SearchCatalogTree extends NetworkCatalogTree {
}
public SearchCatalogTree(NetworkCatalogTree parent, SearchItem item) {
super(parent, item, -1);
super(parent, parent.getLink(), item, -1);
item.setPattern(null);
}