• R/O
  • HTTP
  • SSH
  • HTTPS

TinyBannavi: Commit

タイニー番組ナビゲータ本体


Commit MetaInfo

Revisión0aa8753cfd729b050181a66f0ace71fdc5ed0635 (tree)
Tiempo2014-11-02 15:16:02
Autorpeeweedee <peeweedee@user...>
Commiterpeeweedee

Log Message

・TVアニメ「Fate/...」のサブタイトル分離がうまくいかない問題を修正
・各種設定のサブタイトル分離設定が①更新してもすぐに反映されない②有効無効の判定が逆転している問題を修正

Cambiar Resumen

Diferencia incremental

--- a/TinyBannavi/src/tainavi/AbsPaperView.java
+++ b/TinyBannavi/src/tainavi/AbsPaperView.java
@@ -295,7 +295,7 @@ public abstract class AbsPaperView extends JPanel implements TickTimerListener,H
295295 public AbsPaperView() {
296296
297297 super();
298-
298+
299299 this.setLayout(new BorderLayout());
300300 this.add(getJTextPane_detail(), BorderLayout.PAGE_START);
301301 this.add(getJSplitPane_view(), BorderLayout.CENTER);
@@ -837,7 +837,7 @@ public abstract class AbsPaperView extends JPanel implements TickTimerListener,H
837837 public void buildMainViewByDate() {
838838
839839 if (env.getDebug()) System.out.println(DBGID+"CALLED buildMainViewByDate()");
840-
840+
841841 if (jLayeredPane_space_main_view_byMakeshift == null) {
842842 jLayeredPane_space_main_view_byMakeshift = new JLayeredPane();
843843 for (int i=0; i<framebuffersize; i++) {
--- a/TinyBannavi/src/tainavi/AbsSettingView.java
+++ b/TinyBannavi/src/tainavi/AbsSettingView.java
@@ -752,7 +752,7 @@ public abstract class AbsSettingView extends JScrollPane {
752752
753753 y+=(PARTS_HEIGHT+SEP_HEIGHT);
754754 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_splitEpno = new JCheckBoxPanel("タイトルに話数が含まれる場合に以降を分離する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
755- jCBP_splitEpno.setSelected( ! env.getSplitEpno());
755+ jCBP_splitEpno.setSelected(env.getSplitEpno());
756756 jCBP_splitEpno.addItemListener(IL_RELOAD_PROG_NEEDED);
757757
758758 y+=(PARTS_HEIGHT+SEP_HEIGHT);
--- a/TinyBannavi/src/tainavi/TVProgramUtils.java
+++ b/TinyBannavi/src/tainavi/TVProgramUtils.java
@@ -523,32 +523,37 @@ public class TVProgramUtils implements Cloneable {
523523 else {
524524 if ( genre == ProgGenre.DORAMA ) {
525525 // ドラマの場合は、"「*」"での分割をしない(土曜ドラマ「タイトル」とかあるため)
526- Matcher mc = Pattern.compile(spep_expr_dorama).matcher(title);
526+ Matcher mc = Pattern.compile(SPEP_EXPR_DORAMA).matcher(title);
527527 if ( mc.find() ) {
528528 return(new String[] { mc.group(1),mc.group(2)+" " });
529529 }
530530 }
531531 else {
532+ String ani = "";
533+ String tit = title;
534+ Matcher mani = Pattern.compile("^(\\s*(?:TV|TV)?アニメ\\s*)(.*)$").matcher(title);
535+ if ( mani.find() ) {
536+ ani = mani.group(1);
537+ tit = mani.group(2);
538+ }
539+
532540 // いきなり「で始まる場合や、タイトル中に『TOKYO「萌」探偵』のように「ほげほげ」を含む場合
533- Matcher mc = Pattern.compile("^([^  ]*「.+?」[^  ]+)(.*)$").matcher(title);
534- if ( mc.find() ) {
535- Matcher md = Pattern.compile("^[  ]*(.*?)[  ]*?"+spep_expr).matcher(mc.group(2));
536- if ( md.find() ) {
537- if ( md.group(1).length() == 0 ) {
538- return(new String[] { mc.group(1),md.group(2)+" " });
539- }
540- else {
541- return(new String[] { mc.group(1)+" "+md.group(1),md.group(2)+" " });
541+ Matcher mc = Pattern.compile("^([^  ]*「.+?」[^  ]+)(.*)$").matcher(tit);
542+ if (mc.find()) {
543+ Matcher md = Pattern.compile("^[  ]*(.*?)[  ]*?" + SPEP_EXPR).matcher(mc.group(2));
544+ if (md.find()) {
545+ if (md.group(1).length() == 0) {
546+ return (new String[]{ani+mc.group(1), md.group(2) + " "});
547+ } else {
548+ return (new String[]{ani+mc.group(1) + " " + md.group(1), md.group(2) + " "});
542549 }
543- }
544- else {
545- return(new String[] { title,"" });
550+ } else {
551+ return (new String[]{ani+tit, ""});
546552 }
547553 }
548- // まあこれが普通
549- mc = Pattern.compile("^(.+?)[  ]*?"+spep_expr).matcher(title);
550- if ( mc.find() ) {
551- return(new String[] { mc.group(1),mc.group(2)+" " });
554+ mc = Pattern.compile("^(.+?)[  ]*?" + SPEP_EXPR).matcher(tit);
555+ if (mc.find()) {
556+ return (new String[]{ani+mc.group(1), mc.group(2) + " "});
552557 }
553558 }
554559 }
@@ -556,10 +561,10 @@ public class TVProgramUtils implements Cloneable {
556561 }
557562
558563 // サブタイトル判定条件
559- private static final String spep_expr = "(([<<]?[((##♯第全「][第]?[12345678901234567890一二三四五六七八九十百千]+?[回話章]?|「).*)$";
564+ private static final String SPEP_EXPR = "(([<<]?[((##♯第全「][第]?[12345678901234567890一二三四五六七八九十百千]+?[回話章]?|「).*)$";
560565
561566 // サブタイトル判定条件(ジャンル=ドラマ専用)
562- private static final String spep_expr_dorama = "^(.+?)[  ]*?(([<<]?[((##♯第全「][第]?[12345678901234567890一二三四五六七八九十百千]+?[回話章]?).*)$";
567+ private static final String SPEP_EXPR_DORAMA = "^(.+?)[  ]*?(([<<]?[((##♯第全「][第]?[12345678901234567890一二三四五六七八九十百千]+?[回話章]?).*)$";
563568
564569
565570 /**
--- a/TinyBannavi/src/tainavi/Viewer.java
+++ b/TinyBannavi/src/tainavi/Viewer.java
@@ -3456,7 +3456,7 @@ public class Viewer extends JFrame implements ChangeListener,TickTimerListener,H
34563456 if ( tvd.isEqualsGenre(ProgGenre.ANIME, null) ) {
34573457 if ( pl.Center.startsWith("NHK") || pl.Center.startsWith("NHK") ) {
34583458 // NHK系で先頭が「アニメ 」ではじまるものから「アニメ 」を削除する
3459- tvd.title = tvd.title.replaceFirst("^アニメ[  ・]+","");
3459+ tvd.title = tvd.title.replaceFirst("^(?:TV|TV)アニメ[  ・]+","");
34603460 tvd.titlePop = TraceProgram.replacePop(tvd.title);
34613461 }
34623462 if ( tvd.title.contains("コメンタリ") || tvd.detail.contains("コメンタリ") ) {
@@ -3741,7 +3741,10 @@ public class Viewer extends JFrame implements ChangeListener,TickTimerListener,H
37413741 listed.setRsvdLineColor((env.getRsvdLineEnhance())?(env.getRsvdLineColor()):(null));
37423742 listed.setPickedLineColor((env.getRsvdLineEnhance())?(env.getPickedLineColor()):(null));
37433743 listed.setCurrentLineColor((env.getCurrentLineEnhance())?(env.getCurrentLineColor()):(null));
3744-
3744+
3745+ //
3746+ paper.updateFonts(env);
3747+
37453748 // システムトレイアイコン
37463749 setTrayIconVisible(env.getShowSysTray());
37473750 setXButtonAction(env.getShowSysTray() && env.getHideToTray());
@@ -5085,7 +5088,7 @@ public class Viewer extends JFrame implements ChangeListener,TickTimerListener,H
50855088 e.printStackTrace();
50865089 System.exit(1);
50875090 }
5088-
5091+
50895092 // 背景色設定ダイアログにフォント名の一覧を設定する
50905093 pcwin.setFontList(vwfont);
50915094
Show on old repository browser