git://git.nikiroo.be
/
fanfix.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
web server: can disable buttons
[fanfix.git]
/
src
/
be
/
nikiroo
/
fanfix
/
library
/
WebLibraryServer.java
diff --git
a/src/be/nikiroo/fanfix/library/WebLibraryServer.java
b/src/be/nikiroo/fanfix/library/WebLibraryServer.java
index 3e2c90605de78b2956290b4b36b56bb8a6a42688..4bd51f47e3a4a141b7fd4b45460a60ba60405ee1 100644
(file)
--- a/
src/be/nikiroo/fanfix/library/WebLibraryServer.java
+++ b/
src/be/nikiroo/fanfix/library/WebLibraryServer.java
@@
-672,7
+672,8
@@
public class WebLibraryServer implements Runnable {
// 1-based (0 = desc)
int chapter = 0;
if (chapterStr != null && !"cover".equals(chapterStr)
// 1-based (0 = desc)
int chapter = 0;
if (chapterStr != null && !"cover".equals(chapterStr)
- && !"metadata".equals(chapterStr) && !"json".equals(chapterStr)) {
+ && !"metadata".equals(chapterStr)
+ && !"json".equals(chapterStr)) {
try {
chapter = Integer.parseInt(chapterStr);
if (chapter < 0) {
try {
chapter = Integer.parseInt(chapterStr);
if (chapter < 0) {
@@
-711,7
+712,7
@@
public class WebLibraryServer implements Runnable {
JSONObject json = JsonIO.toJson(meta);
mimeType = "application/json";
in = new ByteArrayInputStream(json.toString().getBytes());
JSONObject json = JsonIO.toJson(meta);
mimeType = "application/json";
in = new ByteArrayInputStream(json.toString().getBytes());
- }
else if ("json".equals(chapterStr)) {
+ } else if ("json".equals(chapterStr)) {
Story story = story(luid, whitelist);
JSONObject json = JsonIO.toJson(story);
mimeType = "application/json";
Story story = story(luid, whitelist);
JSONObject json = JsonIO.toJson(story);
mimeType = "application/json";
@@
-835,6
+836,12
@@
public class WebLibraryServer implements Runnable {
String first, previous, next, last;
String content;
String first, previous, next, last;
String content;
+ String disabledLeft = "";
+ String disabledRight = "";
+ String disabledZoomReal = "";
+ String disabledZoomWidth = "";
+ String disabledZoomHeight = "";
+
if (paragraph <= 0) {
first = getViewUrl(luid, 1, null);
previous = getViewUrl(luid, (Math.max(chapter - 1, 1)),
if (paragraph <= 0) {
first = getViewUrl(luid, 1, null);
previous = getViewUrl(luid, (Math.max(chapter - 1, 1)),
@@
-847,6
+854,11
@@
public class WebLibraryServer implements Runnable {
content = "<div class='viewer text'>\n"
+ new TextOutput(false).convert(chap, true)
+ "</div>\n";
content = "<div class='viewer text'>\n"
+ new TextOutput(false).convert(chap, true)
+ "</div>\n";
+
+ if (chapter <= 1)
+ disabledLeft = " disabled='disbaled'";
+ if (chapter >= story.getChapters().size())
+ disabledRight = " disabled='disbaled'";
} else {
first = getViewUrl(luid, chapter, 1);
previous = getViewUrl(luid, chapter,
} else {
first = getViewUrl(luid, chapter, 1);
previous = getViewUrl(luid, chapter,
@@
-856,6
+868,11
@@
public class WebLibraryServer implements Runnable {
last = getViewUrl(luid, chapter,
chap.getParagraphs().size());
last = getViewUrl(luid, chapter,
chap.getParagraphs().size());
+ if (paragraph <= 1)
+ disabledLeft = " disabled='disbaled'";
+ if (paragraph >= chap.getParagraphs().size())
+ disabledRight = " disabled='disbaled'";
+
Paragraph para = null;
try {
para = chap.getParagraphs().get(paragraph - 1);
Paragraph para = null;
try {
para = chap.getParagraphs().get(paragraph - 1);
@@
-867,15
+884,20
@@
public class WebLibraryServer implements Runnable {
if (para.getType() == ParagraphType.IMAGE) {
String zoomStyle = "max-width: 100%;";
if (para.getType() == ParagraphType.IMAGE) {
String zoomStyle = "max-width: 100%;";
+ disabledZoomWidth = " disabled='disabled'";
String zoomOption = cookies.get("zoom");
if (zoomOption != null && !zoomOption.isEmpty()) {
if (zoomOption.equals("real")) {
zoomStyle = "";
String zoomOption = cookies.get("zoom");
if (zoomOption != null && !zoomOption.isEmpty()) {
if (zoomOption.equals("real")) {
zoomStyle = "";
+ disabledZoomWidth = "";
+ disabledZoomReal = " disabled='disabled'";
} else if (zoomOption.equals("width")) {
zoomStyle = "max-width: 100%;";
} else if (zoomOption.equals("height")) {
// see height of navbar + optionbar
zoomStyle = "max-height: calc(100% - 128px);";
} else if (zoomOption.equals("width")) {
zoomStyle = "max-width: 100%;";
} else if (zoomOption.equals("height")) {
// see height of navbar + optionbar
zoomStyle = "max-height: calc(100% - 128px);";
+ disabledZoomWidth = "";
+ disabledZoomHeight = " disabled='disabled'";
}
}
content = String.format("" //
}
}
content = String.format("" //
@@
-893,16
+915,16
@@
public class WebLibraryServer implements Runnable {
builder.append(String.format("" //
+ "<div class='bar navbar'>\n" //
builder.append(String.format("" //
+ "<div class='bar navbar'>\n" //
- + "\t<a class='button first' href='%s'><<</a>\n"//
- + "\t<a class='button previous' href='%s'><</a>\n"//
- + "\t<a class='button next' href='%s'>></a>\n"//
- + "\t<a class='button last' href='%s'>>></a>\n"//
+ + "\t<a
%s
class='button first' href='%s'><<</a>\n"//
+ + "\t<a
%s
class='button previous' href='%s'><</a>\n"//
+ + "\t<a
%s
class='button next' href='%s'>></a>\n"//
+ + "\t<a
%s
class='button last' href='%s'>>></a>\n"//
+ "</div>\n" //
+ "%s", //
+ "</div>\n" //
+ "%s", //
- first, //
- previous, //
- next, //
- last, //
+
disabledLeft,
first, //
+
disabledLeft,
previous, //
+
disabledRight,
next, //
+
disabledRight,
last, //
content //
));
content //
));
@@
-918,12
+940,15
@@
public class WebLibraryServer implements Runnable {
if (paragraph > 0) {
builder.append(String.format("" //
if (paragraph > 0) {
builder.append(String.format("" //
- + "\t<a class='button zoomreal' href='%s'>REAL</a>\n"//
- + "\t<a class='button zoomwidth' href='%s'>WIDTH</a>\n"//
- + "\t<a class='button zoomheight' href='%s'>HEIGHT</a>\n"//
+ + "\t<a
%s
class='button zoomreal' href='%s'>REAL</a>\n"//
+ + "\t<a
%s
class='button zoomwidth' href='%s'>WIDTH</a>\n"//
+ + "\t<a
%s
class='button zoomheight' href='%s'>HEIGHT</a>\n"//
+ "</div>\n", //
+ "</div>\n", //
+ disabledZoomReal,
uri + "?optionName=zoom&optionValue=real", //
uri + "?optionName=zoom&optionValue=real", //
+ disabledZoomWidth,
uri + "?optionName=zoom&optionValue=width", //
uri + "?optionName=zoom&optionValue=width", //
+ disabledZoomHeight,
uri + "?optionName=zoom&optionValue=height" //
));
}
uri + "?optionName=zoom&optionValue=height" //
));
}
@@
-1099,4
+1124,10
@@
public class WebLibraryServer implements Runnable {
}
builder.append(">").append(name).append("</option>\n");
}
}
builder.append(">").append(name).append("</option>\n");
}
+
+ public static void main(String[] args) throws IOException {
+ Instance.init();
+ WebLibraryServer web = new WebLibraryServer(false);
+ web.run();
+ }
}
}