preview num per row 可以被禁用,限制文件名长度

This commit is contained in:
seven332 committed 2014-06-25 16:19:45 +08:00
1 parent c154f9b73a
commit e9bb78ebfc
7 files changed
+38 -12

No files matched your search

+1 -1
View File
@@ -191,7 +191,7 @@
<string name="preview_mode_title">预览图模式</string>
<string name="preview_mode_normal">正常预览图</string>
<string name="preview_mode_large">大预览图</string>
<string name="preview_per_row_title">每行预览图数量(大预览图模式)</string>
<string name="preview_per_row_title">每行预览图数量</string>
<string name="data_settings_title">数据</string>
<string name="cache_data_settings_title">缓存</string>
+1 -1
View File
@@ -192,7 +192,7 @@
<string name="preview_mode_title">Preview mode</string>
<string name="preview_mode_normal">Normal</string>
<string name="preview_mode_large">Large</string>
<string name="preview_per_row_title">Preview number per row(large preview mode)</string>
<string name="preview_per_row_title">Preview number per row</string>
<string name="data_settings_title">Data</string>
<string name="cache_data_settings_title">Cache</string>
@@ -30,6 +30,7 @@ import com.hippo.ehviewer.data.LargePreviewList;
import com.hippo.ehviewer.data.NormalPreviewList;
import com.hippo.ehviewer.data.PreviewList;
import com.hippo.ehviewer.util.Log;
import com.hippo.ehviewer.util.Util;
public class DetailParser {
@@ -117,9 +118,9 @@ public class DetailParser {
if (m.find()) {
re |= DETAIL;
thumb = m.group(1);
title = m.group(2);
title_jpn = m.group(3);
thumb = Util.htmlUnsescape(m.group(1));
title = Util.htmlUnsescape(m.group(2));
title_jpn = Util.htmlUnsescape(m.group(3));
category = EhClient.getType(m.group(4));
uploader = m.group(5);
posted = m.group(6);
@@ -71,11 +71,11 @@ public class ListParser {
gi.category = EhClient.getType(m.group(1));
gi.posted = m.group(2);
if (m.group(3) == null) {
gi.thumb = "http://"
+ m.group(5).replace('~', '/');
gi.thumb = Util.htmlUnsescape("http://"
+ m.group(5).replace('~', '/'));
gi.title = Util.htmlUnsescape(m.group(6));
} else {
gi.thumb = m.group(3);
gi.thumb = Util.htmlUnsescape(m.group(3));
gi.title = Util.htmlUnsescape(m.group(4));
}
@@ -315,6 +315,14 @@ public class SettingsActivity extends AbstractPreferenceActivity {
private AutoListPreference mPreviewMode;
private EditTextPreference mPreviewPerRow;
private void setPPREnabled(String previewMode) {
if (previewMode.equals(Config.PREVIEW_MODE_LARGE))
mPreviewPerRow.setEnabled(true);
else
mPreviewPerRow.setEnabled(false);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -326,24 +334,28 @@ public class SettingsActivity extends AbstractPreferenceActivity {
mPreviewPerRow.setOnPreferenceChangeListener(this);
mPreviewPerRow.setSummary(mPreviewPerRow.getText());
setPPREnabled(mPreviewMode.getValue());
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
final String key = preference.getKey();
if (KEY_PREVIEW_MODE.equals(key)) {
EhInfo.getInstance(mActivity).setPreviewMode((String)newValue);
String newPreviewMode = (String)newValue;
EhInfo.getInstance(mActivity).setPreviewMode(newPreviewMode);
setPPREnabled(newPreviewMode);
} else if (KEY_PREVIEW_PER_ROW.equals(key)) {
try {
int value = Integer.parseInt((String)newValue);
if (value <= 0)
throw new Exception();
mPreviewPerRow.setSummary((String)newValue);
} catch (Exception e) {
new SuperToast(mActivity, R.string.invalid_input, SuperToast.ERROR).show();
return false;
}
mPreviewPerRow.setSummary((String)newValue);
}
return true;
}
+3 -1
View File
@@ -329,7 +329,9 @@ public class Config {
// m for normal, l for large
private static final String KEY_PREVIEW_MODE = "preview_mode";
private static final String DEFAULT_PREVIEW_MODE = "l";
public static final String PREVIEW_MODE_NORMAL = "m";
public static final String PREVIEW_MODE_LARGE = "l";
private static final String DEFAULT_PREVIEW_MODE = PREVIEW_MODE_LARGE;
/**
* reclass 0x1
+12 -1
View File
@@ -269,6 +269,11 @@ public class Util {
}
}
/**
* Mostly title and url need it
* @param str
* @return
*/
public static String htmlUnsescape(String str) {
return str.replace("&amp;", "&")
.replace("&lt;", "<")
@@ -277,7 +282,13 @@ public class Util {
.replace("&#039;", "'");
}
/**
* Make file name valid by removing invalid character and set max length
* @param name
* @return
*/
public static String rightFileName(String name) {
return name.replaceAll("[\\\\|/|:|*|?|\"|<|>|\\|]", "");
name = name.replaceAll("[\\\\|/|:|*|?|\"|<|>|\\|]", "");
return name.length() > 255 ? name.substring(0, 255) : name;
}
}