diff --git a/YACReaderLibrary/server/controllers/covercontroller.cpp b/YACReaderLibrary/server/controllers/covercontroller.cpp index 4614ce59..80cc394c 100644 --- a/YACReaderLibrary/server/controllers/covercontroller.cpp +++ b/YACReaderLibrary/server/controllers/covercontroller.cpp @@ -44,14 +44,28 @@ void CoverController::service(HttpRequest& request, HttpResponse& response) QImage img(libraries.getPath(libraryName)+"/.yacreaderlibrary/covers/"+fileName); if (!img.isNull()) { - int width = 80; - if(session.getDisplayType()=="retina") + int width = 80, height = 120; + if(session.getDisplayType()=="@2x") + { width = 160; - img = img.scaledToWidth(width,Qt::SmoothTransformation); + height = 240; + } + + if(float(img.width())/img.height() < 0.66666) + img = img.scaledToWidth(width,Qt::SmoothTransformation); + else + img = img.scaledToHeight(height,Qt::SmoothTransformation); + + QImage destImg(width,height,QImage::Format_RGB32); + destImg.fill(Qt::black); + QPainter p(&destImg); + + p.drawImage((width-img.width())/2,(height-img.height())/2,img); + QByteArray ba; QBuffer buffer(&ba); buffer.open(QIODevice::WriteOnly); - img.save(&buffer, "JPG"); + destImg.save(&buffer, "JPG"); response.write(ba,true); } //DONE else, hay que devolver un 404 diff --git a/YACReaderLibrary/server/controllers/foldercontroller.cpp b/YACReaderLibrary/server/controllers/foldercontroller.cpp index d8ef8591..7300adf9 100644 --- a/YACReaderLibrary/server/controllers/foldercontroller.cpp +++ b/YACReaderLibrary/server/controllers/foldercontroller.cpp @@ -1,4 +1,6 @@ #include "foldercontroller.h" +#include "controllers/errorcontroller.h" + #include "db_helper.h" //get libraries #include "comic_db.h" @@ -36,7 +38,16 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) int libraryId = pathElements.at(2).toInt(); QString libraryName = DBHelper::getLibraryName(libraryId); qulonglong parentId = pathElements.at(4).toULongLong(); + + parentId = qMax(1,parentId); + QString folderName = DBHelper::getFolderName(libraryName,parentId); + if(folderName.isEmpty()) + { + ErrorController(300).service(request,response); + return; + } + if(parentId!=1) t.setVariable("folder.name",folderName); else @@ -70,7 +81,21 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) int upPage = 0; - + if(parentId == 1) + session.clearFoldersPath(); + else + { + if(fromUp) + session.popFolder(); + else + if(session.getFoldersPath().contains(parentId)) + { + while(session.topFolder()!=parentId) + session.popFolder(); + } + else + session.pushFolder(parentId); + } if(backId == 1 && parentId == 1) { @@ -83,7 +108,7 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) if(fromUp) { session.popPage(); - upPage = session.topPage(); + upPage = session.topPage(); page = upPage; } else //este nivel puede haberse cargado por primera vez ó puede que estemos navegando horizontalmente @@ -116,7 +141,7 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) //t.loop("element",folderContent.length()); - int elementsPerPage = 18; + int elementsPerPage = 24; int numFolders = folderContent.length(); //int numComics = folderComics.length(); @@ -135,9 +160,16 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) int indexCurrentPage = page*elementsPerPage; int numFoldersAtCurrentPage = qMax(0,qMin(numFolders - indexCurrentPage, elementsPerPage)); - //response.writeText(QString("indexCurrentPage : %1
").arg(indexCurrentPage)); - //response.writeText(QString("numFoldersAtCurrentPage : %1
").arg(numFoldersAtCurrentPage)); - //response.writeText(QString("foldersLength : %1
").arg(folderContent.length())); + //PATH + QStack foldersPath = session.getFoldersPath(); + t.setVariable(QString("library.name"),libraryName); + t.setVariable(QString("library.url"),QString("/library/%1/folder/1").arg(libraryId)); + t.loop("path",foldersPath.length()); + for(int i = 0; i < foldersPath.length(); i++){ + + t.setVariable(QString("path%1.url").arg(i),QString("/library/%1/folder/%2").arg(libraryId).arg(foldersPath[i])); + t.setVariable(QString("path%1.name").arg(i),DBHelper::getFolderName(libraryName,foldersPath[i])); + } t.loop("element",numFoldersAtCurrentPage); int i = 0; @@ -148,7 +180,6 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) if(item->isDir()) { t.setVariable(QString("element%1.class").arg(i),"folder"); - t.setVariable(QString("element%1.image.width").arg(i),"89px"); t.setVariable(QString("element%1.image.url").arg(i),"/images/f.png"); t.setVariable(QString("element%1.browse").arg(i),QString("browse").arg(QString("/library/%1/folder/%2").arg(libraryId).arg(item->id))); @@ -157,13 +188,17 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) //t.setVariable(QString("element%1.downloadurl").arg(i),"/library/"+libraryName+"/folder/"+QString("%1/info").arg(folderContent.at(i + (page*elementsPerPage))->id)); t.setVariable(QString("element%1.download").arg(i),QString("import").arg("/library/"+QString::number(libraryId)+"/folder/"+QString("%1/info").arg(folderContent.at(i + (page*elementsPerPage))->id))); - } + t.setVariable(QString("element%1.read").arg(i),""); + + t.setVariable(QString("element%1.size").arg(i),""); + t.setVariable(QString("element%1.pages").arg(i),""); + t.setVariable(QString("element%1.status").arg(i),""); + } else { t.setVariable(QString("element%1.class").arg(i),"cover"); const ComicDB * comic = (ComicDB *)item; t.setVariable(QString("element%1.browse").arg(i),""); - t.setVariable(QString("element%1.image.width").arg(i),"80px"); //t.setVariable(QString("element%1.downloadurl").arg(i),"/library/"+libraryName+"/comic/"+QString("%1").arg(comic->id)); if(!session.isComicOnDevice(comic->info.hash) && !session.isComicDownloaded(comic->info.hash)) t.setVariable(QString("element%1.download").arg(i),QString("import").arg("/library/"+QString::number(libraryId)+"/comic/"+QString("%1").arg(comic->id))); @@ -174,56 +209,28 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) //t.setVariable(QString("element%1.image.url").arg(i),"/images/f.png"); + t.setVariable(QString("element%1.read").arg(i),QString("read").arg("/library/"+QString::number(libraryId)+"/comic/"+QString("%1").arg(comic->id)+"/remote")); + t.setVariable(QString("element%1.image.url").arg(i),QString("/library/%1/cover/%2.jpg").arg(libraryId).arg(comic->info.hash)); + + t.setVariable(QString("element%1.size").arg(i),"" + QString::number(comic->info.hash.right(comic->info.hash.length()-40).toInt()/1024.0/1024.0,'f',2)+"Mb"); + if(comic->info.hasBeenOpened) + t.setVariable(QString("element%1.pages").arg(i),QString("%1/%2 pages").arg(comic->info.currentPage).arg(comic->info.numPages.toInt())); + else + t.setVariable(QString("element%1.pages").arg(i),QString("%1").arg(comic->info.numPages.toInt())); + + if(comic->info.read) + t.setVariable(QString("element%1.status").arg(i), QString("
")); + else if(comic->info.hasBeenOpened) + t.setVariable(QString("element%1.status").arg(i), QString("
")); + else + t.setVariable(QString("element%1.status").arg(i),""); + + } i++; } - //int comicsOffset;// = qMax(0,((page - (numFolderPages - 1)) * 10) - (numFolders%10)); - - //int comicPage = numFolderPages!=0?page-(numFolderPages - 1):page; - - //if(comicPage > 0) - //{ - // comicsOffset = elementsPerPage - (numFolders%elementsPerPage); - // comicsOffset += (comicPage-1) *elementsPerPage; - //} - //else - // comicsOffset = 0; - - // - - //int globalComicsOffset = elementsPerPage - (numFolders%elementsPerPage); - //int numComicsAtCurrentPage = 0; - - //if(comicPage == 0) //primera página de los cómics - // numComicsAtCurrentPage = qMin(globalComicsOffset,numComics); - // else if (page == (numPages-1)) //última página de los cómics - // numComicsAtCurrentPage = elementsPerPage-globalComicsOffset + (numComics%elementsPerPage); - // else - // numComicsAtCurrentPage = elementsPerPage - numFoldersAtCurrentPage; - - //if(numComics == 0) - // numComicsAtCurrentPage = 0; - ////response.writeText(QString("numComicsAtCurrentPage : %1
").arg(numComicsAtCurrentPage)); - ////response.writeText(QString("comicsOffset : %1
").arg(comicsOffset)); - - //t.loop("elementcomic",numComicsAtCurrentPage); - //// - //int j = 0; - - //while(jinfo.title == 0 || comic->info.title->isEmpty()) - // t.setVariable(QString("elementcomic%1.name").arg(j),comic->name); - // //else - // // t.setVariable(QString("elementcomic%1.name").arg(i),*comic->info.title); - // t.setVariable(QString("elementcomic%1.url").arg(j),"/library/"+QUrl::toPercentEncoding(libraryName)+"/comic/"+QString("%1").arg(comic->id)); - // t.setVariable(QString("elementcomic%1.coverulr").arg(j),"/library/"+QUrl::toPercentEncoding(libraryName)+"/cover/"+QString("%1").arg(comic->info.hash + ".jpg")); - // j++; - //} - if(numPages > 1) { t.setCondition("pageIndex",true); @@ -267,7 +274,6 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) i++; count += indexCount.value(*itr); indexPage = count/elementsPerPage; - } } else @@ -295,12 +301,14 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) t.setVariable("page.previous",QString("/library/%1/folder/%2?page=%3").arg(libraryId).arg(parentId).arg((page==0)?page:page-1)); t.setVariable("page.next",QString("/library/%1/folder/%2?page=%3").arg(libraryId).arg(parentId).arg((page==numPages-1)?page:page+1)); t.setVariable("page.last",QString("/library/%1/folder/%2?page=%3").arg(libraryId).arg(parentId).arg(numPages-1)); - + t.setCondition("index", true); } else { + t.loop("page",0); t.loop("index",0); + t.setCondition("index", false); t.setCondition("pageIndex",false); t.setCondition("alphaIndex",false); } @@ -310,4 +318,4 @@ void FolderController::service(HttpRequest& request, HttpResponse& response) response.write(t.toLatin1(),true); -} \ No newline at end of file +} diff --git a/YACReaderLibrary/server/controllers/librariescontroller.cpp b/YACReaderLibrary/server/controllers/librariescontroller.cpp index fc6472f0..a154b7f8 100644 --- a/YACReaderLibrary/server/controllers/librariescontroller.cpp +++ b/YACReaderLibrary/server/controllers/librariescontroller.cpp @@ -10,32 +10,53 @@ LibrariesController::LibrariesController() {} void LibrariesController::service(HttpRequest& request, HttpResponse& response) { - HttpSession session=Static::sessionStore->getSession(request,response); - session.set("ySession","ok"); - session.clearNavigationPath(); - response.setHeader("Content-Type", "text/html; charset=ISO-8859-1"); - response.setHeader("Connection","close"); - - - QString postData = QString::fromUtf8(request.getBody()); - //response.writeText(postData); + HttpSession session=Static::sessionStore->getSession(request,response); + if(session.contains("ySession")) //session is already alive check if it is needed to update comics + { + QString postData = QString::fromUtf8(request.getBody()); + if(postData.length()>0) { + QList data = postData.split("\n"); + if(data.length() > 2) { + //ONLY COMICS ARE UPDATED, DEVICE CHARACTERISTICS ARE INMUTABLE + QList comics = data.at(2).split(":").at(1).split("\t"); + foreach(QString hash,comics) { + session.setComicOnDevice(hash); + } + } + } + } + else + { + session.set("ySession","ok"); - QList data = postData.split("\n"); - if(data.length() > 2) - { - session.setDeviceType(data.at(0).split(":").at(1)); - session.setDisplayType(data.at(1).split(":").at(1)); - QList comics = data.at(2).split(":").at(1).split("\t"); - foreach(QString hash,comics) - { - session.setComicOnDevice(hash); - } - } - else //valores por defecto, con propositos de depuración - { - session.setDeviceType("ipad"); - session.setDisplayType("retina"); - } + session.clearNavigationPath(); + session.clearFoldersPath(); + + response.setHeader("Content-Type", "text/html; charset=ISO-8859-1"); + response.setHeader("Connection","close"); + + + QString postData = QString::fromUtf8(request.getBody()); + //response.writeText(postData); + + QList data = postData.split("\n"); + if(data.length() > 2) + { + session.setDeviceType(data.at(0).split(":").at(1)); + session.setDisplayType(data.at(1).split(":").at(1)); + QList comics = data.at(2).split(":").at(1).split("\t"); + foreach(QString hash,comics) + { + session.setComicOnDevice(hash); + } + } + else //values by default, only for debug purposes. + { + session.setDeviceType("iphone"); + session.setDisplayType("@2x"); + } + + } Template t=Static::templateLoader->getTemplate("libraries_"+session.getDeviceType(),request.getHeader("Accept-Language")); t.enableWarnings(); @@ -54,6 +75,6 @@ void LibrariesController::service(HttpRequest& request, HttpResponse& response) i++; } + response.setStatus(200,"OK"); response.write(t.toLatin1(),true); - } diff --git a/YACReaderLibrary/server/lib/bfHttpServer/httprequest.cpp b/YACReaderLibrary/server/lib/bfHttpServer/httprequest.cpp index b91cb817..8ed427b5 100644 --- a/YACReaderLibrary/server/lib/bfHttpServer/httprequest.cpp +++ b/YACReaderLibrary/server/lib/bfHttpServer/httprequest.cpp @@ -12,8 +12,8 @@ HttpRequest::HttpRequest(QSettings* settings) { status=waitForRequest; currentSize=0; expectedBodySize=0; - maxSize=settings->value("maxRequestSize","16000000").toInt(); - maxMultiPartSize=settings->value("maxMultiPartSize","1000000").toInt(); + maxSize=settings->value("maxRequestSize","32000000").toInt(); + maxMultiPartSize=settings->value("maxMultiPartSize","32000000").toInt(); } void HttpRequest::readRequest(QTcpSocket& socket) { diff --git a/YACReaderLibrary/server/lib/bfHttpServer/httpsession.cpp b/YACReaderLibrary/server/lib/bfHttpServer/httpsession.cpp index 10e30596..3f1cbd21 100644 --- a/YACReaderLibrary/server/lib/bfHttpServer/httpsession.cpp +++ b/YACReaderLibrary/server/lib/bfHttpServer/httpsession.cpp @@ -307,3 +307,36 @@ int HttpSession::topPage() return dataPtr->yacreaderSessionData.navigationPath.top(); return 0; } + +void HttpSession::clearFoldersPath() +{ + if(dataPtr) + dataPtr->yacreaderSessionData.foldersPath.clear(); +} + +int HttpSession::popFolder() +{ + if(dataPtr && !(dataPtr->yacreaderSessionData.foldersPath.isEmpty())) + return dataPtr->yacreaderSessionData.foldersPath.pop(); + return 0; +} + +void HttpSession::pushFolder(int page) +{ + if(dataPtr) + dataPtr->yacreaderSessionData.foldersPath.push(page); +} + +int HttpSession::topFolder() +{ + if(dataPtr) + return dataPtr->yacreaderSessionData.foldersPath.top(); + return 0; +} + +QStack HttpSession::getFoldersPath() +{ + if(dataPtr) + return dataPtr->yacreaderSessionData.foldersPath; + return QStack(); +} diff --git a/YACReaderLibrary/server/lib/bfHttpServer/httpsession.h b/YACReaderLibrary/server/lib/bfHttpServer/httpsession.h index 829e077a..d2e6c6b7 100644 --- a/YACReaderLibrary/server/lib/bfHttpServer/httpsession.h +++ b/YACReaderLibrary/server/lib/bfHttpServer/httpsession.h @@ -119,6 +119,12 @@ public: void pushPage(int page); int topPage(); + void clearFoldersPath(); + int popFolder(); + void pushFolder(int page); + int topFolder(); + QStack getFoldersPath(); + private: struct YACReaderSessionData { @@ -132,6 +138,7 @@ private: qulonglong comicId; QStack navigationPath; + QStack foldersPath; Comic * comic; }; diff --git a/YACReaderLibrary/server/lib/bfHttpServer/httpsessionstore.cpp b/YACReaderLibrary/server/lib/bfHttpServer/httpsessionstore.cpp index b37ee1d5..af7dc50c 100644 --- a/YACReaderLibrary/server/lib/bfHttpServer/httpsessionstore.cpp +++ b/YACReaderLibrary/server/lib/bfHttpServer/httpsessionstore.cpp @@ -14,7 +14,7 @@ HttpSessionStore::HttpSessionStore(QSettings* settings, QObject* parent) connect(&cleanupTimer,SIGNAL(timeout()),this,SLOT(timerEvent())); cleanupTimer.start(60000); cookieName=settings->value("cookieName","sessionid").toByteArray(); - expirationTime=settings->value("expirationTime",18000000).toInt(); + expirationTime=settings->value("expirationTime",86400000).toInt(); qDebug("HttpSessionStore: Sessions expire after %i milliseconds",expirationTime); } diff --git a/YACReaderLibrary/server/lib/bfHttpServer/staticfilecontroller.cpp b/YACReaderLibrary/server/lib/bfHttpServer/staticfilecontroller.cpp index e01a39b7..fde1cf8d 100644 --- a/YACReaderLibrary/server/lib/bfHttpServer/staticfilecontroller.cpp +++ b/YACReaderLibrary/server/lib/bfHttpServer/staticfilecontroller.cpp @@ -56,7 +56,11 @@ void StaticFileController::service(HttpRequest& request, HttpResponse& response) stringPath.remove(fileName); HttpSession session=Static::sessionStore->getSession(request,response,false); QString device = session.getDeviceType(); - fileName = getDeviceAwareFileName(fileName, device, request.getHeader("Accept-Language"), stringPath); + QString display = session.getDisplayType(); + if(fileName.endsWith(".png")) + fileName = getDeviceAwareFileName(fileName, device, display, request.getHeader("Accept-Language"), stringPath); + else + fileName = getDeviceAwareFileName(fileName, device, request.getHeader("Accept-Language"), stringPath); QString newPath = stringPath.append(fileName); path = newPath.toLocal8Bit(); @@ -207,5 +211,24 @@ QString StaticFileController::getDeviceAwareFileName(QString fileName, QString d if(QFile(docroot+"/"+path+completeFileName).exists()) return completeFileName; //existe un archivo específico para este dispositivo y locales else - return getLocalizedFileName(fileName,locales,path); //no hay archivo específico para el dispositivo, pero puede haberlo para estas locales + return getLocalizedFileName(fileName,locales,path); //no hay archivo específico para el dispositivo, pero puede haberlo para estas locales +} + +QString StaticFileController::getDeviceAwareFileName(QString fileName, QString device, QString display, QString locales, QString path) const +{ + QFileInfo fi(fileName); + QString baseName = fi.baseName(); + QString extension = fi.completeSuffix(); + + QString completeFileName = completeFileName = baseName+display+"."+extension; + if(QFile(docroot+"/"+path+completeFileName).exists()) + return completeFileName; + else + { + completeFileName = baseName+"_"+device+display+"."+extension; + if((QFile(docroot+"/"+path+completeFileName).exists())) + return completeFileName; + } + + return fileName; } diff --git a/YACReaderLibrary/server/lib/bfHttpServer/staticfilecontroller.h b/YACReaderLibrary/server/lib/bfHttpServer/staticfilecontroller.h index 1cbbdbf7..26413398 100644 --- a/YACReaderLibrary/server/lib/bfHttpServer/staticfilecontroller.h +++ b/YACReaderLibrary/server/lib/bfHttpServer/staticfilecontroller.h @@ -84,6 +84,7 @@ private: QString getLocalizedFileName(QString fileName, QString locales, QString path) const; QString getDeviceAwareFileName(QString fileName, QString device, QString locales, QString path) const; + QString getDeviceAwareFileName(QString fileName, QString device, QString display, QString locales, QString path) const; bool exists(QString localizedName, QString path) const; }; diff --git a/YACReaderLibrary/server/requestmapper.cpp b/YACReaderLibrary/server/requestmapper.cpp index 303ee8e0..5bbd9199 100644 --- a/YACReaderLibrary/server/requestmapper.cpp +++ b/YACReaderLibrary/server/requestmapper.cpp @@ -50,10 +50,10 @@ void RequestMapper::service(HttpRequest& request, HttpResponse& response) { else { - //se comprueba que la sesión sea la correcta con el fin de evitar accesos no autorizados - HttpSession session=Static::sessionStore->getSession(request,response,false); - if(!session.isNull() && session.contains("ySession")) - { + //se comprueba que la sesión sea la correcta con el fin de evitar accesos no autorizados + HttpSession session=Static::sessionStore->getSession(request,response,false); + if(!session.isNull() && session.contains("ySession")) + { if(library.indexIn(path)!=-1 && DBHelper::getLibraries().contains(library.cap(1).toInt()) ) { //listar el contenido del folder @@ -83,11 +83,11 @@ void RequestMapper::service(HttpRequest& request, HttpResponse& response) { //response.writeText(library.cap(1)); Static::staticFileController->service(request, response); } - } - else //acceso no autorizado, redirección - { - ErrorController(300).service(request,response); - } + } + else //acceso no autorizado, redirección + { + ErrorController(300).service(request,response); + } } } diff --git a/release/server/docroot/css/styles_ipad.css b/release/server/docroot/css/styles_ipad.css index b54e9f71..b89a6bf8 100644 --- a/release/server/docroot/css/styles_ipad.css +++ b/release/server/docroot/css/styles_ipad.css @@ -1,246 +1,364 @@ body{ - background-color: #363636; + background-color: #F5F5F5; font-family: Arial, Helvetica, sans-serif; } -#content{ - width: 712px; - background: url("../images/topbox.jpg") no-repeat scroll 0 0 #FFF; - margin: 17px auto 0; - padding: 22px 0 22px 22px; - -} - +/* libraries */ #contentLibraries{ - width: 256px; - background: url("../images/topboxLibraries.jpg") no-repeat scroll 0 0 #FFF; - margin: 16px auto 0; - padding: 16px; + width: 300px; + border: 1px solid #C6C6C6; + background-color: white; + margin-left: auto; + margin-right: auto; + margin-top: 9px; } -.sombraLibraries{ - background: url("../images/bottomboxLibraries.jpg") no-repeat scroll bottom center #FFF; - width: 288px; - height: 14px; - margin: 0 auto; +#contentLibraries .library-icon +{ + float: left; + background-color: white; + height: 18px; + padding: 11px 19px 10px 19px; + display:block; } -.index{ - width: 718px; - background: url("../images/topbox.jpg") no-repeat scroll 0 0 #FFF; - margin: 7px auto 0; - padding: 16px 0px 0px 16px; +#contentLibraries li +{ + border-bottom: 1px solid #e2e2e2; + position: relative; + list-style: none; } +#contentLibraries li:last-child +{ + border: none; +} + +#contentLibraries .library-link +{ + width: 211px; + height: 28px; + border: none; + padding: 11px 0 0 0px; + background-color: white; + display: block; + float:left; + font-family: Arial; + font-size: 16px; + text-decoration: none; + color: #525252 ; +} + + #contentLibraries a +{ + position: absolute; + height: 39px; + width: 100%; + z-index: 10; + display: block; + top 0; + text-decoration: none; +} + +#contentLibraries .library-indicator +{ + float: left; + background-color: white; + height: 8px; + padding: 16px 16px 15px 16px; + display:block; +} + + +#content h1 +{ + color: #292929; + text-align: center; + font-size: 21px; +} + +#contentLibraries h1{ + color: #292929; + text-align: center; + border-bottom: 1px solid #C6C6C6; + font-size: 21px; + padding: 15px 0 16px 0; +} + +#folder-header +{ + position: fixed; + width: 100%; + height: 88px; + background-color: rgba(255,255,255,0.9); + border-bottom: 1px solid #C6C6C6; + z-index: 999; +} + +#folder-subheader1 +{ + width: 100%; + height: 40px; + margin-top: 18px; + +} + +#folder-subheader2 +{ + width: 100%; + padding-left: 16px; +} + +#topIndex +{ + position: absolute; + left: 16px; + top: 19px; +} + +#topIndex a +{ + float: left; +} + +.indicator { + margin: 0 9px; +} + +.path { + text-decoration: none; + color: #5C5C5C; + font-family: Arial, Helvetica; + font-size: 15px; + +} + +#header-combos +{ + position: absolute; + right: 15px; + top: 15px; + color: #a3a3a3; + width: 160px; +} + +#topIndex .next{ + width: 25px; + height: 19px; + border: none; + margin: 0 21px 4px 0; + padding: 5px 0 0 0; + display: block; + background: url("/images/next.png") no-repeat scroll 0 0 transparent; + background-size: 25px 19px; + padding: 0; + text-indent: -99999px; +} + +#topIndex .previous{ + width: 25px; + height: 19px; + border: none; + margin: 0 14px 4px 0; + padding: 5px 0 0 0; + display: block; + background: url("/images/prev.png") no-repeat scroll 0 0 transparent; + background-size: 25px 19px; + padding: 0; + text-indent: -99999px; +} + +#topIndex .up{ + width: 15px; + height: 19px; + border: none; + background: url("/images/up.png") no-repeat scroll 0 0 transparent; + background-size: 15px 19px; + color: #FFF; + display: block; + text-indent: -99999px; +} + +#itemContainer li +{ +float: left; +width: 242px; +height: 120px; +border: 1px solid #E2E2E2; +margin: 9px 9px 0px 0; +background-color: white; +overflow: hidden; +position: relative; +} + +.folderContent +{ + padding-top: 90px; + padding-left: 9px; +} +/* hasta aquí */ + .folder { float: left; + } .cover { float: left; +overflow: hidden; } -.cover img +.mark { - -webkit-box-shadow: 0px 0px 5px #333; + position: absolute; + top: 0px; + margin-left: 55px; } - .info { padding: 8px 0px 0px 0px; float: left; position: relative; height: 115px; -width: 135px; +width: 158px; } .buttons { -position:absolute; -bottom:0px; -left:0px; + position:absolute; + bottom:0px; + left:0px; + border-top: 1px solid #e2e2e2; + padding-top: 3px; + height: 25px; + width: 162px; + font-family: Arial; + color: #6e6e6e; + font-size: 10px; } -#itemContainer li +.elementInfo { -float: left; -width: 225px; -height: 120px; -margin: 20px 12px 20px 0; + position:absolute; + bottom:24px; + padding-top: 3px; + height: 25px; + width: 162px; + font-family: Arial; + color: #adadad; + font-size: 10px; } +.numPages +{ + float: left; + padding-left:8px; +} + +.comicSize +{ + float: right; + padding-right: 9px; +} + + #itemContainer a { text-decoration: none; - font-family: Arial; - color: #FFF; - font-size: 13px; + } .browseButton { - width: 57px; - height: 22px; - background: url("../images/bt_browse.jpg") no-repeat scroll 0 0 transparent; + width: 60px; + background: url("/images/browse.png") no-repeat scroll 0 0 transparent; + background-position: 16px 5px; + background-size: 7px 7px; border: none; - text-align:center; + text-align:right; display: block; - float: left; - padding: 4px 0 0 0; - margin: 0 0 0 4px; + float: right; + padding: 4px 10px 0 0; + color: #6e6e6e; } .importButton { - width: 57px; - height: 18px; - background: url("../images/bt_import.jpg") no-repeat scroll 0 0 transparent; + width: 60px; + background: url("/images/download.png") no-repeat scroll 0 0 transparent; + background-position: 3px 5px; + background-size: 7px 8px; border: none; - text-align:center; + text-align:left; display: block; float: left; margin: 0 0 0 4px; - padding: 4px 0 0 0; + padding: 4px 0 0 16px; + color: #6e6e6e; +} + +.readButton +{ + width: 60px; + background: url("/images/read.png") no-repeat scroll 0 0 transparent; + background-position: 24px 5px; + background-size: 7px 9px; + border: none; + text-align:right; + display: block; + float: right; + padding: 4px 10px 0 0; + color: #6e6e6e; } .importedButton { - width: 67px; - height: 18px; - background: url("../images/bt_import.jpg") no-repeat scroll 0 -22px transparent; + width: 60px; + background: url("/images/imported.png") no-repeat scroll 0 0 transparent; + background-position: 2px 6px; + background-size: 8px 6px; border: none; - text-align:center; + text-align:left; display: block; float: left; margin: 0 0 0 4px; - padding: 4px 0 0 0; - text-decoration: none; - font-family: Arial; - color: #FFF; - font-size: 13px; + padding: 4px 0 0 16px; + color: #6e6e6e; } -#librariesList a -{ - width: 256px; - height: 32px; - background: url("../images/bt_library_iphone.jpg") no-repeat scroll 0 0 transparent; - border: none; - display: block; - padding: 9px 0 0 40px; - text-decoration: none; - font-family: Arial; - color: #FFF; - font-size: 13px; + +#indexes{ + border-top: 1px solid #C6C6C6; + background-color: white; + padding: 0px; + margin: 9px 0 0 0; } -#topIndex -{ - width: 100%; - float: right; - margin: 0 24px 15px 0; -} - -#topIndex a -{ - float: right; -} - -#topIndex .next{ - width: 29px; - height: 29px; - border: none; - margin: 0 8px 4px 0; - padding: 5px 0 0 0; - display: block; - background: url("../images/bt_next.jpg") no-repeat scroll 0 0 transparent; - padding: 0; - text-indent: -9999px; -} - -#topIndex .previous{ - width: 29px; - height: 29px; - border: none; - margin: 0 8px 4px 0; - padding: 5px 0 0 0; - display: block; - background: url("../images/bt_previous.jpg") no-repeat scroll 0 0 transparent; - padding: 0; - text-indent: -9999px; -} - -#topIndex .up{ - width: 92px; - height: 29px; - border: none; - margin: 0 8px 4px 0; - padding: 5px 0 0 0; - background: url("../images/bt_libraries.jpg") no-repeat scroll 0 0 transparent; - color: #FFF; - font-size: 17px; - display: block; - text-decoration: none; - font-family: Arial; - font-weight: bold; - text-align:center; -} - -#topIndex .libraries{ - width: 92px; - height: 29px; - border: none; - margin: 0 8px 4px 0; - padding: 6px 0 0 0; - background: url("../images/bt_libraries.jpg") no-repeat scroll 0 0 transparent; - color: #FFF; - font-size: 17px; - display: block; - text-decoration: none; - font-family: Arial; - font-weight: bold; - text-align:center; -} - -#libraryList li -{ - -} - -#libraryList a -{ - width: 256px; - height: 32px; - background: url("../images/bt_library.jpg") no-repeat scroll 0 0 transparent; - border: none; - padding: 8px 0 0 40px; - color: #FFF; - font-size: 14px; - display: block; - text-decoration: none; - font-family: Arial; +.index{ + background-color: white; + margin: 9px 0 9px 0; } #alphaIndex a, #pageIndex a{ width: 29px; - height: 29px; - background: url("../images/bt_index.jpg") no-repeat scroll 0 0 transparent; + height: 24px; border: none; - margin: 0 8px 4px 0; - padding: 5px 0 0 0; - color: #FFF; + margin: 0 0 9px 9px; + padding: 5px 0 0 0px; + color: #5C5C5C; font-size: 20px; + text-align: center; display: block; text-decoration: none; font-family: Arial; - font-weight: bold; + border: 1px solid #E2E2E2; text-align:center; } @@ -249,36 +367,12 @@ margin: 20px 12px 20px 0; } #pageIndex .current{ - background: url("../images/bt_current.jpg") no-repeat scroll 0 0 transparent; - color: #EBEBEB; + color: white; + background-color: #A2A2A2; + border: 1px solid #A2A2A2; + } -#alphaIndex .next, #pageIndex .next { - background: url("../images/bt_next.jpg") no-repeat scroll 0 0 transparent; - padding: 0; - text-indent: -9999px; -} -#alphaIndex .previous, #pageIndex .previous{ - background: url("../images/bt_previous.jpg") no-repeat scroll 0 0 transparent; - padding: 0; - text-indent: -9999px; -} -#alphaIndex .first, #pageIndex .first{ - background: url("../images/bt_first.jpg") no-repeat scroll 0 0 transparent; - padding: 0; - text-indent: -9999px; -} -#alphaIndex .last, #pageIndex .last{ - background: url("../images/bt_last.jpg") no-repeat scroll 0 0 transparent; - padding: 0; - text-indent: -9999px; -} - #content h1, #contentLibraries h1{ - color: #696969; - font-weight: bold; - font-size: 21px; - margin: 0 0 5px 0; - } #content h2, #contentLibraries h2{ color: #000; font-weight: bold; @@ -289,13 +383,13 @@ margin: 20px 12px 20px 0; .inputs_login{ width: 256px; height: 64px; - background: url("../images/fnd_inputs.jpg") no-repeat scroll 0 0 #FFF; + background: url("/images/fnd_inputs.jpg") no-repeat scroll 0 0 #FFF; margin: 0 0 18px 0; } .username{ width: 200px; height: 24px; - background: url("../images/fnd_input_username.jpg") no-repeat scroll 0 0 #2b2b2b; + background: url("/images/fnd_input_username.jpg") no-repeat scroll 0 0 #2b2b2b; border: none; padding: 0 0 0 44px; margin: 5px 0 6px 8px; @@ -305,7 +399,7 @@ margin: 20px 12px 20px 0; .pass{ width: 200px; height: 24px; - background: url("../images/fnd_input_pass.jpg") no-repeat scroll 0 0 #2b2b2b; + background: url("/images/fnd_input_pass.jpg") no-repeat scroll 0 0 #2b2b2b; border: none; padding: 0 0 0 44px; margin: 0 0 0 8px; @@ -315,7 +409,7 @@ margin: 20px 12px 20px 0; .button_sign{ width: 86px; height: 30px; - background: url("../images/bt_login.jpg") no-repeat scroll 0 0 transparent; + background: url("/images/bt_login.jpg") no-repeat scroll 0 0 transparent; border: none; margin: 0; padding: 0; @@ -331,12 +425,7 @@ margin: 20px 12px 20px 0; margin: 0 0 0 8px; line-height: 120%; } -.sombra{ - background: url("../images/bottombox.jpg") no-repeat scroll bottom center #FFF; - width: 734px; - height: 13px; - margin: 0 auto; -} + .clear{ height: 2px; clear: both; @@ -344,11 +433,33 @@ margin: 20px 12px 20px 0; .title{ font-family: Arial; - font-weight: bold; font-size: 12px; margin: 0 0 0 6px; - color: #333; + color: #555555 ; overflow: hidden; word-wrap: break-word; height: 80px; + text-decoration: none; } + +#indexalpha, #indexnumber{ + + -webkit-appearance: none; + background-color: rgba(255,255,255,0); + border-radius: 0px; + border: none; + color: #a3a3a3; + font-size: 16px; + font-family: Arial, Helvetica; + height: 30px; + margin: 0 0 0 10px; + padding:0; + float: right; +} + +.comboIndicator { + float: right; + padding: 14px 0 0 0; + margin: 0 0 0 4px; + width: 5px; +} \ No newline at end of file diff --git a/release/server/docroot/css/styles_iphone.css b/release/server/docroot/css/styles_iphone.css index dc5b1ee6..5a3cd9b1 100644 --- a/release/server/docroot/css/styles_iphone.css +++ b/release/server/docroot/css/styles_iphone.css @@ -1,138 +1,119 @@ body{ - background-color: #363636; + background-color: #F5F5F5; font-family: Arial, Helvetica, sans-serif; } -#content{ - width: 256px; - background: url("../images/topbox.jpg") no-repeat scroll 0 0 #FFF; - margin: 16px auto 0; - padding: 16px; +/* libraries */ +#contentLibraries{ + width: 300px; + border: 1px solid #C6C6C6; + background-color: white; + margin-left: auto; + margin-right: auto; + margin-top: 9px; } -.folder +#contentLibraries .library-icon { -float: left; -} - -.cover -{ -float: left; -} - -.cover img -{ - -webkit-box-shadow: 0px 0px 5px #333; -} - -.index{ - width: 272px; - background: url("../images/topbox.jpg") no-repeat scroll 0 0 #FFF; - margin: 7px auto 0; - padding: 16px 0px 0px 16px; -} - -.info -{ -padding: 8px 0px 0px 0px; -float: left; -position: relative; -height: 110px; -width: 160px; -} - -.buttons -{ -position:absolute; -bottom:0px; -left:0px; -} - -#itemContainer li -{ -float: left; -width: 250px; -height: 120px; -margin: 20px 0 15px 0; -} - -#itemContainer a -{ - text-decoration: none; - font-family: Arial; - color: #FFF; - font-size: 13px; - -} - -.browseButton -{ - width: 67px; - height: 24px; - background: url("../images/bt_browse.jpg") no-repeat scroll 0 0 transparent; - border: none; - text-align:center; - display: block; float: left; - padding: 5px 0 0 0; - margin: 0 0 0 8px; + background-color: white; + height: 18px; + padding: 11px 19px 10px 19px; + display:block; } -.importButton +#contentLibraries li { - width: 67px; - height: 20px; - background: url("../images/bt_import.jpg") no-repeat scroll 0 0 transparent; - border: none; - text-align:center; - display: block; - float: left; - margin: 0 0 0 8px; - padding: 4px 0 0 0; + border-bottom: 1px solid #e2e2e2; + position: relative; + list-style: none; } -.importedButton +#contentLibraries li:last-child { - width: 77px; - height: 20px; - background: url("../images/bt_import.jpg") no-repeat scroll 0 -24px transparent; border: none; - text-align:center; +} + +#contentLibraries .library-link +{ + width: 211px; + height: 28px; + border: none; + padding: 11px 0 0 0px; + background-color: white; display: block; - float: left; - margin: 0 0 0 4px; - padding: 4px 0 0 0; - text-decoration: none; + float:left; font-family: Arial; - color: #FFF; - font-size: 13px; -} - -#librariesList li -{ - - -} - -#librariesList a -{ - width: 256px; - height: 32px; - background: url("../images/bt_library_iphone.jpg") no-repeat scroll 0 0 transparent; - border: none; - display: block; - - padding: 9px 0 0 40px; + font-size: 16px; text-decoration: none; - font-family: Arial; - color: #FFF; - font-size: 13px; + color: #525252 ; +} + + #contentLibraries a +{ + position: absolute; + height: 39px; + width: 100%; + z-index: 10; + display: block; + top 0; + text-decoration: none; +} + +#contentLibraries .library-indicator +{ + float: left; + background-color: white; + height: 8px; + padding: 16px 16px 15px 16px; + display:block; +} + + +#content h1 +{ + color: #292929; + text-align: center; + font-size: 21px; +} + +#contentLibraries h1{ + color: #292929; + text-align: center; + border-bottom: 1px solid #C6C6C6; + font-size: 21px; + padding: 15px 0 16px 0; +} + +#folder-header +{ + position: fixed; + width: 100%; + height: 88px; + background-color: rgba(255,255,255,0.9); + border-bottom: 1px solid #C6C6C6; + z-index: 999; +} + +#folder-subheader1 +{ + width: 100%; + height: 40px; + margin-top: 18px; + +} + +#folder-subheader2 +{ + width: 100%; + padding-left: 16px; } #topIndex { - width: 100%; - margin: 7px 0px 7px 0px; + position: absolute; + left: 16px; + top: 19px; } #topIndex a @@ -140,95 +121,242 @@ margin: 20px 0 15px 0; float: left; } +.indicator { + margin: 0 5px; +} + +.path { + text-decoration: none; + color: #5C5C5C; + font-family: Arial, Helvetica; + font-size: 15px; + +} + +#header-combos +{ + position: absolute; + right: 10px; + top: 15px; + color: #a3a3a3; + width: 160px; +} + #topIndex .next{ - width: 29px; - height: 29px; + width: 25px; + height: 19px; border: none; - margin: 0 8px 4px 0; + margin: 0 21px 4px 0; padding: 5px 0 0 0; display: block; - background: url("../images/bt_next.jpg") no-repeat scroll 0 0 transparent; + background: url("/images/next.png") no-repeat scroll 0 0 transparent; + background-size: 25px 19px; padding: 0; - text-indent: -9999px; + text-indent: -99999px; } #topIndex .previous{ - width: 29px; - height: 29px; + width: 25px; + height: 19px; border: none; - margin: 0 8px 4px 0; + margin: 0 14px 4px 0; padding: 5px 0 0 0; display: block; - background: url("../images/bt_previous.jpg") no-repeat scroll 0 0 transparent; + background: url("/images/prev.png") no-repeat scroll 0 0 transparent; + background-size: 25px 19px; padding: 0; - text-indent: -9999px; + text-indent: -99999px; } #topIndex .up{ - width: 58px; - height: 29px; + width: 15px; + height: 19px; border: none; - margin: 0 8px 4px 0; - padding: 5px 0 0 0; - background: url("../images/bt_up.jpg") no-repeat scroll 0 0 transparent; + background: url("/images/up.png") no-repeat scroll 0 0 transparent; + background-size: 15px 19px; color: #FFF; - font-size: 17px; display: block; - text-decoration: none; - font-family: Arial; - font-weight: bold; - text-align:center; + text-indent: -99999px; } -#topIndex .libraries{ - width: 92px; - height: 29px; - border: none; - margin: 0 8px 4px 0; - padding: 6px 0 0 0; - background: url("../images/bt_libraries.jpg") no-repeat scroll 0 0 transparent; - color: #FFF; - font-size: 17px; - display: block; - text-decoration: none; - font-family: Arial; - font-weight: bold; - text-align:center; -} - -#libraryList li +#itemContainer li { +width: 300px; +height: 120px; +border: 1px solid #E2E2E2; +margin: 9px auto 0px auto; +background-color: white; +overflow: hidden; +position: relative; +} + +.folderContent +{ + padding-top: 90px; +} +/* hasta aquí */ + +.folder +{ +float: left; } -#libraryList a +.cover { - width: 256px; - height: 32px; - background: url("../images/bt_library.jpg") no-repeat scroll 0 0 transparent; - border: none; - padding: 8px 0 0 40px; - color: #FFF; - font-size: 14px; - display: block; - text-decoration: none; +float: left; +overflow: hidden; +} + +.mark +{ + position: absolute; + top: 0px; + margin-left: 55px; +} + +.info +{ +padding: 8px 0px 0px 0px; +float: left; +position: relative; +height: 115px; +width: 212px; + +} + +.buttons +{ + position:absolute; + bottom:0px; + left:0px; + border-top: 1px solid #e2e2e2; + padding-top: 3px; + height: 25px; + width: 220px; font-family: Arial; + color: #6e6e6e; + font-size: 10px; +} + +.elementInfo +{ + position:absolute; + bottom:24px; + padding-top: 3px; + height: 25px; + width: 220px; + font-family: Arial; + color: #adadad; + font-size: 10px; +} + +.numPages +{ + float: left; + padding-left:8px; +} + +.comicSize +{ + float: right; + padding-right: 9px; +} + + + +#itemContainer a +{ + text-decoration: none; + + +} + +.browseButton +{ + width: 60px; + background: url("/images/browse.png") no-repeat scroll 0 0 transparent; + background-position: 16px 5px; + background-size: 7px 7px; + border: none; + text-align:right; + display: block; + float: right; + padding: 4px 10px 0 0; + color: #6e6e6e; +} + +.importButton +{ + width: 60px; + background: url("/images/download.png") no-repeat scroll 0 0 transparent; + background-position: 3px 5px; + background-size: 7px 8px; + border: none; + text-align:left; + display: block; + float: left; + margin: 0 0 0 4px; + padding: 4px 0 0 16px; + color: #6e6e6e; +} + +.readButton +{ + width: 60px; + background: url("/images/read.png") no-repeat scroll 0 0 transparent; + background-position: 24px 5px; + background-size: 7px 9px; + border: none; + text-align:right; + display: block; + float: right; + padding: 4px 10px 0 0; + color: #6e6e6e; +} + +.importedButton +{ + width: 60px; + background: url("/images/imported.png") no-repeat scroll 0 0 transparent; + background-position: 2px 6px; + background-size: 8px 6px; + border: none; + text-align:left; + display: block; + float: left; + margin: 0 0 0 4px; + padding: 4px 0 0 16px; + color: #6e6e6e; +} + + +#indexes{ + border-top: 1px solid #C6C6C6; + background-color: white; + padding: 0px; + margin: 9px 0 0 0; +} + +.index{ + background-color: white; + margin: 9px 0 9px 0; } #alphaIndex a, #pageIndex a{ width: 29px; - height: 29px; - background: url("../images/bt_index.jpg") no-repeat scroll 0 0 transparent; + height: 24px; border: none; - margin: 0 8px 4px 0; - padding: 5px 0 0 0; - color: #FFF; + margin: 0 0 9px 9px; + padding: 5px 0 0 0px; + color: #5C5C5C; font-size: 20px; + text-align: center; display: block; text-decoration: none; font-family: Arial; - font-weight: bold; + border: 1px solid #E2E2E2; text-align:center; } @@ -237,37 +365,13 @@ margin: 20px 0 15px 0; } #pageIndex .current{ - background: url("../images/bt_current.jpg") no-repeat scroll 0 0 transparent; - color: #EBEBEB; + color: white; + background-color: #A2A2A2; + border: 1px solid #A2A2A2; + } -#alphaIndex .next, #pageIndex .next{ - background: url("../images/bt_next.jpg") no-repeat scroll 0 0 transparent; - padding: 0; - text-indent: -9999px; -} -#alphaIndex .previous, #pageIndex .previous{ - background: url("../images/bt_previous.jpg") no-repeat scroll 0 0 transparent; - padding: 0; - text-indent: -9999px; -} -#alphaIndex .first, #pageIndex .first{ - background: url("../images/bt_first.jpg") no-repeat scroll 0 0 transparent; - padding: 0; - text-indent: -9999px; -} -#alphaIndex .last, #pageIndex .last{ - background: url("../images/bt_last.jpg") no-repeat scroll 0 0 transparent; - padding: 0; - text-indent: -9999px; -} - #content h1{ - color: #696969; - font-weight: bold; - font-size: 21px; - margin: 0 0 5px 0; - } - #content h2{ + #content h2, #contentLibraries h2{ color: #000; font-weight: bold; font-size: 12px; @@ -277,13 +381,13 @@ margin: 20px 0 15px 0; .inputs_login{ width: 256px; height: 64px; - background: url("../images/fnd_inputs.jpg") no-repeat scroll 0 0 #FFF; + background: url("/images/fnd_inputs.jpg") no-repeat scroll 0 0 #FFF; margin: 0 0 18px 0; } .username{ width: 200px; height: 24px; - background: url("../images/fnd_input_username.jpg") no-repeat scroll 0 0 #2b2b2b; + background: url("/images/fnd_input_username.jpg") no-repeat scroll 0 0 #2b2b2b; border: none; padding: 0 0 0 44px; margin: 5px 0 6px 8px; @@ -293,7 +397,7 @@ margin: 20px 0 15px 0; .pass{ width: 200px; height: 24px; - background: url("../images/fnd_input_pass.jpg") no-repeat scroll 0 0 #2b2b2b; + background: url("/images/fnd_input_pass.jpg") no-repeat scroll 0 0 #2b2b2b; border: none; padding: 0 0 0 44px; margin: 0 0 0 8px; @@ -303,7 +407,7 @@ margin: 20px 0 15px 0; .button_sign{ width: 86px; height: 30px; - background: url("../images/bt_login.jpg") no-repeat scroll 0 0 transparent; + background: url("/images/bt_login.jpg") no-repeat scroll 0 0 transparent; border: none; margin: 0; padding: 0; @@ -319,12 +423,7 @@ margin: 20px 0 15px 0; margin: 0 0 0 8px; line-height: 120%; } -.sombra{ - background: url("../images/bottombox.jpg") no-repeat scroll bottom center #FFF; - width: 288px; - height: 14px; - margin: 0 auto; -} + .clear{ height: 2px; clear: both; @@ -332,11 +431,33 @@ margin: 20px 0 15px 0; .title{ font-family: Arial; - font-weight: bold; - font-size: 14px; + font-size: 12px; margin: 0 0 0 6px; - color: #333; + color: #555555 ; overflow: hidden; word-wrap: break-word; - height: 80px; + height: 65px; + text-decoration: none; } + +#indexalpha, #indexnumber{ + + -webkit-appearance: none; + background-color: rgba(255,255,255,0); + border-radius: 0px; + border: none; + color: #a3a3a3; + font-size: 16px; + font-family: Arial, Helvetica; + height: 30px; + margin: 0 0 0 10px; + padding:0; + float: right; +} + +.comboIndicator { + float: right; + padding: 14px 0 0 0; + margin: 0 0 0 4px; + width: 5px; +} \ No newline at end of file diff --git a/release/server/docroot/images/bottomboxLibraries_ipad.jpg b/release/server/docroot/images/bottomboxLibraries_ipad.jpg deleted file mode 100644 index 2df2df83..00000000 Binary files a/release/server/docroot/images/bottomboxLibraries_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bottombox_ipad.jpg b/release/server/docroot/images/bottombox_ipad.jpg deleted file mode 100644 index 22633b15..00000000 Binary files a/release/server/docroot/images/bottombox_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bottombox_iphone.jpg b/release/server/docroot/images/bottombox_iphone.jpg deleted file mode 100644 index 2df2df83..00000000 Binary files a/release/server/docroot/images/bottombox_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/browse.png b/release/server/docroot/images/browse.png new file mode 100644 index 00000000..9043aa9d Binary files /dev/null and b/release/server/docroot/images/browse.png differ diff --git a/release/server/docroot/images/browse@2x.png b/release/server/docroot/images/browse@2x.png new file mode 100644 index 00000000..06d5f058 Binary files /dev/null and b/release/server/docroot/images/browse@2x.png differ diff --git a/release/server/docroot/images/bt_browse_ipad.jpg b/release/server/docroot/images/bt_browse_ipad.jpg deleted file mode 100644 index 0657fe2e..00000000 Binary files a/release/server/docroot/images/bt_browse_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_browse_iphone.jpg b/release/server/docroot/images/bt_browse_iphone.jpg deleted file mode 100644 index 52aaf196..00000000 Binary files a/release/server/docroot/images/bt_browse_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_current_ipad.jpg b/release/server/docroot/images/bt_current_ipad.jpg deleted file mode 100644 index 883d7182..00000000 Binary files a/release/server/docroot/images/bt_current_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_current_iphone.jpg b/release/server/docroot/images/bt_current_iphone.jpg deleted file mode 100644 index 883d7182..00000000 Binary files a/release/server/docroot/images/bt_current_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_first_ipad.jpg b/release/server/docroot/images/bt_first_ipad.jpg deleted file mode 100644 index a6bfbcce..00000000 Binary files a/release/server/docroot/images/bt_first_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_first_iphone.jpg b/release/server/docroot/images/bt_first_iphone.jpg deleted file mode 100644 index a6bfbcce..00000000 Binary files a/release/server/docroot/images/bt_first_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_import_ipad.jpg b/release/server/docroot/images/bt_import_ipad.jpg deleted file mode 100644 index c7961f01..00000000 Binary files a/release/server/docroot/images/bt_import_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_import_iphone.jpg b/release/server/docroot/images/bt_import_iphone.jpg deleted file mode 100644 index 27100c20..00000000 Binary files a/release/server/docroot/images/bt_import_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_imported_ipad.jpg b/release/server/docroot/images/bt_imported_ipad.jpg deleted file mode 100644 index 66ce115b..00000000 Binary files a/release/server/docroot/images/bt_imported_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_imported_iphone.jpg b/release/server/docroot/images/bt_imported_iphone.jpg deleted file mode 100644 index 50d99a9b..00000000 Binary files a/release/server/docroot/images/bt_imported_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_index_ipad.jpg b/release/server/docroot/images/bt_index_ipad.jpg deleted file mode 100644 index 03c74de3..00000000 Binary files a/release/server/docroot/images/bt_index_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_index_iphone.jpg b/release/server/docroot/images/bt_index_iphone.jpg deleted file mode 100644 index 03c74de3..00000000 Binary files a/release/server/docroot/images/bt_index_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_last_ipad.jpg b/release/server/docroot/images/bt_last_ipad.jpg deleted file mode 100644 index f78c7ee0..00000000 Binary files a/release/server/docroot/images/bt_last_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_last_iphone.jpg b/release/server/docroot/images/bt_last_iphone.jpg deleted file mode 100644 index f78c7ee0..00000000 Binary files a/release/server/docroot/images/bt_last_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_libraries_ipad.jpg b/release/server/docroot/images/bt_libraries_ipad.jpg deleted file mode 100644 index f3b10cd9..00000000 Binary files a/release/server/docroot/images/bt_libraries_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_libraries_iphone.jpg b/release/server/docroot/images/bt_libraries_iphone.jpg deleted file mode 100644 index f3b10cd9..00000000 Binary files a/release/server/docroot/images/bt_libraries_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_library_iphone.jpg b/release/server/docroot/images/bt_library_iphone.jpg deleted file mode 100644 index 8e2c312d..00000000 Binary files a/release/server/docroot/images/bt_library_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_login_ipad.jpg b/release/server/docroot/images/bt_login_ipad.jpg deleted file mode 100644 index a2879b08..00000000 Binary files a/release/server/docroot/images/bt_login_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_login_iphone.jpg b/release/server/docroot/images/bt_login_iphone.jpg deleted file mode 100644 index a2879b08..00000000 Binary files a/release/server/docroot/images/bt_login_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_next_ipad.jpg b/release/server/docroot/images/bt_next_ipad.jpg deleted file mode 100644 index 4686bc69..00000000 Binary files a/release/server/docroot/images/bt_next_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_next_iphone.jpg b/release/server/docroot/images/bt_next_iphone.jpg deleted file mode 100644 index 4686bc69..00000000 Binary files a/release/server/docroot/images/bt_next_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_previous_ipad.jpg b/release/server/docroot/images/bt_previous_ipad.jpg deleted file mode 100644 index 1fa059d6..00000000 Binary files a/release/server/docroot/images/bt_previous_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_previous_iphone.jpg b/release/server/docroot/images/bt_previous_iphone.jpg deleted file mode 100644 index 1fa059d6..00000000 Binary files a/release/server/docroot/images/bt_previous_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/bt_up_iphone.jpg b/release/server/docroot/images/bt_up_iphone.jpg deleted file mode 100644 index 94623e78..00000000 Binary files a/release/server/docroot/images/bt_up_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/combo.png b/release/server/docroot/images/combo.png new file mode 100644 index 00000000..54edc9fa Binary files /dev/null and b/release/server/docroot/images/combo.png differ diff --git a/release/server/docroot/images/combo@2x.png b/release/server/docroot/images/combo@2x.png new file mode 100644 index 00000000..39e5c700 Binary files /dev/null and b/release/server/docroot/images/combo@2x.png differ diff --git a/release/server/docroot/images/download.png b/release/server/docroot/images/download.png new file mode 100644 index 00000000..10b43d66 Binary files /dev/null and b/release/server/docroot/images/download.png differ diff --git a/release/server/docroot/images/download@2x.png b/release/server/docroot/images/download@2x.png new file mode 100644 index 00000000..98c6ae38 Binary files /dev/null and b/release/server/docroot/images/download@2x.png differ diff --git a/release/server/docroot/images/f.jpg b/release/server/docroot/images/f.jpg deleted file mode 100644 index ba93d1f4..00000000 Binary files a/release/server/docroot/images/f.jpg and /dev/null differ diff --git a/release/server/docroot/images/f.png b/release/server/docroot/images/f.png deleted file mode 100644 index 4af67e45..00000000 Binary files a/release/server/docroot/images/f.png and /dev/null differ diff --git a/release/server/docroot/images/f@2x.png b/release/server/docroot/images/f@2x.png new file mode 100644 index 00000000..e388d804 Binary files /dev/null and b/release/server/docroot/images/f@2x.png differ diff --git a/release/server/docroot/images/fnd_input_pass.jpg b/release/server/docroot/images/fnd_input_pass.jpg deleted file mode 100644 index a332678b..00000000 Binary files a/release/server/docroot/images/fnd_input_pass.jpg and /dev/null differ diff --git a/release/server/docroot/images/fnd_input_username.jpg b/release/server/docroot/images/fnd_input_username.jpg deleted file mode 100644 index c8a2fd9c..00000000 Binary files a/release/server/docroot/images/fnd_input_username.jpg and /dev/null differ diff --git a/release/server/docroot/images/fnd_inputs.jpg b/release/server/docroot/images/fnd_inputs.jpg deleted file mode 100644 index 4a53411d..00000000 Binary files a/release/server/docroot/images/fnd_inputs.jpg and /dev/null differ diff --git a/release/server/docroot/images/imported.png b/release/server/docroot/images/imported.png new file mode 100644 index 00000000..1eaf45d4 Binary files /dev/null and b/release/server/docroot/images/imported.png differ diff --git a/release/server/docroot/images/imported@2x.png b/release/server/docroot/images/imported@2x.png new file mode 100644 index 00000000..41b9ad4e Binary files /dev/null and b/release/server/docroot/images/imported@2x.png differ diff --git a/release/server/docroot/images/indicator.png b/release/server/docroot/images/indicator.png new file mode 100644 index 00000000..138c77a8 Binary files /dev/null and b/release/server/docroot/images/indicator.png differ diff --git a/release/server/docroot/images/indicator@2x.png b/release/server/docroot/images/indicator@2x.png new file mode 100644 index 00000000..9f30e704 Binary files /dev/null and b/release/server/docroot/images/indicator@2x.png differ diff --git a/release/server/docroot/images/library.png b/release/server/docroot/images/library.png new file mode 100644 index 00000000..1a185057 Binary files /dev/null and b/release/server/docroot/images/library.png differ diff --git a/release/server/docroot/images/library@2x.png b/release/server/docroot/images/library@2x.png new file mode 100644 index 00000000..131046c7 Binary files /dev/null and b/release/server/docroot/images/library@2x.png differ diff --git a/release/server/docroot/images/next.png b/release/server/docroot/images/next.png new file mode 100644 index 00000000..06efccc3 Binary files /dev/null and b/release/server/docroot/images/next.png differ diff --git a/release/server/docroot/images/next@2x.png b/release/server/docroot/images/next@2x.png new file mode 100644 index 00000000..ec4feb22 Binary files /dev/null and b/release/server/docroot/images/next@2x.png differ diff --git a/release/server/docroot/images/prev.png b/release/server/docroot/images/prev.png new file mode 100644 index 00000000..43e4805e Binary files /dev/null and b/release/server/docroot/images/prev.png differ diff --git a/release/server/docroot/images/prev@2x.png b/release/server/docroot/images/prev@2x.png new file mode 100644 index 00000000..d505f4f5 Binary files /dev/null and b/release/server/docroot/images/prev@2x.png differ diff --git a/release/server/docroot/images/read.png b/release/server/docroot/images/read.png new file mode 100644 index 00000000..9465a7d5 Binary files /dev/null and b/release/server/docroot/images/read.png differ diff --git a/release/server/docroot/images/read@2x.png b/release/server/docroot/images/read@2x.png new file mode 100644 index 00000000..68ed8715 Binary files /dev/null and b/release/server/docroot/images/read@2x.png differ diff --git a/release/server/docroot/images/readMark.png b/release/server/docroot/images/readMark.png new file mode 100644 index 00000000..b672027d Binary files /dev/null and b/release/server/docroot/images/readMark.png differ diff --git a/release/server/docroot/images/readMark@2x.png b/release/server/docroot/images/readMark@2x.png new file mode 100644 index 00000000..1d9d0d3e Binary files /dev/null and b/release/server/docroot/images/readMark@2x.png differ diff --git a/release/server/docroot/images/readingMark.png b/release/server/docroot/images/readingMark.png new file mode 100644 index 00000000..e37f3c80 Binary files /dev/null and b/release/server/docroot/images/readingMark.png differ diff --git a/release/server/docroot/images/readingMark@2x.png b/release/server/docroot/images/readingMark@2x.png new file mode 100644 index 00000000..589e2e9b Binary files /dev/null and b/release/server/docroot/images/readingMark@2x.png differ diff --git a/release/server/docroot/images/topboxLibraries_ipad.jpg b/release/server/docroot/images/topboxLibraries_ipad.jpg deleted file mode 100644 index c6b0f8a2..00000000 Binary files a/release/server/docroot/images/topboxLibraries_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/topbox_ipad.jpg b/release/server/docroot/images/topbox_ipad.jpg deleted file mode 100644 index 9395548f..00000000 Binary files a/release/server/docroot/images/topbox_ipad.jpg and /dev/null differ diff --git a/release/server/docroot/images/topbox_iphone.jpg b/release/server/docroot/images/topbox_iphone.jpg deleted file mode 100644 index c6b0f8a2..00000000 Binary files a/release/server/docroot/images/topbox_iphone.jpg and /dev/null differ diff --git a/release/server/docroot/images/up.png b/release/server/docroot/images/up.png new file mode 100644 index 00000000..b039b35f Binary files /dev/null and b/release/server/docroot/images/up.png differ diff --git a/release/server/docroot/images/up@2x.png b/release/server/docroot/images/up@2x.png new file mode 100644 index 00000000..d990ce0d Binary files /dev/null and b/release/server/docroot/images/up@2x.png differ diff --git a/release/server/templates/folder_ipad.tpl b/release/server/templates/folder_ipad.tpl index 24aa214e..2051d692 100644 --- a/release/server/templates/folder_ipad.tpl +++ b/release/server/templates/folder_ipad.tpl @@ -1,63 +1,114 @@ - + Folder
- -

