preview num per row 可以被禁用,限制文件名长度
This commit is contained in:
1 parent
c154f9b73a
commit
e9bb78ebfc
7 files changed
+38
-12
No files matched your search
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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("&", "&")
|
||||
.replace("<", "<")
|
||||
@@ -277,7 +282,13 @@ public class Util {
|
||||
.replace("'", "'");
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user