From 011e91140cb376a42c481812c00ef2f11d273f56 Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 27 Apr 2013 13:14:43 +0000 Subject: [PATCH] * i2psnark: Improve page nav --- .../src/org/klomp/snark/SnarkManager.java | 4 +- .../org/klomp/snark/web/I2PSnarkServlet.java | 51 +++++++++++++++--- .../snark/light/images/control_back_blue.png | Bin 0 -> 807 bytes .../snark/light/images/control_play_blue.png | Bin 0 -> 717 bytes .../ubergine/images/control_back_blue.png | Bin 0 -> 807 bytes .../ubergine/images/control_play_blue.png | Bin 0 -> 717 bytes .../vanilla/images/control_back_blue.png | Bin 0 -> 807 bytes .../vanilla/images/control_play_blue.png | Bin 0 -> 717 bytes 8 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 installer/resources/themes/snark/light/images/control_back_blue.png create mode 100644 installer/resources/themes/snark/light/images/control_play_blue.png create mode 100644 installer/resources/themes/snark/ubergine/images/control_back_blue.png create mode 100644 installer/resources/themes/snark/ubergine/images/control_play_blue.png create mode 100644 installer/resources/themes/snark/vanilla/images/control_back_blue.png create mode 100644 installer/resources/themes/snark/vanilla/images/control_play_blue.png diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index 16b0e6010..a87448096 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -547,7 +547,9 @@ public class SnarkManager implements CompleteListener { int size = Integer.parseInt(pageSize.trim()); if (size <= 0) size = 999999; - if (size != getPageSize() && size >= 5) { + else if (size < 5) + size = 5; + if (size != getPageSize()) { changed = true; pageSize = Integer.toString(size); _config.setProperty(PROP_PAGE_SIZE, pageSize); diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 33854b8f3..eec53a351 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -522,23 +522,60 @@ public class I2PSnarkServlet extends BasicServlet { } else /** if (snarks.size() > 1) */ { out.write("\n" + " "); + // Page nav if (start > 0) { - int prev = Math.max(0, start - pageSize); - out.write(" " + - "\""" + " "); + int prev = Math.max(0, start - pageSize); + if (prev > 0) { + // Back + out.write(" " + + "\""" + + " "); + } } - if (start + pageSize < snarks.size()) { + // Page count + int total = snarks.size(); + int pages = 1 + (total / pageSize); + if (pages == 1 && start > 0) + pages = 2; + if (pages > 1) { + int page; + if (start + pageSize >= total) + page = pages; + else + page = 1 + (start / pageSize); + out.write(" " + _("Page {0}", page) + thinsp(noThinsp) + pages + " "); + } + if (start + pageSize < total) { int next = start + pageSize; - out.write(" " + + "\""" + + " "); + } + // Last + int last = ((total - 1) / pageSize) * pageSize; + out.write(" " + - "\""" + " "); } diff --git a/installer/resources/themes/snark/light/images/control_back_blue.png b/installer/resources/themes/snark/light/images/control_back_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..7b3f9e6fde420cb3f9454c692bc69b1d39efa280 GIT binary patch literal 807 zcmV+?1K9kDP)Px#24YJ`L;(K){{a7>y{D4^00PfRL_t(I%cYY~Zxd$_hoAl9_1al`Q<6Aw3~mr$ zZPP?elSmxk7@>Xx5LYg_!YAO`I|oF?g;S12s*tcyTlIj7>b9v$UB_vnh+>Dt3AQ)h zwY}bbUk-K`}Q5G=N%ho%)CU$|>O5eJsFP zo@`!T$+YKZt^QIvE*wQs@CJIN?wgyXgLL_qH|ZBZrMOP#JzzBa<;@GbYtBUXM*i$< zA!Ut`Fk=Ap`XQd*<*;#7EgvN|9=^;z1AZ^A)6qwpIM?U4*Dj5B?<{=gSXRQo>qoeL zhys{~%Jf7U+e#Kx<=;EE7WR4gGTQ}8+Vh#av!ACA)>c2M-&$Q>%vuS9db3Xu3Z#JN zTP-qnoNf@29*dDqr3@`N&Nh2m?du=oH5JHRH1_86b8`hNVetC6hY%7e;pb|LN5v{q zf{<|J2AFZ3%+zFIHPfC4aw;%oiKC@6<2J4zB1WPNhbu@a5DbBl0Iwf0mQ0XM_LhJt z6|iH%b8IV)+YJ#yvc2!K@xvY<0f`WjXrxvz5SVeDq&{!}TLl;l2K0gmF&d79FAMEe_wK6%KGtSSX z&@_cmNJ0VQV=-pN;~cg;UX*_8{L{9+`KfXK`{FuVr=M6UX l)>Nmw6MXt#GyNYszXLURd+~xeV<7+l002ovPDHLkV1hXobVL9E literal 0 HcmV?d00001 diff --git a/installer/resources/themes/snark/light/images/control_play_blue.png b/installer/resources/themes/snark/light/images/control_play_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..f8c8ec683edd6a974eacc253332f903d643dbe41 GIT binary patch literal 717 zcmV;;0y6!HP)*bxx-)TO!p6i!Q&%N5)kR|pVJuNho7M&@5o@ZpsgYXg z6pCpqAEgW*0v6~{n89ISU>M4A&V?DNy7MOQX68Ka`MBqf0l?U(ZY+X9l}VLZ)#Om- z;Wxvd@uT21RmKNz1dH$Bj0zp6>Db9B7mX*l{i7uPYA;7kd3g)QVC)rxA$;8vC|jea zS%$3%AWB_OF8f4{mJFo|55c22v$T`7VytGO85j|cC%=pBjskcjxd*)11x{77(<9$R zNrwG!M09PX(8Nd#urDkdGiz{FkfHKZhPUAguyq;A^$wKyj&8EE8)WXSvDl6Q4NN}z z2Zd#i!U*1a7=Vq#3W3jRZ6Z9$+&MVBAqrVEFbBV-XzUqFMNrFnb9RsDb%-T!q1pza zrNBj9g5~vhG_q(g8Ht^6IILQuOJK}cdY)autaf$;u_Hxz{;liNSF+ zP7JVo4aPtM&mF+{jGz3=veK}ME-bIS)D6sEz9#6p*nx(m=)Gd##2kGE&YZW%&7_NU zaJbxh3nsTeLlsIj==Xtu`3s4ZJ3jM?zzC+xEl8DG(CzhM_b>rg=Lda=hWnnX#UBVW zoG_R&W`Q?ax-3JI?gr8ns1oY(%Y_9|I!G4+85=MXv^z2{WgQJlI?w zaoVxPx#24YJ`L;(K){{a7>y{D4^00PfRL_t(I%cYY~Zxd$_hoAl9_1al`Q<6Aw3~mr$ zZPP?elSmxk7@>Xx5LYg_!YAO`I|oF?g;S12s*tcyTlIj7>b9v$UB_vnh+>Dt3AQ)h zwY}bbUk-K`}Q5G=N%ho%)CU$|>O5eJsFP zo@`!T$+YKZt^QIvE*wQs@CJIN?wgyXgLL_qH|ZBZrMOP#JzzBa<;@GbYtBUXM*i$< zA!Ut`Fk=Ap`XQd*<*;#7EgvN|9=^;z1AZ^A)6qwpIM?U4*Dj5B?<{=gSXRQo>qoeL zhys{~%Jf7U+e#Kx<=;EE7WR4gGTQ}8+Vh#av!ACA)>c2M-&$Q>%vuS9db3Xu3Z#JN zTP-qnoNf@29*dDqr3@`N&Nh2m?du=oH5JHRH1_86b8`hNVetC6hY%7e;pb|LN5v{q zf{<|J2AFZ3%+zFIHPfC4aw;%oiKC@6<2J4zB1WPNhbu@a5DbBl0Iwf0mQ0XM_LhJt z6|iH%b8IV)+YJ#yvc2!K@xvY<0f`WjXrxvz5SVeDq&{!}TLl;l2K0gmF&d79FAMEe_wK6%KGtSSX z&@_cmNJ0VQV=-pN;~cg;UX*_8{L{9+`KfXK`{FuVr=M6UX l)>Nmw6MXt#GyNYszXLURd+~xeV<7+l002ovPDHLkV1hXobVL9E literal 0 HcmV?d00001 diff --git a/installer/resources/themes/snark/ubergine/images/control_play_blue.png b/installer/resources/themes/snark/ubergine/images/control_play_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..f8c8ec683edd6a974eacc253332f903d643dbe41 GIT binary patch literal 717 zcmV;;0y6!HP)*bxx-)TO!p6i!Q&%N5)kR|pVJuNho7M&@5o@ZpsgYXg z6pCpqAEgW*0v6~{n89ISU>M4A&V?DNy7MOQX68Ka`MBqf0l?U(ZY+X9l}VLZ)#Om- z;Wxvd@uT21RmKNz1dH$Bj0zp6>Db9B7mX*l{i7uPYA;7kd3g)QVC)rxA$;8vC|jea zS%$3%AWB_OF8f4{mJFo|55c22v$T`7VytGO85j|cC%=pBjskcjxd*)11x{77(<9$R zNrwG!M09PX(8Nd#urDkdGiz{FkfHKZhPUAguyq;A^$wKyj&8EE8)WXSvDl6Q4NN}z z2Zd#i!U*1a7=Vq#3W3jRZ6Z9$+&MVBAqrVEFbBV-XzUqFMNrFnb9RsDb%-T!q1pza zrNBj9g5~vhG_q(g8Ht^6IILQuOJK}cdY)autaf$;u_Hxz{;liNSF+ zP7JVo4aPtM&mF+{jGz3=veK}ME-bIS)D6sEz9#6p*nx(m=)Gd##2kGE&YZW%&7_NU zaJbxh3nsTeLlsIj==Xtu`3s4ZJ3jM?zzC+xEl8DG(CzhM_b>rg=Lda=hWnnX#UBVW zoG_R&W`Q?ax-3JI?gr8ns1oY(%Y_9|I!G4+85=MXv^z2{WgQJlI?w zaoVxPx#24YJ`L;(K){{a7>y{D4^00PfRL_t(I%cYY~Zxd$_hoAl9_1al`Q<6Aw3~mr$ zZPP?elSmxk7@>Xx5LYg_!YAO`I|oF?g;S12s*tcyTlIj7>b9v$UB_vnh+>Dt3AQ)h zwY}bbUk-K`}Q5G=N%ho%)CU$|>O5eJsFP zo@`!T$+YKZt^QIvE*wQs@CJIN?wgyXgLL_qH|ZBZrMOP#JzzBa<;@GbYtBUXM*i$< zA!Ut`Fk=Ap`XQd*<*;#7EgvN|9=^;z1AZ^A)6qwpIM?U4*Dj5B?<{=gSXRQo>qoeL zhys{~%Jf7U+e#Kx<=;EE7WR4gGTQ}8+Vh#av!ACA)>c2M-&$Q>%vuS9db3Xu3Z#JN zTP-qnoNf@29*dDqr3@`N&Nh2m?du=oH5JHRH1_86b8`hNVetC6hY%7e;pb|LN5v{q zf{<|J2AFZ3%+zFIHPfC4aw;%oiKC@6<2J4zB1WPNhbu@a5DbBl0Iwf0mQ0XM_LhJt z6|iH%b8IV)+YJ#yvc2!K@xvY<0f`WjXrxvz5SVeDq&{!}TLl;l2K0gmF&d79FAMEe_wK6%KGtSSX z&@_cmNJ0VQV=-pN;~cg;UX*_8{L{9+`KfXK`{FuVr=M6UX l)>Nmw6MXt#GyNYszXLURd+~xeV<7+l002ovPDHLkV1hXobVL9E literal 0 HcmV?d00001 diff --git a/installer/resources/themes/snark/vanilla/images/control_play_blue.png b/installer/resources/themes/snark/vanilla/images/control_play_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..f8c8ec683edd6a974eacc253332f903d643dbe41 GIT binary patch literal 717 zcmV;;0y6!HP)*bxx-)TO!p6i!Q&%N5)kR|pVJuNho7M&@5o@ZpsgYXg z6pCpqAEgW*0v6~{n89ISU>M4A&V?DNy7MOQX68Ka`MBqf0l?U(ZY+X9l}VLZ)#Om- z;Wxvd@uT21RmKNz1dH$Bj0zp6>Db9B7mX*l{i7uPYA;7kd3g)QVC)rxA$;8vC|jea zS%$3%AWB_OF8f4{mJFo|55c22v$T`7VytGO85j|cC%=pBjskcjxd*)11x{77(<9$R zNrwG!M09PX(8Nd#urDkdGiz{FkfHKZhPUAguyq;A^$wKyj&8EE8)WXSvDl6Q4NN}z z2Zd#i!U*1a7=Vq#3W3jRZ6Z9$+&MVBAqrVEFbBV-XzUqFMNrFnb9RsDb%-T!q1pza zrNBj9g5~vhG_q(g8Ht^6IILQuOJK}cdY)autaf$;u_Hxz{;liNSF+ zP7JVo4aPtM&mF+{jGz3=veK}ME-bIS)D6sEz9#6p*nx(m=)Gd##2kGE&YZW%&7_NU zaJbxh3nsTeLlsIj==Xtu`3s4ZJ3jM?zzC+xEl8DG(CzhM_b>rg=Lda=hWnnX#UBVW zoG_R&W`Q?ax-3JI?gr8ns1oY(%Y_9|I!G4+85=MXv^z2{WgQJlI?w zaoVx