BROWSE AND IMPORT

-

{folder.name} {if pageIndex} - PAGE {page} OF {pages}{end pageIndex}

- -
{if pageIndex} {end pageIndex} up Libraries
- -
-
    - {loop element} -
  • {element.name}

    {element.download} {element.browse}
  • - {end element} +
    + +
    +
    {if pageIndex} {end pageIndex} up
    + + +
    +

    {folder.name}

    +
    + +
    + Libraries {library.name} {loop path} {path.name} {end path} +
    +
    + {if pageIndex} + + + {end pageIndex} + + {if alphaIndex} + + + {end alphaIndex} + +
    +
    + + +
    +
      + {loop element} +
    • +
      + +
      +
      +

      {element.name}

      +
      +
      {element.pages} {element.size} +
      +
      {element.download} {element.read} {element.browse} +
      +
      + {element.status} +
    • + {end element} +
    +
     
    +
    +
    + + {if index} +
    + {if alphaIndex} + +
    +
     
    -
    -
     
    - - {if alphaIndex} - -
    - -
     
    -
    -
     
    - - {end alphaIndex} - - - {if pageIndex} - -
    - -
     
    -
    -
     
    - {end pageIndex} - - - - + + {end alphaIndex} + + + {if pageIndex} + +
    + +
     
    +
    + {end pageIndex} +
+ {end index} + + + + + diff --git a/release/server/templates/folder_iphone.tpl b/release/server/templates/folder_iphone.tpl index 231a6843..b94e2c2c 100644 --- a/release/server/templates/folder_iphone.tpl +++ b/release/server/templates/folder_iphone.tpl @@ -1,62 +1,113 @@ - + Folder
- -

BROWSE AND IMPORT

-

{folder.name} {if pageIndex} - PAGE {page} OF {pages} {end pageIndex}

- -
Libraries up {if pageIndex} {end pageIndex}
- -
-
    - {loop element} -
  • {element.name}

    {element.download} {element.browse}
  • - {end element} +
    + +
    +
    {if pageIndex} {end pageIndex} up
    + + +
    +
    + +
    + Libraries {loop path} {path.name} {end path} +
    +
    + {if pageIndex} + + + {end pageIndex} + + {if alphaIndex} + + + {end alphaIndex} + +
    +
    + + +
    +
      + {loop element} +
    • +
      + +
      +
      +

      {element.name}

      +
      +
      {element.pages} {element.size} +
      +
      {element.download} {element.read} {element.browse} +
      +
      + {element.status} +
    • + {end element} +
    +
     
    +
    +
    + + {if index} +
    + {if alphaIndex} + +
    +
     
    -
    -
    -
     
    - - {if alphaIndex} -
    - -
     
    -
    -
     
    - - {end alphaIndex} - - - {if pageIndex} - -
    - -
     
    -
    -
     
    - - {end pageIndex} - - - +
+ + {end alphaIndex} + + + {if pageIndex} + +
+ +
 
+
+ {end pageIndex} +
+ {end index} + + + + + diff --git a/release/server/templates/libraries_ipad.tpl b/release/server/templates/libraries_ipad.tpl index e4bb6a35..e1c7b6eb 100644 --- a/release/server/templates/libraries_ipad.tpl +++ b/release/server/templates/libraries_ipad.tpl @@ -3,20 +3,24 @@ - Login + Libraries
-

LIBRARIES

-

Select a comic library

+

Libraries

-
 
\ No newline at end of file diff --git a/release/server/templates/libraries_iphone.tpl b/release/server/templates/libraries_iphone.tpl index a438be81..e1c7b6eb 100644 --- a/release/server/templates/libraries_iphone.tpl +++ b/release/server/templates/libraries_iphone.tpl @@ -3,20 +3,24 @@ - Login + Libraries -
-

LIBRARIES

-

Select a comic library

+
+

Libraries

-

    +

-
 
\ No newline at end of file