3 import java.awt.Color;
\r
4 import java.awt.Component;
\r
5 import java.awt.Dimension;
\r
6 import java.awt.Font;
\r
7 import java.awt.event.ActionEvent;
\r
8 import java.awt.event.ActionListener;
\r
9 import java.awt.event.ItemEvent;
\r
10 import java.awt.event.ItemListener;
\r
11 import java.awt.event.MouseAdapter;
\r
12 import java.awt.event.MouseEvent;
\r
13 import java.util.Map.Entry;
\r
14 import java.util.regex.Matcher;
\r
15 import java.util.regex.Pattern;
\r
17 import javax.swing.DefaultCellEditor;
\r
18 import javax.swing.DefaultComboBoxModel;
\r
19 import javax.swing.JButton;
\r
20 import javax.swing.JCheckBox;
\r
21 import javax.swing.JComboBox;
\r
22 import javax.swing.JComponent;
\r
23 import javax.swing.JLabel;
\r
24 import javax.swing.JPanel;
\r
25 import javax.swing.JRadioButton;
\r
26 import javax.swing.JScrollPane;
\r
27 import javax.swing.JTable;
\r
28 import javax.swing.JTextField;
\r
29 import javax.swing.ListSelectionModel;
\r
30 import javax.swing.ScrollPaneConstants;
\r
31 import javax.swing.SpringLayout;
\r
32 import javax.swing.UIManager;
\r
33 import javax.swing.border.LineBorder;
\r
34 import javax.swing.event.CellEditorListener;
\r
35 import javax.swing.event.ChangeEvent;
\r
36 import javax.swing.event.ChangeListener;
\r
37 import javax.swing.event.DocumentEvent;
\r
38 import javax.swing.event.DocumentListener;
\r
39 import javax.swing.table.DefaultTableCellRenderer;
\r
40 import javax.swing.table.DefaultTableColumnModel;
\r
41 import javax.swing.table.DefaultTableModel;
\r
42 import javax.swing.table.TableColumn;
\r
44 import tainavi.Env.DblClkCmd;
\r
45 import tainavi.Env.SnapshotFmt;
\r
46 import tainavi.Env.UpdateOn;
\r
47 import tainavi.TVProgram.ProgOption;
\r
52 * @since 3.15.4β {@link Viewer}から分離
\r
54 public abstract class AbsSettingView extends JScrollPane {
\r
56 private static final long serialVersionUID = 1L;
\r
58 public static String getViewName() { return "各種設定"; }
\r
60 public void setDebug(boolean b) { debug = b; }
\r
61 private static boolean debug = false;
\r
63 /*******************************************************************************
\r
65 ******************************************************************************/
\r
67 protected abstract Env getEnv();
\r
68 protected abstract ClipboardInfoList getCbItemEnv();
\r
70 protected abstract VWLookAndFeel getLAFEnv();
\r
71 protected abstract VWFont getFontEnv();
\r
73 protected abstract StatusWindow getStWin();
\r
74 protected abstract StatusTextArea getMWin();
\r
76 protected abstract Component getParentComponent();
\r
77 protected abstract VWColorChooserDialog getCcWin();
\r
79 protected abstract void lafChanged(String lafname);
\r
80 protected abstract void fontChanged(String fn, int fontSize);
\r
81 protected abstract void setEnv(boolean reload_prog);
\r
83 /*******************************************************************************
\r
85 ******************************************************************************/
\r
88 private final Env env = getEnv();
\r
89 private final ClipboardInfoList cbitems = getCbItemEnv();
\r
91 private final StatusWindow StWin = getStWin(); // これは起動時に作成されたまま変更されないオブジェクト
\r
92 private final StatusTextArea MWin = getMWin(); // これは起動時に作成されたまま変更されないオブジェクト
\r
94 private final Component parent = getParentComponent(); // これは起動時に作成されたまま変更されないオブジェクト
\r
95 private final VWColorChooserDialog ccwin = getCcWin(); // これは起動時に作成されたまま変更されないオブジェクト
\r
98 private void StdAppendMessage(String message) { System.out.println(message); }
\r
99 //private void StdAppendError(String message) { System.err.println(message); }
\r
100 private void StWinSetVisible(boolean b) { StWin.setVisible(b); }
\r
101 private void StWinSetLocationCenter(Component frame) { CommonSwingUtils.setLocationCenter(frame, (VWStatusWindow)StWin); }
\r
103 /*******************************************************************************
\r
105 ******************************************************************************/
\r
109 private static final int PARTS_WIDTH = 900;
\r
110 private static final int PARTS_HEIGHT = 30;
\r
111 private static final int SEP_WIDTH = 10;
\r
112 private static final int SEP_HEIGHT = 10;
\r
113 private static final int SEP_HEIGHT_NALLOW = 5;
\r
114 private static final int BLOCK_SEP_HEIGHT = 75;
\r
116 private static final int LABEL_WIDTH = 350;
\r
117 private static final int CCLABEL_WIDTH = 250;
\r
118 private static final int DESCRIPTION_WIDTH = LABEL_WIDTH+PARTS_WIDTH;
\r
120 private static final int UPDATE_WIDTH = 250;
\r
121 private static final int HINT_WIDTH = 700;
\r
123 private static final int PANEL_WIDTH = LABEL_WIDTH+PARTS_WIDTH+SEP_WIDTH*3;
\r
127 private static final Color NOTICEMSG_COLOR = new Color(0,153,153);
\r
130 private static final String TEXT_HINT =
\r
131 "各項目の詳細はプロジェクトWikiに説明があります(http://sourceforge.jp/projects/tainavi/wiki/)。"+
\r
132 "ツールバーのヘルプアイコンをクリックするとブラウザで開きます。";
\r
134 private static final String PARER_REDRAW_NORMAL = "通常";
\r
135 private static final String PARER_REDRAW_CACHE = "再描画時に一週間分をまとめて描画して日付切り替えを高速化する(メモリ消費大)";
\r
136 private static final String PARER_REDRAW_PAGER = "ページャーを有効して一度に描画する放送局数を抑える(メモリ消費抑制、切替時間短縮)";
\r
140 private static final String MSGID = "["+getViewName()+"] ";
\r
141 private static final String ERRID = "[ERROR]"+MSGID;
\r
142 private static final String DBGID = "[DEBUG]"+MSGID;
\r
144 /*******************************************************************************
\r
146 ******************************************************************************/
\r
150 private JPanel jPanel_setting = null;
\r
152 private JPanel jPanel_update = null;
\r
153 private JButton jButton_update = null;
\r
156 private JCheckBoxPanel jCBP_disableFazzySearch = null;
\r
157 private JCheckBoxPanel jCBP_disableFazzySearchReverse = null;
\r
158 private JSliderPanel jSP_defaultFazzyThreshold = null;
\r
159 private JCheckBoxPanel jCBP_syoboFilterByCenters = null;
\r
160 private JCheckBoxPanel jCBP_displayPassedEntry = null;
\r
161 private JCheckBoxPanel jCBP_showRsvPickup = null;
\r
162 private JCheckBoxPanel jCBP_showRsvDup = null;
\r
163 private JCheckBoxPanel jCBP_showRsvUra = null;
\r
164 private JCheckBoxPanel jCBP_rsvdLineEnhance = null;
\r
165 private JLabel jLabel_rsvdLineColor = null;
\r
166 private JCCLabel jCCL_rsvdLineColor = null;
\r
167 private JLabel jLabel_pickedLineColor = null;
\r
168 private JCCLabel jCCL_pickedLineColor = null;
\r
169 private JCCLabel jCCL_matchedKeywordColor = null;
\r
170 private JCheckBoxPanel jCBP_currentLineEnhance = null;
\r
171 private JLabel jLabel_currentLineColor = null;
\r
172 private JCCLabel jCCL_currentLineColor = null;
\r
173 private JSliderPanel jSP_currentAfter = null;
\r
174 private JSliderPanel jSP_currentBefore = null;
\r
175 private JCheckBoxPanel jCBP_showWarnDialog = null;
\r
176 private JCheckBoxPanel jCBP_splitMarkAndTitle = null;
\r
177 private JCheckBoxPanel jCBP_showDetailOnList = null;
\r
178 private JSliderPanel jSP_rsvTargets = null;
\r
179 private JCheckBoxPanel jCBP_rowHeaderVisible = null;
\r
180 private JComboBoxPanel jCBX_dblClkCmd = null;
\r
181 private JSliderPanel jSP_searchResultMax = null;
\r
182 private JSliderPanel jSP_searchResultBufferMax = null;
\r
185 private JRadioButtonPanel jRBP_getPaperRedrawType = null;
\r
186 private JSliderPanel jSP_centerPerPage = null;
\r
187 private JCheckBoxPanel jCBP_allPageSnapshot = null;
\r
188 private JCheckBoxPanel jCBP_tooltipEnable = null;
\r
189 private JSliderPanel jSP_tooltipInitialDelay = null;
\r
190 private JSliderPanel jSP_tooltipDismissDelay = null;
\r
191 private JCheckBoxPanel jCBP_timerbarScrollEnable = null;
\r
192 private JSliderPanel jSP_passedLogLimit = null;
\r
193 private JCheckBoxPanel jCBP_effectComboToPaper = null;
\r
194 private JComboBoxPanel jCBX_snapshotFmt = null;
\r
195 private JCheckBoxPanel jCBP_printSnapshot = null;
\r
198 private JCheckBoxPanel jCBP_displayOnlyExecOnEntry = null;
\r
199 private JCheckBoxPanel jCBP_displayPassedReserve = null;
\r
200 private JCheckBoxPanel jCBP_showOnlyNonrepeated = null;
\r
201 private JCheckBoxPanel jCBP_adjLateNight = null;
\r
202 private JCheckBoxPanel jCBP_rootNodeVisible = null;
\r
203 private JCheckBoxPanel jCBP_syncTreeWidth = null;
\r
204 private JCheckBoxPanel jCBP_shortExtMark = null;
\r
205 private JLabel jLabel_showmarks = null;
\r
206 private JScrollPane jScrollPane_showmarks = null;
\r
207 private JNETable jTable_showmarks = null;
\r
208 private JLabel jLabel_clipboard = null;
\r
209 private JScrollPane jScrollPane_clipboard = null;
\r
210 private JNETable jTable_clipboard = null;
\r
211 private JButton jButton_clipboard_up = null;
\r
212 private JButton jButton_clipboard_down = null;
\r
213 private JLabel jLabel_menuitem = null;
\r
214 private JTextFieldWithPopup jTextField_mikey = null;
\r
215 private JTextFieldWithPopup jTextField_mival = null;
\r
216 private JScrollPane jScrollPane_mitable = null;
\r
217 private JNETable jTable_mitable = null;
\r
218 private JButton jButton_miadd = null;
\r
219 private JButton jButton_midel = null;
\r
220 private JButton jButton_miup = null;
\r
221 private JButton jButton_midown = null;
\r
224 private JCheckBoxPanel jCBP_continueTomorrow = null;
\r
225 private JSliderPanel jSP_cacheTimeLimit = null;
\r
226 private JComboBoxPanel jCBX_shutdownCmd = null;
\r
227 private JCheckBoxPanel jCBP_expandTo8 = null;
\r
228 //private JCheckBoxPanel jCBP_useDetailCache = null;
\r
229 private JCheckBoxPanel jCBP_autoEventIdComplete = null;
\r
230 private JCheckBoxPanel jCBP_splitEpno = null;
\r
231 private JCheckBoxPanel jCBP_traceOnlyTitle = null;
\r
232 private JCheckBoxPanel jCBP_fixTitle = null;
\r
233 private JLabel jLabel_ngword = null;
\r
234 private JTextFieldWithPopup jTextField_ngword = null;
\r
235 private JLabel jLabel_userAgent = null;
\r
236 private JTextFieldWithPopup jTextField_userAgent = null;
\r
237 private JCheckBoxPanel jCBP_useProxy = null;
\r
238 private JLabel jLabel_proxy = null;
\r
239 private JTextFieldWithPopup jTextField_proxyAddr = null;
\r
240 private JTextFieldWithPopup jTextField_proxyPort = null;
\r
241 private JCheckBoxPanel jCBP_useSyobocal = null;
\r
242 private JCheckBoxPanel jCBP_historyOnlyUpdateOnce = null;
\r
243 private JCheckBoxPanel jCBP_usePassedProgram = null;
\r
244 private JSliderPanel jSP_prepPassedProgramCount = null;
\r
247 private JRadioButtonPanel jRBP_getRdReserveDetails = null;
\r
248 private JRadioButtonPanel jRBP_getRdAutoReserves = null;
\r
249 private JRadioButtonPanel jRBP_getRdRecorded = null;
\r
250 private JComboBoxPanel jCBX_recordedSaveScope = null;
\r
253 private JSliderPanel jSP_spoex_extend = null;
\r
254 private JRadioButtonPanel jRBP_overlapUp = null;
\r
255 private JRadioButtonPanel jRBP_overlapDown = null;
\r
256 private JLabel jLabel_autoFolderSelect = null;
\r
257 private JCheckBox jCheckBox_autoFolderSelect = null;
\r
258 private JLabel jLabel_enableCHAVsetting = null;
\r
259 private JCheckBox jCheckBox_enableCHAVsetting = null;
\r
260 private JSliderPanel jSP_rangeLikeRsv = null;
\r
261 private JCheckBoxPanel jCBP_givePriorityToReserved = null;
\r
262 private JCheckBoxPanel jCBP_givePriorityToReservedTitle = null;
\r
263 private JCheckBoxPanel jCBP_adjoiningNotRepetition = null;
\r
264 private JCheckBoxPanel jCBP_rsv_showallite = null;
\r
265 private JLabel jLabel_rsv_itecolor = null;
\r
266 private JCCLabel jCCL_rsv_itecolor = null;
\r
267 private JLabel jLabel_rsv_tunshortcolor = null;
\r
268 private JCCLabel jCCL_rsv_tunshortcolor = null;
\r
269 private JLabel jLabel_rsv_recedcolor = null;
\r
270 private JCCLabel jCCL_rsv_recedcolor = null;
\r
271 private JCheckBoxPanel jCBP_useAutocomplete = null;
\r
274 private JComboBoxPanel jCBX_updateMethod = null;
\r
275 private JCheckBoxPanel jCBP_disableBeep = null;
\r
276 private JCheckBoxPanel jCBP_showSysTray = null;
\r
277 private JCheckBoxPanel jCBP_hideToTray = null;
\r
278 private JCheckBoxPanel jCBP_onlyOneInstance = null;
\r
279 private JLabel jLabel_lookAndFeel = null;
\r
280 private JComboBox jComboBox_lookAndFeel = null;
\r
281 private JLabel jLabel_font = null;
\r
282 private JComboBox jComboBox_font = null;
\r
283 private JComboBox jComboBox_fontSize = null;
\r
284 private JLabel jLabel_fontSample = null;
\r
285 private JCheckBoxPanel jCBP_useGTKRC = null;
\r
286 private JCheckBoxPanel jCBP_useRundll32 = null;
\r
287 private JCheckBoxPanel jCBP_debug = null;
\r
289 private JTextAreaWithPopup jta_help = null;
\r
294 * 特定のコンポーネントを操作した時だけ番組表を再取得してほしい
\r
296 private boolean reload_prog_needed = false;
\r
298 /*******************************************************************************
\r
300 ******************************************************************************/
\r
302 public AbsSettingView() {
\r
306 this.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
\r
307 this.getVerticalScrollBar().setUnitIncrement(25);
\r
308 this.setColumnHeaderView(getJPanel_update());
\r
309 this.setViewportView(getJPanel_setting());
\r
311 setUpdateButtonEnhanced(false);
\r
314 private JPanel getJPanel_update() {
\r
315 if (jPanel_update == null)
\r
317 jPanel_update = new JPanel();
\r
318 jPanel_update.setLayout(new SpringLayout());
\r
320 jPanel_update.setBorder(new LineBorder(Color.GRAY));
\r
322 int y = SEP_HEIGHT;
\r
323 CommonSwingUtils.putComponentOn(jPanel_update, getJButton_update("更新を確定する"), UPDATE_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
325 int yz = SEP_HEIGHT/2;
\r
326 int x = UPDATE_WIDTH+50;
\r
327 CommonSwingUtils.putComponentOn(jPanel_update, getJta_help(), HINT_WIDTH, PARTS_HEIGHT+SEP_HEIGHT, x, yz);
\r
329 y += (PARTS_HEIGHT + SEP_HEIGHT);
\r
332 Dimension d = new Dimension(PANEL_WIDTH,y);
\r
333 jPanel_update.setPreferredSize(d);
\r
335 return jPanel_update;
\r
339 * ActionListenerはGUIの操作では動くがsetSelected()での変更では動かない<BR>
\r
340 * ChangeListenerもItemListenerも同じ値のセットしなおしだと動作しない<BR>
\r
341 * 以下ではFire!するために涙ぐましい努力を行っている<BR>
\r
344 * jcheckbox.setSelected( ! env.isSelected())<BR>
\r
345 * jchackbox.addItemListener()<BR>
\r
346 * jcheckbox.setSelected( ! jcheckbox.isSelected())<BR>
\r
350 private JPanel getJPanel_setting() {
\r
351 if (jPanel_setting == null)
\r
353 jPanel_setting = new JPanel();
\r
354 jPanel_setting.setLayout(new SpringLayout());
\r
357 int y = SEP_HEIGHT;
\r
364 CommonSwingUtils.putComponentOn(jPanel_setting, new JLabel("<<<リスト形式>>>"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
367 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
368 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_disableFazzySearch = new JCheckBoxPanel("番組追跡であいまい検索をしない",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
369 jCBP_disableFazzySearch.setSelected( ! env.getDisableFazzySearch());
\r
372 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
373 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_disableFazzySearchReverse = new JCheckBoxPanel("┗ あいまい検索の逆引きを省略(非推奨)",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
374 jCBP_disableFazzySearchReverse.setSelected(env.getDisableFazzySearchReverse());
\r
377 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
378 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_defaultFazzyThreshold = new JSliderPanel("┗ あいまい検索のデフォルト閾値",LABEL_WIDTH,1,99,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
379 jSP_defaultFazzyThreshold.setValue(env.getDefaultFazzyThreshold());
\r
382 // 連動設定(Fire!がキモイ…)
\r
384 jCBP_disableFazzySearch.addItemListener(al_fazzysearch);
\r
386 jCBP_disableFazzySearch.setSelected( ! jCBP_disableFazzySearch.isSelected());
\r
389 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
390 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※あいまい検索のアルゴリズムにはバイグラムを使用しています(TraceProgram.java参照)"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
392 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg(" 正順では「検索キーワード」の成分が「番組表のタイトル」にどれくらい含まれているかを判定しています。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
394 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg(" 逆順を有効にすると、正順でNG判定になった場合に前者と後者を入れ替えて再判定を行います。取りこぼしが減る場合がある反面、検索ノイズが増える場合もあります。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
396 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg(" 閾値を大きくすると判定が厳しくなります。キーワードが短いためにヒットしまくりで検索ノイズが多くなった場合に、値を大きくしてみてください。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
398 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
399 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_traceOnlyTitle = new JCheckBoxPanel("タイトル中に含まれるサブタイトルは番組追跡の対象にしない",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
400 jCBP_traceOnlyTitle.setSelected(env.getTraceOnlyTitle());
\r
401 jCBP_traceOnlyTitle.addItemListener(IL_RELOAD_PROG_NEEDED);
\r
403 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
404 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_syoboFilterByCenters = new JCheckBoxPanel("しょぼかるの検索結果も有効な放送局のみに絞る",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
405 jCBP_syoboFilterByCenters.setSelected(env.getSyoboFilterByCenters());
\r
408 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
409 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_displayPassedEntry = new JCheckBoxPanel("当日の終了済み番組も表示する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
410 jCBP_displayPassedEntry.setSelected(env.getDisplayPassedEntry());
\r
413 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
414 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_showRsvPickup = new JCheckBoxPanel("ピックアップマーク(★)を表示する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
415 jCBP_showRsvPickup.setSelected(env.getShowRsvPickup());
\r
418 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
419 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_showRsvDup = new JCheckBoxPanel("時間重複マーク(■)を表示する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
420 jCBP_showRsvDup.setSelected(env.getShowRsvDup());
\r
423 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
424 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_showRsvUra = new JCheckBoxPanel("裏番組予約マーク(裏)を表示する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
425 jCBP_showRsvUra.setSelected(env.getShowRsvUra());
\r
429 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
430 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_rsvdLineEnhance = new JCheckBoxPanel("予約行の背景色を変えて強調する",LABEL_WIDTH), LABEL_WIDTH+PARTS_HEIGHT, PARTS_HEIGHT, SEP_WIDTH, y);
\r
431 jCBP_rsvdLineEnhance.setSelected( ! env.getRsvdLineEnhance());
\r
434 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
435 CommonSwingUtils.putComponentOn(jPanel_setting, jLabel_rsvdLineColor = new JLabel("┗ 予約行の背景色"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
436 CommonSwingUtils.putComponentOn(jPanel_setting, jCCL_rsvdLineColor = new JCCLabel("予約行の背景色",env.getRsvdLineColor(),true,parent,ccwin), CCLABEL_WIDTH, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
439 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
440 CommonSwingUtils.putComponentOn(jPanel_setting, jLabel_pickedLineColor = new JLabel("┗ ピックアップ行の背景色"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
441 CommonSwingUtils.putComponentOn(jPanel_setting, jCCL_pickedLineColor = new JCCLabel("ピックアップ行の背景色",env.getPickedLineColor(),true,parent,ccwin), CCLABEL_WIDTH, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
446 jCBP_rsvdLineEnhance.addItemListener(al_rsvdlineenhance);
\r
448 jCBP_rsvdLineEnhance.setSelected( ! jCBP_rsvdLineEnhance.isSelected());
\r
452 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
453 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_currentLineEnhance = new JCheckBoxPanel("現在放送中の行の背景色を変えて強調する",LABEL_WIDTH), LABEL_WIDTH+PARTS_HEIGHT, PARTS_HEIGHT, SEP_WIDTH, y);
\r
454 jCBP_currentLineEnhance.setSelected( ! env.getCurrentLineEnhance());
\r
457 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
458 CommonSwingUtils.putComponentOn(jPanel_setting, jLabel_currentLineColor = new JLabel("┗ 現在放送中行の背景色"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
459 CommonSwingUtils.putComponentOn(jPanel_setting, jCCL_currentLineColor = new JCCLabel("現在放送中行の背景色",env.getCurrentLineColor(),true,parent,ccwin), CCLABEL_WIDTH, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
464 jCBP_currentLineEnhance.addItemListener(al_currentlineenhance);
\r
466 jCBP_currentLineEnhance.setSelected( ! jCBP_currentLineEnhance.isSelected());
\r
469 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
470 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_currentAfter = new JSliderPanel("現在放送中ノードに終了後何分までの番組を表示するか",LABEL_WIDTH,0,60,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
471 jSP_currentAfter.setValue(env.getCurrentAfter()/60);
\r
474 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
475 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_currentBefore = new JSliderPanel("現在放送中ノードに開始前何分までの番組を表示するか",LABEL_WIDTH,0,120,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
476 jSP_currentBefore.setValue(env.getCurrentBefore()/60);
\r
480 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
481 CommonSwingUtils.putComponentOn(jPanel_setting, new JLabel("タイトル中のキーワードにマッチした箇所の強調色"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
482 CommonSwingUtils.putComponentOn(jPanel_setting, jCCL_matchedKeywordColor = new JCCLabel("強調色",env.getMatchedKeywordColor(),false,parent,ccwin), CCLABEL_WIDTH, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
485 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
486 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_showWarnDialog = new JCheckBoxPanel("キーワード削除時に確認ダイアログを表示",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
487 jCBP_showWarnDialog.setSelected(env.getShowWarnDialog());
\r
490 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
491 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_splitMarkAndTitle = new JCheckBoxPanel("オプション表示を個別欄に分離表示",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
492 jCBP_splitMarkAndTitle.setSelected(env.getSplitMarkAndTitle());
\r
495 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
496 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_showDetailOnList = new JCheckBoxPanel("番組詳細列を表示",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
497 jCBP_showDetailOnList.setSelected(env.getShowDetailOnList());
\r
500 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
501 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_rowHeaderVisible = new JCheckBoxPanel("行番号を表示",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
502 jCBP_rowHeaderVisible.setSelected(env.getRowHeaderVisible());
\r
505 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
506 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_rsvTargets = new JSliderPanel("予約待機の予約番組自動選択数",LABEL_WIDTH,1,99,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
507 jSP_rsvTargets.setValue(env.getRsvTargets());
\r
510 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
511 CommonSwingUtils.putComponentOn(jPanel_setting, jCBX_dblClkCmd = new JComboBoxPanel("ダブルクリック時の動作",LABEL_WIDTH,250,true), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
512 for ( DblClkCmd c : DblClkCmd.values() ) {
\r
513 jCBX_dblClkCmd.addItem(c);
\r
515 jCBX_dblClkCmd.setSelectedItem(env.getDblClkCmd());
\r
518 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
519 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_searchResultMax = new JSliderPanel("過去ログ検索件数の上限",LABEL_WIDTH,10,500,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
520 jSP_searchResultMax.setValue(env.getSearchResultMax());
\r
523 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
524 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_searchResultBufferMax = new JSliderPanel("過去ログ検索履歴の上限",LABEL_WIDTH,1,10,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
525 jSP_searchResultBufferMax.setValue(env.getSearchResultBufferMax());
\r
532 y+=(PARTS_HEIGHT+BLOCK_SEP_HEIGHT);
\r
533 CommonSwingUtils.putComponentOn(jPanel_setting, new JLabel("<<<新聞形式>>>"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
536 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
537 int paperredraw_h = PARTS_HEIGHT*3+SEP_HEIGHT_NALLOW*2;
\r
538 CommonSwingUtils.putComponentOn(jPanel_setting, jRBP_getPaperRedrawType = new JRadioButtonPanel("描画方式",LABEL_WIDTH), PARTS_WIDTH, paperredraw_h, SEP_WIDTH, y);
\r
539 jRBP_getPaperRedrawType.add(PARER_REDRAW_NORMAL, false);
\r
540 jRBP_getPaperRedrawType.add(PARER_REDRAW_CACHE, false);
\r
541 jRBP_getPaperRedrawType.add(PARER_REDRAW_PAGER, false);
\r
544 y+=(paperredraw_h+SEP_HEIGHT);
\r
545 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_centerPerPage = new JSliderPanel("┗ ページあたりの放送局数",LABEL_WIDTH,1,99,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
546 jSP_centerPerPage.setValue(env.getCenterPerPage());
\r
549 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
550 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_allPageSnapshot = new JCheckBoxPanel("┗ スナップショットを全ページ連続で実行",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
551 jCBP_allPageSnapshot.setSelected(env.getAllPageSnapshot());
\r
555 jRBP_getPaperRedrawType.addItemListener(il_paperredrawtype);
\r
557 if ( env.isPagerEnabled() ) {
\r
558 jRBP_getPaperRedrawType.setSelectedItem(PARER_REDRAW_PAGER);
\r
560 else if ( env.getDrawcacheEnable() ) {
\r
561 jRBP_getPaperRedrawType.setSelectedItem(PARER_REDRAW_CACHE);
\r
564 jRBP_getPaperRedrawType.setSelectedItem(PARER_REDRAW_NORMAL);
\r
568 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
569 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※切り替えがおっせーよ!忍耐の限界だよ!という場合は新聞形式の設定変更(ツールバーのパレットアイコン)で「番組詳細のフォント設定>表示する」のチェックを外してください。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
572 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
573 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_tooltipEnable = new JCheckBoxPanel("番組表でツールチップを表示する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
574 jCBP_tooltipEnable.setSelected( ! env.getTooltipEnable());
\r
577 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
578 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_tooltipInitialDelay = new JSliderPanel("┗ 表示までの遅延(ミリ秒)",LABEL_WIDTH,0,3000,100,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
579 jSP_tooltipInitialDelay.setValue(env.getTooltipInitialDelay());
\r
582 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
583 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_tooltipDismissDelay = new JSliderPanel("┗ 消去までの遅延(ミリ秒)",LABEL_WIDTH,1000,60000,100,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
584 jSP_tooltipDismissDelay.setValue(env.getTooltipDismissDelay());
\r
589 jCBP_tooltipEnable.addItemListener(al_tooltipenable);
\r
591 jCBP_tooltipEnable.setSelected( ! jCBP_tooltipEnable.isSelected());
\r
594 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
595 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_timerbarScrollEnable = new JCheckBoxPanel("現在時刻線を固定し番組表側をスクロール",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
596 jCBP_timerbarScrollEnable.setSelected(env.getTimerbarScrollEnable());
\r
599 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
600 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_passedLogLimit = new JSliderPanel("過去ログの日付ノードの表示数",LABEL_WIDTH,7,180,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
601 jSP_passedLogLimit.setValue(env.getPassedLogLimit());
\r
604 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
605 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_effectComboToPaper = new JCheckBoxPanel("レコーダコンボボックスを新聞形式でも有効に",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
606 jCBP_effectComboToPaper.setSelected(env.getEffectComboToPaper());
\r
614 y+=(PARTS_HEIGHT+BLOCK_SEP_HEIGHT);
\r
615 CommonSwingUtils.putComponentOn(jPanel_setting, new JLabel("<<<リスト・新聞形式共通>>>"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
617 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
618 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_displayOnlyExecOnEntry = new JCheckBoxPanel("実行ONの予約のみ予約マークを表示する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
619 jCBP_displayOnlyExecOnEntry.setSelected(env.getDisplayOnlyExecOnEntry());
\r
622 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
623 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_displayPassedReserve = new JCheckBoxPanel("当日の終了済み予約も表示する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
624 jCBP_displayPassedReserve.setSelected(env.getDisplayPassedReserve());
\r
627 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
628 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_showOnlyNonrepeated = new JCheckBoxPanel("リピート放送と判定されたら番組追跡に表示しない",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
629 jCBP_showOnlyNonrepeated.setSelected(env.getShowOnlyNonrepeated());
\r
632 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
633 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_adjLateNight = new JCheckBoxPanel("【RD】深夜の帯予約を前にずらす(火~土→月~金)",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
634 jCBP_adjLateNight.setSelected(env.getAdjLateNight());
\r
637 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
638 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※月~金26:00の帯番組は、実際には火~土AM2:00に放送されますので鯛ナビでもそのように帯予約を処理しています。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
640 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg(" しかし、RDのように月~金AM2:00で録画が実行されてしまうような場合にはこれをチェックしてください。帯予約の予約枠を月~金AM2:00で表示するようにします。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
642 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
643 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_rootNodeVisible = new JCheckBoxPanel("ツリーペーンにrootノードを表示させる",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
644 jCBP_rootNodeVisible.setSelected(env.getRootNodeVisible());
\r
647 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
648 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_syncTreeWidth = new JCheckBoxPanel("リスト形式と新聞形式のツリーペーンの幅を同期する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
649 jCBP_syncTreeWidth.setSelected(env.getSyncTreeWidth());
\r
652 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
653 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_shortExtMark = new JCheckBoxPanel("「★延長注意★」を「(延)」に短縮表示",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
654 jCBP_shortExtMark.setSelected(env.getShortExtMark());
\r
657 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
658 CommonSwingUtils.putComponentOn(jPanel_setting, jCBX_snapshotFmt = new JComboBoxPanel("スナップショットの画像形式",LABEL_WIDTH,250,true), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
659 for ( SnapshotFmt s : SnapshotFmt.values() ) {
\r
660 jCBX_snapshotFmt.addItem(s);
\r
662 jCBX_snapshotFmt.setSelectedItem(env.getSnapshotFmt());
\r
665 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
666 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_printSnapshot = new JCheckBoxPanel("スナップショットボタンで印刷を実行する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
667 jCBP_printSnapshot.setSelected(env.getPrintSnapshot());
\r
670 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
671 int marks_h = PARTS_HEIGHT*12;
\r
672 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_showmarks("表示マークの選択"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
673 CommonSwingUtils.putComponentOn(jPanel_setting, getJScrollPane_showmarks(), 320, marks_h, LABEL_WIDTH+SEP_WIDTH, y);
\r
674 // ★★★ RELOADリスナーは getJScrollPane_showmarks()内でつける
\r
676 y+=(marks_h+SEP_HEIGHT);
\r
677 int cbitems_w = 320;
\r
678 int cbitems_h = PARTS_HEIGHT*8;
\r
679 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_clipboard("クリップボードアイテムの選択"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
680 CommonSwingUtils.putComponentOn(jPanel_setting, getJButton_clipboard_up("↑"), 50, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH+10+cbitems_w, y);
\r
681 CommonSwingUtils.putComponentOn(jPanel_setting, getJButton_clipboard_down("↓"), 50, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH+10+cbitems_w, y+PARTS_HEIGHT+SEP_WIDTH);
\r
682 CommonSwingUtils.putComponentOn(jPanel_setting, getJScrollPane_clipboard(), cbitems_w, cbitems_h, LABEL_WIDTH+SEP_WIDTH, y);
\r
685 y += (cbitems_h + SEP_HEIGHT);
\r
686 int mitable_h = PARTS_HEIGHT*8;
\r
690 int mitable_w = col1_w+col2_w;
\r
691 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_menuitem("右クリックメニューの実行アイテム"), LABEL_WIDTH,PARTS_HEIGHT, SEP_WIDTH, y);
\r
692 CommonSwingUtils.putComponentOn(jPanel_setting, getJTextField_mikey(),col1_w, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
693 CommonSwingUtils.putComponentOn(jPanel_setting, getJTextField_mival(),col2_w, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH+col1_w, y);
\r
695 CommonSwingUtils.putComponentOn(jPanel_setting, getJButton_miadd("登録"),75, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH+mitable_w+SEP_WIDTH, yz);
\r
696 CommonSwingUtils.putComponentOn(jPanel_setting, getJButton_midel("削除"),75, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH+mitable_w+SEP_WIDTH, yz += PARTS_HEIGHT+SEP_HEIGHT_NALLOW);
\r
697 CommonSwingUtils.putComponentOn(jPanel_setting, getJButton_miup("↑"), 50, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH+mitable_w+SEP_WIDTH, yz += PARTS_HEIGHT+SEP_HEIGHT);
\r
698 CommonSwingUtils.putComponentOn(jPanel_setting, getJButton_midown("↓"), 50, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH+mitable_w+SEP_WIDTH, yz += PARTS_HEIGHT+SEP_HEIGHT_NALLOW);
\r
699 y += (PARTS_HEIGHT + SEP_HEIGHT);
\r
700 CommonSwingUtils.putComponentOn(jPanel_setting,getJScrollPane_mitable(col1_w,col2_w), mitable_w, mitable_h, LABEL_WIDTH+SEP_WIDTH, y);
\r
708 y+=(mitable_h+BLOCK_SEP_HEIGHT);
\r
709 CommonSwingUtils.putComponentOn(jPanel_setting, new JLabel("<<<Web番組表対応>>>"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
711 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
712 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_continueTomorrow = new JCheckBoxPanel("29時をまたぐ番組を検出し同一視する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
713 jCBP_continueTomorrow.setSelected(env.getContinueTomorrow());
\r
714 jCBP_continueTomorrow.addItemListener(IL_RELOAD_PROG_NEEDED);
\r
717 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
718 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_cacheTimeLimit = new JSliderPanel("番組表キャッシュの有効時間(0:無制限)",LABEL_WIDTH,0,72,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
719 jSP_cacheTimeLimit.setValue((env.getCacheTimeLimit()+1)%73);
\r
722 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
723 CommonSwingUtils.putComponentOn(jPanel_setting, jCBX_shutdownCmd = new JComboBoxPanel("┗ シャットダウンコマンド",LABEL_WIDTH,250,true), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
724 jCBX_shutdownCmd.setEditable(true);
\r
725 jCBX_shutdownCmd.addItem(env.getShutdownCmd());
\r
726 for ( String cmd : Env.SHUTDOWN_COMMANDS ) {
\r
727 jCBX_shutdownCmd.addItem(cmd);
\r
733 jSP_cacheTimeLimit.addChangeListener(cl_cachetimelimit);
\r
735 jSP_cacheTimeLimit.setValue(env.getCacheTimeLimit());
\r
738 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
739 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※起動時に、Web番組表の再取得を自動で「実行させたくない」場合は0にしてください。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
741 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※シャットダウンコマンドを設定すると、Web番組表取得メニューに「CSのみ取得(取得後シャットダウン)」が追加されます。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
743 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
744 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_expandTo8 = new JCheckBoxPanel("可能なら番組表を8日分取得する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
745 jCBP_expandTo8.setSelected(env.getExpandTo8());
\r
746 jCBP_expandTo8.addItemListener(IL_RELOAD_PROG_NEEDED);
\r
748 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
749 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_autoEventIdComplete = new JCheckBoxPanel("予約ダイアログを開いたときに自動で番組IDを取得する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
750 jCBP_autoEventIdComplete.setSelected(env.getAutoEventIdComplete());
\r
753 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
754 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_splitEpno = new JCheckBoxPanel("タイトルに話数が含まれる場合に以降を分離する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
755 jCBP_splitEpno.setSelected(env.getSplitEpno());
\r
756 jCBP_splitEpno.addItemListener(IL_RELOAD_PROG_NEEDED);
\r
758 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
759 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_fixTitle = new JCheckBoxPanel("タイトル先頭の「アニメ 」を削除(NHKのみ)",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
760 jCBP_fixTitle.setSelected(env.getFixTitle());
\r
761 jCBP_fixTitle.addItemListener(IL_RELOAD_PROG_NEEDED);
\r
763 y +=(PARTS_HEIGHT+SEP_HEIGHT);
\r
764 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_ngword("NGワード(;区切りで複数指定可)"), LABEL_WIDTH,PARTS_HEIGHT, SEP_WIDTH, y);
\r
765 CommonSwingUtils.putComponentOn(jPanel_setting, getJTextField_ngword(CommonUtils.joinStr(";", env.getNgword())),600, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
766 jTextField_ngword.getDocument().addDocumentListener(DL_RELOAD_PROG_NEEDED);
\r
769 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
770 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_userAgent("User-Agent"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
771 CommonSwingUtils.putComponentOn(jPanel_setting, getJTextField_userAgent(env.getUserAgent()), 600, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
775 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
776 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_useProxy = new JCheckBoxPanel("HTTPプロキシを有効にする",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
777 jCBP_useProxy.setSelected( ! env.getUseProxy());
\r
780 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
781 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_proxy("┗ HTTPプロキシ/ポート"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
782 CommonSwingUtils.putComponentOn(jPanel_setting, getJTextField_proxyAddr(env.getProxyAddr()), 200, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
783 CommonSwingUtils.putComponentOn(jPanel_setting, getJTextField_proxyPort(env.getProxyPort()), 100, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH+210, y);
\r
788 jCBP_useProxy.addItemListener(al_useproxy);
\r
790 jCBP_useProxy.setSelected( ! jCBP_useProxy.isSelected());
\r
793 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
794 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_useSyobocal = new JCheckBoxPanel("【アニメ】しょぼいカレンダーを利用する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
795 jCBP_useSyobocal.setSelected(env.getUseSyobocal());
\r
796 jCBP_useSyobocal.addItemListener(IL_RELOAD_PROG_NEEDED);
\r
798 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
799 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※アニメなんか興味ないよ!という場合はチェックを外して再起動してください。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
801 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
802 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_historyOnlyUpdateOnce = new JCheckBoxPanel("日に一回しか新着履歴を更新しない",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
803 jCBP_historyOnlyUpdateOnce.setSelected(env.getHistoryOnlyUpdateOnce());
\r
807 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
808 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_usePassedProgram = new JCheckBoxPanel("過去ログを記録する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
809 jCBP_usePassedProgram.setSelected( ! env.getUsePassedProgram());
\r
812 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
813 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_prepPassedProgramCount = new JSliderPanel("┗ 何日先のログまで過去ログ用に保存するか",LABEL_WIDTH,1,8,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
814 jSP_prepPassedProgramCount.setValue(env.getPrepPassedProgramCount());
\r
817 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
818 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※保存期間を4日先までにして1週間旅行に出かけると7日-4日=3日分の過去ログがロストすることになります。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
822 jCBP_usePassedProgram.addItemListener(al_usepassedprogram);
\r
824 jCBP_usePassedProgram.setSelected( ! jCBP_usePassedProgram.isSelected());
\r
831 y+=(PARTS_HEIGHT+BLOCK_SEP_HEIGHT);
\r
832 CommonSwingUtils.putComponentOn(jPanel_setting, new JLabel("<<<レコーダ対応>>>"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
834 int getdetail_h = PARTS_HEIGHT*3+SEP_HEIGHT_NALLOW*2;
\r
837 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
838 CommonSwingUtils.putComponentOn(jPanel_setting, jRBP_getRdReserveDetails = new JRadioButtonPanel("予約一覧取得時に詳細情報も取得する",LABEL_WIDTH), PARTS_WIDTH, getdetail_h, SEP_WIDTH, y);
\r
839 jRBP_getRdReserveDetails.add("毎回確認する",true);
\r
840 jRBP_getRdReserveDetails.add("常に取得する",false);
\r
841 jRBP_getRdReserveDetails.add("常に取得しない",false);
\r
844 y+=(getdetail_h+SEP_HEIGHT);
\r
845 CommonSwingUtils.putComponentOn(jPanel_setting, jRBP_getRdAutoReserves = new JRadioButtonPanel("予約一覧取得時に自動予約一覧も取得する",LABEL_WIDTH), PARTS_WIDTH, getdetail_h, SEP_WIDTH, y);
\r
846 jRBP_getRdAutoReserves.add("毎回確認する",true);
\r
847 jRBP_getRdAutoReserves.add("常に取得する",false);
\r
848 jRBP_getRdAutoReserves.add("常に取得しない",false);
\r
851 y+=(getdetail_h+SEP_HEIGHT);
\r
852 CommonSwingUtils.putComponentOn(jPanel_setting, jRBP_getRdRecorded = new JRadioButtonPanel("予約一覧取得時に録画結果一覧も取得する",LABEL_WIDTH), PARTS_WIDTH, getdetail_h, SEP_WIDTH, y);
\r
853 jRBP_getRdRecorded.add("毎回確認する",true);
\r
854 jRBP_getRdRecorded.add("常に取得する",false);
\r
855 jRBP_getRdRecorded.add("常に取得しない",false);
\r
859 updateSelections();
\r
861 y+=(getdetail_h+SEP_HEIGHT);
\r
862 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※「常に取得しない」を選択した場合でも、ツールバーのプルダウンメニューから強制的に取得を実行できます。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
865 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
866 CommonSwingUtils.putComponentOn(jPanel_setting, jCBX_recordedSaveScope = new JComboBoxPanel("録画結果一覧の保存期間",LABEL_WIDTH,250,true), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
867 jCBX_recordedSaveScope.addItem("保存しない");
\r
868 for ( int n=1; n<=HDDRecorder.SCOPEMAX; n++ ) {
\r
869 jCBX_recordedSaveScope.addItem(String.format("%d日 (%d週)",n,(n/7)+1));
\r
871 jCBX_recordedSaveScope.setSelectedIndex(env.getRecordedSaveScope());
\r
874 y+=(getdetail_h+SEP_HEIGHT);
\r
875 CommonSwingUtils.putComponentOn(jPanel_setting, new JLabel("NULLプラグインでのカレンダ連携設定はレコーダ設定に移動しました"), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
881 y+=(75+BLOCK_SEP_HEIGHT);
\r
882 CommonSwingUtils.putComponentOn(jPanel_setting, new JLabel("<<<予約>>>"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
884 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
885 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_spoex_extend = new JSliderPanel("延長警告の録画時間延長幅(分)",LABEL_WIDTH,0,180,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
886 jSP_spoex_extend.setValue(Integer.valueOf(env.getSpoexLength()));
\r
889 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
890 int ovarlap_h = PARTS_HEIGHT*2+SEP_HEIGHT_NALLOW*1;
\r
891 CommonSwingUtils.putComponentOn(jPanel_setting, jRBP_overlapUp = new JRadioButtonPanel("録画時間の前",LABEL_WIDTH), PARTS_WIDTH, ovarlap_h, SEP_WIDTH, y);
\r
892 jRBP_overlapUp.add("なにもしない",! (env.getOverlapUp()));
\r
893 jRBP_overlapUp.add("1分前倒し",(env.getOverlapUp()));
\r
896 y+=(ovarlap_h+SEP_HEIGHT);
\r
897 int ovarlap2_h = PARTS_HEIGHT*3+SEP_HEIGHT_NALLOW*2;
\r
898 CommonSwingUtils.putComponentOn(jPanel_setting, jRBP_overlapDown = new JRadioButtonPanel("録画時間の後ろ",LABEL_WIDTH), PARTS_WIDTH, ovarlap2_h, SEP_WIDTH, y);
\r
899 jRBP_overlapDown.add("なにもしない",! (env.getOverlapDown() || env.getOverlapDown2()));
\r
900 jRBP_overlapDown.add("1分延ばす",(env.getOverlapDown()));
\r
901 jRBP_overlapDown.add("1分短縮(NHK以外)",(env.getOverlapDown2()));
\r
904 y+=(ovarlap2_h+SEP_HEIGHT);
\r
905 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_autoFolderSelect("自動フォルダ選択を有効にする"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
906 CommonSwingUtils.putComponentOn(jPanel_setting, getJCheckBox_autoFolderSelect(env.getAutoFolderSelect()), 100, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
909 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
910 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_enableCHAVsetting("AV自動設定キーをジャンルからCHに"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
911 CommonSwingUtils.putComponentOn(jPanel_setting, getJCheckBox_enableCHAVsetting(env.getEnableCHAVsetting()), 100, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
914 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
915 CommonSwingUtils.putComponentOn(jPanel_setting, jSP_rangeLikeRsv = new JSliderPanel("類似予約の検索時間範囲(0:無制限)",LABEL_WIDTH,0,24,200), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
916 jSP_rangeLikeRsv.setValue(env.getRangeLikeRsv());
\r
920 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
921 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_givePriorityToReserved = new JCheckBoxPanel("類似予約がある場合は情報を引き継ぐ",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
922 jCBP_givePriorityToReserved.setSelected( ! env.getGivePriorityToReserved());
\r
925 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
926 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_givePriorityToReservedTitle = new JCheckBoxPanel("┗ 類似予約のタイトルを引き継ぐ",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
927 jCBP_givePriorityToReservedTitle.setSelected(env.getGivePriorityToReservedTitle());
\r
932 jCBP_givePriorityToReserved.addItemListener(al_giveprioritytoreserved);
\r
934 jCBP_givePriorityToReserved.setSelected( ! jCBP_givePriorityToReserved.isSelected());
\r
937 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
938 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_adjoiningNotRepetition = new JCheckBoxPanel("終了時刻と開始時刻が重なる番組でも重複扱いしない",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
939 jCBP_adjoiningNotRepetition.setSelected(env.getAdjoiningNotRepetition());
\r
943 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
944 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_rsv_showallite = new JCheckBoxPanel("予約一覧で繰り返し予約を展開する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
945 jCBP_rsv_showallite.setSelected( ! env.getShowAllIterationItem());
\r
948 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
949 CommonSwingUtils.putComponentOn(jPanel_setting, jLabel_rsv_itecolor = new JLabel("┗ 展開した繰り返し予約の2回目以降の文字色"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
950 CommonSwingUtils.putComponentOn(jPanel_setting, jCCL_rsv_itecolor = new JCCLabel("文字色",env.getIterationItemForeground(),false,parent,ccwin), CCLABEL_WIDTH, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
953 jCBP_rsv_showallite.addItemListener(al_showallite);
\r
956 jCBP_rsv_showallite.setSelected( ! jCBP_rsv_showallite.isSelected());
\r
959 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
960 CommonSwingUtils.putComponentOn(jPanel_setting, jLabel_rsv_tunshortcolor = new JLabel("チューナー不足警告の背景色"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
961 CommonSwingUtils.putComponentOn(jPanel_setting, jCCL_rsv_tunshortcolor = new JCCLabel("チューナー不足警告の背景色",env.getTunerShortColor(),true,parent,ccwin), CCLABEL_WIDTH, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
964 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
965 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※チューナー不足警告は、レコーダの予約一覧上に表示される警告情報を反映しています。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
967 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※EDCBの場合、チューナー不足警告は鯛ナビからの予約アクションでは更新されませんので、必要に応じて予約一覧の再取得を行って更新してください。"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
969 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
970 CommonSwingUtils.putComponentOn(jPanel_setting, jLabel_rsv_recedcolor = new JLabel("正常録画済み(と思われる)予約の背景色"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
971 CommonSwingUtils.putComponentOn(jPanel_setting, jCCL_rsv_recedcolor = new JCCLabel("正常録画済み(と思われる)予約の背景色",env.getRecordedColor(),true,parent,ccwin), CCLABEL_WIDTH, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
974 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
975 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_useAutocomplete = new JCheckBoxPanel("【RD】タイトル自動補完機能を使用する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
976 jCBP_useAutocomplete.setSelected(env.getUseAutocomplete());
\r
983 y+=(PARTS_HEIGHT+BLOCK_SEP_HEIGHT);
\r
984 CommonSwingUtils.putComponentOn(jPanel_setting, new JLabel("<<<その他>>>"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
986 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
987 CommonSwingUtils.putComponentOn(jPanel_setting, jCBX_updateMethod = new JComboBoxPanel("起動時にアップデートを確認する",LABEL_WIDTH,250,true), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
988 for ( UpdateOn u : UpdateOn.values() ) {
\r
989 jCBX_updateMethod.addItem(u);
\r
991 jCBX_updateMethod.setSelectedItem(env.getUpdateMethod());
\r
994 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
995 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_disableBeep = new JCheckBoxPanel("beep禁止",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
996 jCBP_disableBeep.setSelected(env.getDisableBeep());
\r
1000 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
1001 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_showSysTray = new JCheckBoxPanel("システムトレイにアイコンを表示",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
1002 jCBP_showSysTray.setSelected( ! env.getShowSysTray());
\r
1005 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
1006 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_hideToTray = new JCheckBoxPanel("┗ 最小化時はシステムトレイに隠す",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
1007 jCBP_hideToTray.setSelected(env.getHideToTray());
\r
1012 jCBP_showSysTray.addItemListener(al_showsystray);
\r
1014 jCBP_showSysTray.setSelected( ! jCBP_showSysTray.isSelected());
\r
1017 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
1018 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_onlyOneInstance = new JCheckBoxPanel("多重起動禁止(要再起動)",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
1019 jCBP_onlyOneInstance.setSelected(env.getOnlyOneInstance());
\r
1022 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
1023 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_lookAndFeel("ルック&フィール"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
1024 CommonSwingUtils.putComponentOn(jPanel_setting, getJComboBox_lookAndFeel(), 250, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
1027 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
1028 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_font("表示フォント"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
1029 CommonSwingUtils.putComponentOn(jPanel_setting, getJComboBox_font(), 250, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
1030 CommonSwingUtils.putComponentOn(jPanel_setting, getJComboBox_fontSize(), 100, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH+260, y);
\r
1033 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
1034 CommonSwingUtils.putComponentOn(jPanel_setting, new JLabel("┗ 表示サンプル"), LABEL_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
1035 CommonSwingUtils.putComponentOn(jPanel_setting, getJLabel_fontSample(""), 360, PARTS_HEIGHT, LABEL_WIDTH+SEP_WIDTH, y);
\r
1037 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
1038 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_useGTKRC = new JCheckBoxPanel("鯛ナビ専用のgtkrcを使う",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
1039 jCBP_useGTKRC.setSelected(env.getUseGTKRC());
\r
1041 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
1042 CommonSwingUtils.putComponentOn(jPanel_setting, getNoticeMsg("※ルック&フィールがGTKの場合は再起動するまで表示フォントの設定は反映されません(@see env/_gtkrc-2.0)"), DESCRIPTION_WIDTH, PARTS_HEIGHT, SEP_WIDTH*2, y);
\r
1044 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
1045 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_useRundll32 = new JCheckBoxPanel("【Win】ファイルオープンにrundll32を使用する",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
1046 jCBP_useRundll32.setSelected(env.getUseRundll32());
\r
1049 y+=(PARTS_HEIGHT+SEP_HEIGHT);
\r
1050 CommonSwingUtils.putComponentOn(jPanel_setting, jCBP_debug = new JCheckBoxPanel("【注意】デバッグログ出力を有効にする",LABEL_WIDTH), PARTS_WIDTH, PARTS_HEIGHT, SEP_WIDTH, y);
\r
1051 jCBP_debug.setSelected(env.getDebug());
\r
1054 y += (PARTS_HEIGHT + 50);
\r
1057 Dimension d = new Dimension(PANEL_WIDTH,y);
\r
1058 jPanel_setting.setPreferredSize(d);
\r
1061 return jPanel_setting;
\r
1064 /*******************************************************************************
\r
1066 ******************************************************************************/
\r
1069 private void updateEnvs() {
\r
1071 TatCount tc = new TatCount();
\r
1075 new SwingBackgroundWorker(false) {
\r
1078 protected Object doWorks() throws Exception {
\r
1080 StWin.appendMessage(MSGID+"設定を保存します");
\r
1085 env.setDisableFazzySearch(jCBP_disableFazzySearch.isSelected());
\r
1086 env.setDisableFazzySearchReverse(jCBP_disableFazzySearchReverse.isSelected());
\r
1087 env.setDefaultFazzyThreshold(jSP_defaultFazzyThreshold.getValue());
\r
1088 env.setSyoboFilterByCenters(jCBP_syoboFilterByCenters.isSelected());
\r
1089 env.setDisplayPassedEntry(jCBP_displayPassedEntry.isSelected());
\r
1090 env.setShowRsvPickup(jCBP_showRsvPickup.isSelected());
\r
1091 env.setShowRsvDup(jCBP_showRsvDup.isSelected());
\r
1092 env.setShowRsvUra(jCBP_showRsvUra.isSelected());
\r
1093 env.setRsvdLineEnhance(jCBP_rsvdLineEnhance.isSelected());
\r
1094 env.setRsvdLineColor(jCCL_rsvdLineColor.getChoosed());
\r
1095 env.setPickedLineColor(jCCL_pickedLineColor.getChoosed());
\r
1096 env.setCurrentLineEnhance(jCBP_currentLineEnhance.isSelected());
\r
1097 env.setCurrentLineColor(jCCL_currentLineColor.getChoosed());
\r
1098 env.setCurrentAfter(jSP_currentAfter.getValue()*60);
\r
1099 env.setCurrentBefore(jSP_currentBefore.getValue()*60);
\r
1100 env.setMatchedKeywordColor(jCCL_matchedKeywordColor.getChoosed());
\r
1101 env.setShowWarnDialog(jCBP_showWarnDialog.isSelected());
\r
1102 env.setSplitMarkAndTitle(jCBP_splitMarkAndTitle.isSelected());
\r
1103 env.setShowDetailOnList(jCBP_showDetailOnList.isSelected());
\r
1104 env.setRsvTargets(jSP_rsvTargets.getValue());
\r
1105 env.setRowHeaderVisible(jCBP_rowHeaderVisible.isSelected());
\r
1106 env.setDblClkCmd((DblClkCmd) jCBX_dblClkCmd.getSelectedItem());
\r
1107 env.setSearchResultMax(jSP_searchResultMax.getValue());
\r
1108 env.setSearchResultBufferMax(jSP_searchResultBufferMax.getValue());
\r
1112 String selected = jRBP_getPaperRedrawType.getSelectedItem().getText();
\r
1113 if ( PARER_REDRAW_PAGER.equals(selected) ) {
\r
1114 env.setDrawcacheEnable(false);
\r
1115 env.setCenterPerPage(jSP_centerPerPage.getValue());
\r
1117 else if ( PARER_REDRAW_CACHE.equals(selected) ) {
\r
1118 env.setDrawcacheEnable(true);
\r
1119 env.setCenterPerPage(0);
\r
1121 else if ( PARER_REDRAW_NORMAL.equals(selected) ) {
\r
1122 env.setDrawcacheEnable(false);
\r
1123 env.setCenterPerPage(0);
\r
1126 env.setAllPageSnapshot(jCBP_allPageSnapshot.isSelected());
\r
1127 env.setTooltipEnable(jCBP_tooltipEnable.isSelected());
\r
1128 env.setTooltipInitialDelay(jSP_tooltipInitialDelay.getValue());
\r
1129 env.setTooltipDismissDelay(jSP_tooltipDismissDelay.getValue());
\r
1130 env.setTimerbarScrollEnable(jCBP_timerbarScrollEnable.isSelected());
\r
1131 env.setPassedLogLimit(jSP_passedLogLimit.getValue());
\r
1132 env.setEffectComboToPaper(jCBP_effectComboToPaper.isSelected());
\r
1133 env.setSnapshotFmt((SnapshotFmt) jCBX_snapshotFmt.getSelectedItem());
\r
1134 env.setPrintSnapshot(jCBP_printSnapshot.isSelected());
\r
1137 env.setDisplayOnlyExecOnEntry(jCBP_displayOnlyExecOnEntry.isSelected());
\r
1138 env.setDisplayPassedReserve(jCBP_displayPassedReserve.isSelected());
\r
1139 env.setShowOnlyNonrepeated(jCBP_showOnlyNonrepeated.isSelected());
\r
1140 env.setAdjLateNight(jCBP_adjLateNight.isSelected());
\r
1141 env.setRootNodeVisible(jCBP_rootNodeVisible.isSelected());
\r
1142 env.setSyncTreeWidth(jCBP_syncTreeWidth.isSelected());
\r
1143 env.setShortExtMark(jCBP_shortExtMark.isSelected());
\r
1144 for (int row=0; row<jTable_showmarks.getRowCount(); row++) {
\r
1145 env.getOptMarks().put((TVProgram.ProgOption) jTable_showmarks.getValueAt(row, 2), (Boolean) jTable_showmarks.getValueAt(row, 0));
\r
1147 for (int row=0; row<jTable_clipboard.getRowCount(); row++) {
\r
1148 cbitems.get(row).setB((Boolean)jTable_clipboard.getValueAt(row, 0));
\r
1149 cbitems.get(row).setItem((String)jTable_clipboard.getValueAt(row, 1));
\r
1150 cbitems.get(row).setId((Integer)jTable_clipboard.getValueAt(row, 2));
\r
1152 env.getTvCommand().removeAll(env.getTvCommand());
\r
1153 for (int row = 0; row < jTable_mitable.getRowCount(); row++) {
\r
1154 TextValueSet tv = new TextValueSet();
\r
1155 tv.setText((String) jTable_mitable.getValueAt(row, 0));
\r
1156 tv.setValue((String) jTable_mitable.getValueAt(row, 1));
\r
1157 env.getTvCommand().add(tv);
\r
1161 env.setContinueTomorrow(jCBP_continueTomorrow.isSelected());
\r
1162 env.setCacheTimeLimit(jSP_cacheTimeLimit.getValue());
\r
1163 if ( env.getCacheTimeLimit() == 0 ) {
\r
1164 env.setShutdownCmd((String) jCBX_shutdownCmd.getSelectedItem());
\r
1167 env.setShutdownCmd("");
\r
1169 env.setExpandTo8(jCBP_expandTo8.isSelected());
\r
1170 //env.setUseDetailCache(jCBP_useDetailCache.isSelected());
\r
1171 env.setUseDetailCache(false);
\r
1172 env.setAutoEventIdComplete(jCBP_autoEventIdComplete.isSelected());
\r
1173 env.setSplitEpno(jCBP_splitEpno.isSelected());
\r
1174 env.setTraceOnlyTitle(jCBP_traceOnlyTitle.isSelected());
\r
1175 env.setFixTitle(jCBP_fixTitle.isSelected());
\r
1176 env.setNgword(jTextField_ngword.getText());
\r
1177 env.setUserAgent(jTextField_userAgent.getText());
\r
1178 env.setUseProxy(jCBP_useProxy.isSelected());
\r
1179 env.setProxyAddr((String)jTextField_proxyAddr.getText());
\r
1180 env.setProxyPort((String)jTextField_proxyPort.getText());
\r
1181 env.setUseSyobocal(jCBP_useSyobocal.isSelected());
\r
1182 env.setHistoryOnlyUpdateOnce(jCBP_historyOnlyUpdateOnce.isSelected());
\r
1183 env.setUsePassedProgram(jCBP_usePassedProgram.isSelected());
\r
1184 env.setPrepPassedProgramCount(jSP_prepPassedProgramCount.getValue());
\r
1187 env.setForceLoadReserveDetails(jRBP_getRdReserveDetails.getSelectedIndex());
\r
1188 env.setForceLoadAutoReserves(jRBP_getRdAutoReserves.getSelectedIndex());
\r
1189 env.setForceLoadRecorded(jRBP_getRdRecorded.getSelectedIndex());
\r
1190 env.setRecordedSaveScope(jCBX_recordedSaveScope.getSelectedIndex());
\r
1193 env.setSpoexLength(String.format("%d",jSP_spoex_extend.getValue()));
\r
1194 idx = jRBP_overlapUp.getSelectedIndex();
\r
1197 env.setOverlapUp(true);
\r
1200 env.setOverlapUp(false);
\r
1203 idx = jRBP_overlapDown.getSelectedIndex();
\r
1206 env.setOverlapDown(true);
\r
1207 env.setOverlapDown2(false);
\r
1210 env.setOverlapDown(false);
\r
1211 env.setOverlapDown2(true);
\r
1214 env.setOverlapDown(false);
\r
1215 env.setOverlapDown2(false);
\r
1218 env.setAutoFolderSelect(jCheckBox_autoFolderSelect.isSelected());
\r
1219 env.setEnableCHAVsetting(jCheckBox_enableCHAVsetting.isSelected());
\r
1220 env.setRangeLikeRsv(jSP_rangeLikeRsv.getValue());
\r
1221 env.setGivePriorityToReserved(jCBP_givePriorityToReserved.isSelected());
\r
1222 env.setGivePriorityToReservedTitle(jCBP_givePriorityToReservedTitle.isSelected());
\r
1223 env.setAdjoiningNotRepetition(jCBP_adjoiningNotRepetition.isSelected());
\r
1224 env.setShowAllIterationItem(jCBP_rsv_showallite.isSelected());
\r
1225 env.setIterationItemForeground(jCCL_rsv_itecolor.getChoosed());
\r
1226 env.setTunerShortColor(jCCL_rsv_tunshortcolor.getChoosed());
\r
1227 env.setRecordedColor(jCCL_rsv_recedcolor.getChoosed());
\r
1228 env.setUseAutocomplete(jCBP_useAutocomplete.isSelected());
\r
1231 env.setUpdateMethod((UpdateOn) jCBX_updateMethod.getSelectedItem());
\r
1232 env.setDisableBeep(jCBP_disableBeep.isSelected());
\r
1233 env.setShowSysTray(jCBP_showSysTray.isSelected());
\r
1234 env.setHideToTray(jCBP_hideToTray.isSelected());
\r
1235 env.setOnlyOneInstance(jCBP_onlyOneInstance.isSelected());
\r
1236 env.setLookAndFeel((String) jComboBox_lookAndFeel.getSelectedItem());
\r
1237 env.setFontName((String) jComboBox_font.getSelectedItem());
\r
1238 env.setFontSize(Integer.valueOf((String) jComboBox_fontSize.getSelectedItem()));
\r
1239 env.setUseGTKRC(jCBP_useGTKRC.isSelected());
\r
1240 env.setUseRundll32(jCBP_useRundll32.isSelected());
\r
1241 env.setDebug(jCBP_debug.isSelected());
\r
1244 setEnv(reload_prog_needed);
\r
1245 setUpdateButtonEnhanced(false);
\r
1251 protected void doFinally() {
\r
1252 StWinSetVisible(false);
\r
1256 StWinSetLocationCenter(parent);
\r
1257 StWinSetVisible(true);
\r
1259 MWin.appendMessage(String.format(MSGID+"更新が完了しました。所要時間: %.2f秒",tc.end()));
\r
1263 * 各種設定タブ以外で変更したenvの内容をタブに反映する
\r
1265 public void updateSelections() {
\r
1266 jRBP_getRdReserveDetails.setSelectedIndex(env.getForceLoadReserveDetails());
\r
1267 jRBP_getRdAutoReserves.setSelectedIndex(env.getForceLoadAutoReserves());
\r
1268 jRBP_getRdRecorded.setSelectedIndex(env.getForceLoadRecorded());
\r
1271 /*******************************************************************************
\r
1273 ******************************************************************************/
\r
1280 * 変更があった場合に番組表のリロードを要求するコンポーネントにつけるリスナー
\r
1283 private void setUpdateButtonEnhanced(boolean b) {
\r
1285 jButton_update.setText("更新時番組表再取得あり");
\r
1286 jButton_update.setForeground(Color.RED);
\r
1289 jButton_update.setText("更新を確定する");
\r
1290 jButton_update.setForeground(Color.BLACK);
\r
1292 reload_prog_needed = b;
\r
1295 private final ItemListener IL_RELOAD_PROG_NEEDED = new ItemListener() {
\r
1297 public void itemStateChanged(ItemEvent e) {
\r
1298 if (debug) System.err.println(DBGID+"MODIFIED");
\r
1299 setUpdateButtonEnhanced(true);
\r
1302 private final DocumentListener DL_RELOAD_PROG_NEEDED = new DocumentListener() {
\r
1304 public void removeUpdate(DocumentEvent e) {
\r
1305 if (debug) System.err.println(DBGID+"MODIFIED");
\r
1306 setUpdateButtonEnhanced(true);
\r
1309 public void insertUpdate(DocumentEvent e) {
\r
1310 if (debug) System.err.println(DBGID+"MODIFIED");
\r
1311 setUpdateButtonEnhanced(true);
\r
1314 public void changedUpdate(DocumentEvent e) {
\r
1315 if (debug) System.err.println(DBGID+"MODIFIED");
\r
1316 setUpdateButtonEnhanced(true);
\r
1319 private final CellEditorListener CEL_RELOAD_PROG_NEEDED = new CellEditorListener() {
\r
1321 public void editingStopped(ChangeEvent e) {
\r
1322 if (debug) System.err.println(DBGID+"MODIFIED");
\r
1323 setUpdateButtonEnhanced(true);
\r
1327 public void editingCanceled(ChangeEvent e) {
\r
1332 ItemListener al_fazzysearch = new ItemListener() {
\r
1334 public void itemStateChanged(ItemEvent e) {
\r
1335 if (debug) System.out.println("Fire! al_fazzysearch");
\r
1336 if (jCBP_disableFazzySearch.isSelected()) {
\r
1337 jCBP_disableFazzySearchReverse.setEnabled(false);
\r
1338 jSP_defaultFazzyThreshold.setEnabled(false);
\r
1341 jCBP_disableFazzySearchReverse.setEnabled(true);
\r
1342 jSP_defaultFazzyThreshold.setEnabled(true);
\r
1348 ItemListener al_rsvdlineenhance = new ItemListener() {
\r
1350 public void itemStateChanged(ItemEvent e) {
\r
1351 if (debug) System.out.println("Fire! al_rsvdlineenhance");
\r
1352 if (jCBP_rsvdLineEnhance.isSelected()) {
\r
1353 jLabel_rsvdLineColor.setEnabled(true);
\r
1354 jCCL_rsvdLineColor.setEnabled(true);
\r
1355 jLabel_pickedLineColor.setEnabled(true);
\r
1356 jCCL_pickedLineColor.setEnabled(true);
\r
1360 jLabel_rsvdLineColor.setEnabled(false);
\r
1361 jCCL_rsvdLineColor.setEnabled(false);
\r
1362 jLabel_pickedLineColor.setEnabled(false);
\r
1363 jCCL_pickedLineColor.setEnabled(false);
\r
1369 ItemListener al_currentlineenhance = new ItemListener() {
\r
1371 public void itemStateChanged(ItemEvent e) {
\r
1372 if (debug) System.out.println("Fire! al_currentlineenhance");
\r
1373 if (jCBP_currentLineEnhance.isSelected()) {
\r
1374 jLabel_currentLineColor.setEnabled(true);
\r
1375 jCCL_currentLineColor.setEnabled(true);
\r
1379 jLabel_currentLineColor.setEnabled(false);
\r
1380 jCCL_currentLineColor.setEnabled(false);
\r
1385 ItemListener il_paperredrawtype = new ItemListener() {
\r
1387 public void itemStateChanged(ItemEvent e) {
\r
1388 if (debug) System.out.println("Fire! il_paperredrawtype "+e.toString());
\r
1389 if ( e.getStateChange() == ItemEvent.SELECTED ) {
\r
1390 String selected = ((JRadioButton)e.getItem()).getText();
\r
1391 if ( selected.equals(PARER_REDRAW_NORMAL) ) {
\r
1392 jSP_centerPerPage.setEnabled(false);
\r
1393 jCBP_allPageSnapshot.setEnabled(false);
\r
1395 else if ( selected.equals(PARER_REDRAW_CACHE) ) {
\r
1396 jSP_centerPerPage.setEnabled(false);
\r
1397 jCBP_allPageSnapshot.setEnabled(false);
\r
1399 else if ( selected.equals(PARER_REDRAW_PAGER) ) {
\r
1400 jSP_centerPerPage.setEnabled(true);
\r
1401 jCBP_allPageSnapshot.setEnabled(true);
\r
1402 jSP_centerPerPage.setValue(env.getCenterPerPage()>0?env.getCenterPerPage():7);
\r
1409 ItemListener al_drawcacheenable = new ItemListener() {
\r
1411 public void itemStateChanged(ItemEvent e) {
\r
1412 if (debug) System.out.println("Fire! al_drawcacheenable");
\r
1413 if (jCBP_drawcacheEnable.isSelected()) {
\r
1414 jCBP_pagerEnable.removeItemListener(il_pagerenable);
\r
1415 jCBP_pagerEnable.setEnabled(false);
\r
1416 jCBP_pagerEnable.addItemListener(il_pagerenable);
\r
1418 jSP_centerPerPage.setEnabled(false);
\r
1419 jCBP_allPageSnapshot.setEnabled(false);
\r
1422 jCBP_pagerEnable.removeItemListener(il_pagerenable);
\r
1423 jCBP_pagerEnable.setEnabled(true);
\r
1424 jCBP_pagerEnable.addItemListener(il_pagerenable);
\r
1426 if (jCBP_pagerEnable.isSelected()) {
\r
1427 jSP_centerPerPage.setEnabled(true);
\r
1428 jCBP_allPageSnapshot.setEnabled(true);
\r
1431 jSP_centerPerPage.setEnabled(false);
\r
1432 jCBP_allPageSnapshot.setEnabled(false);
\r
1438 ChangeListener cl_centerperpage = new ChangeListener() {
\r
1440 public void stateChanged(ChangeEvent e) {
\r
1441 if (debug) System.out.println("Fire! cl_centerperpage");
\r
1442 if (jSP_centerPerPage.getValue() == 0) {
\r
1443 jCBP_drawcacheEnable.removeItemListener(al_drawcacheenable);
\r
1444 jCBP_drawcacheEnable.setEnabled(true);
\r
1445 jCBP_allPageSnapshot.setEnabled(false);
\r
1446 jCBP_drawcacheEnable.addItemListener(al_drawcacheenable);
\r
1449 jCBP_drawcacheEnable.removeItemListener(al_drawcacheenable);
\r
1450 jCBP_drawcacheEnable.setSelected(false);
\r
1451 jCBP_drawcacheEnable.setEnabled(false);
\r
1452 jCBP_allPageSnapshot.setEnabled(true);
\r
1453 jCBP_drawcacheEnable.addItemListener(al_drawcacheenable);
\r
1459 ItemListener al_tooltipenable = new ItemListener() {
\r
1461 public void itemStateChanged(ItemEvent e) {
\r
1462 if (debug) System.out.println("Fire! al_tooltipenable");
\r
1463 if (jCBP_tooltipEnable.isSelected()) {
\r
1464 jSP_tooltipInitialDelay.setEnabled(true);
\r
1465 jSP_tooltipDismissDelay.setEnabled(true);
\r
1468 jSP_tooltipInitialDelay.setEnabled(false);
\r
1469 jSP_tooltipDismissDelay.setEnabled(false);
\r
1474 ChangeListener cl_cachetimelimit = new ChangeListener() {
\r
1476 public void stateChanged(ChangeEvent e) {
\r
1477 if (debug) System.out.println("Fire! cl_cachetimelimit");
\r
1478 if (jSP_cacheTimeLimit.getValue() == 0) {
\r
1479 jCBX_shutdownCmd.setEnabled(true);
\r
1482 jCBX_shutdownCmd.setEnabled(false);
\r
1487 ItemListener al_splitepno = new ItemListener() {
\r
1489 public void itemStateChanged(ItemEvent e) {
\r
1490 if (debug) System.out.println("Fire! al_splitepno");
\r
1491 if (jCBP_splitEpno.isSelected()) {
\r
1492 jCBP_traceOnlyTitle.setEnabled(false);
\r
1495 jCBP_traceOnlyTitle.setEnabled(true);
\r
1500 ItemListener al_useproxy = new ItemListener() {
\r
1502 public void itemStateChanged(ItemEvent e) {
\r
1503 if (debug) System.out.println("Fire! al_useproxy");
\r
1504 if (jCBP_useProxy.isSelected()) {
\r
1505 jLabel_proxy.setEnabled(true);
\r
1506 jTextField_proxyAddr.setEnabled(true);
\r
1507 jTextField_proxyPort.setEnabled(true);
\r
1510 jLabel_proxy.setEnabled(false);
\r
1511 jTextField_proxyAddr.setEnabled(false);
\r
1512 jTextField_proxyPort.setEnabled(false);
\r
1517 ItemListener al_usepassedprogram = new ItemListener() {
\r
1519 public void itemStateChanged(ItemEvent e) {
\r
1520 if (debug) System.out.println("Fire! al_usepassedprogram");
\r
1521 if (jCBP_usePassedProgram.isSelected()) {
\r
1522 jSP_prepPassedProgramCount.setEnabled(true);
\r
1525 jSP_prepPassedProgramCount.setEnabled(false);
\r
1530 ItemListener al_giveprioritytoreserved = new ItemListener() {
\r
1532 public void itemStateChanged(ItemEvent e) {
\r
1533 if (debug) System.out.println("Fire! al_giveprioritytoreserved");
\r
1534 if (jCBP_givePriorityToReserved.isSelected()) {
\r
1535 jCBP_givePriorityToReservedTitle.setEnabled(true);
\r
1536 jCBP_givePriorityToReservedTitle.setSelected(true);
\r
1539 jCBP_givePriorityToReservedTitle.setEnabled(false);
\r
1540 jCBP_givePriorityToReservedTitle.setSelected(false);
\r
1545 ItemListener al_showallite = new ItemListener() {
\r
1547 public void itemStateChanged(ItemEvent e) {
\r
1548 if ( jCBP_rsv_showallite.isSelected() ) {
\r
1549 jLabel_rsv_itecolor.setEnabled(true);
\r
1550 jCCL_rsv_itecolor.setEnabled(true);
\r
1553 jLabel_rsv_itecolor.setEnabled(false);
\r
1554 jCCL_rsv_itecolor.setEnabled(false);
\r
1559 ItemListener al_showsystray = new ItemListener() {
\r
1561 public void itemStateChanged(ItemEvent e) {
\r
1562 if (debug) System.out.println(DBGID+"Fire! al_showsystray");
\r
1563 if (jCBP_showSysTray.isSelected()) {
\r
1564 jCBP_hideToTray.setEnabled(true);
\r
1567 jCBP_hideToTray.setEnabled(false);
\r
1572 ActionListener al_fontChanged = new ActionListener() {
\r
1574 public void actionPerformed(ActionEvent e) {
\r
1576 String fn = (String) jComboBox_font.getSelectedItem();
\r
1577 int fs = Integer.valueOf((String) jComboBox_fontSize.getSelectedItem());
\r
1579 fontChanged(fn, fs);
\r
1581 if ( jLabel_fontSample != null ) {
\r
1582 Font f = jLabel_fontSample.getFont();
\r
1583 jLabel_fontSample.setFont(new Font(fn,f.getStyle(),fs));
\r
1589 /*******************************************************************************
\r
1591 ******************************************************************************/
\r
1593 private JLabel getNoticeMsg(String text) {
\r
1594 JLabel l = new JLabel(text);
\r
1595 l.setForeground(NOTICEMSG_COLOR);
\r
1600 private JButton getJButton_update(String s) {
\r
1601 if (jButton_update == null) {
\r
1602 jButton_update = new JButton(s);
\r
1604 jButton_update.addActionListener(new ActionListener() {
\r
1605 public void actionPerformed(ActionEvent e) {
\r
1610 return(jButton_update);
\r
1614 private JLabel getJLabel_userAgent(String s)
\r
1616 if (jLabel_userAgent == null) {
\r
1617 jLabel_userAgent = new JLabel(s);
\r
1619 return(jLabel_userAgent);
\r
1621 private JTextField getJTextField_userAgent(String s) {
\r
1622 if (jTextField_userAgent == null) {
\r
1623 jTextField_userAgent = new JTextFieldWithPopup();
\r
1624 jTextField_userAgent.setText(s);
\r
1625 jTextField_userAgent.setCaretPosition(0);
\r
1627 return jTextField_userAgent;
\r
1631 private JLabel getJLabel_proxy(String s)
\r
1633 if (jLabel_proxy == null) {
\r
1634 jLabel_proxy = new JLabel(s);
\r
1636 return(jLabel_proxy);
\r
1638 private JTextField getJTextField_proxyAddr(String s) {
\r
1639 if (jTextField_proxyAddr == null) {
\r
1640 jTextField_proxyAddr = new JTextFieldWithPopup();
\r
1641 jTextField_proxyAddr.setText(s);
\r
1642 jTextField_proxyAddr.setCaretPosition(0);
\r
1644 return jTextField_proxyAddr;
\r
1646 private JTextField getJTextField_proxyPort(String s) {
\r
1647 if (jTextField_proxyPort == null) {
\r
1648 jTextField_proxyPort = new JTextFieldWithPopup();
\r
1649 jTextField_proxyPort.setText(s);
\r
1650 jTextField_proxyPort.setCaretPosition(0);
\r
1652 return jTextField_proxyPort;
\r
1656 private JLabel getJLabel_showmarks(String s) {
\r
1657 if (jLabel_showmarks == null) {
\r
1658 jLabel_showmarks = new JLabel(s);
\r
1660 return jLabel_showmarks;
\r
1662 private JScrollPane getJScrollPane_showmarks() {
\r
1663 if (jScrollPane_showmarks == null) {
\r
1664 jScrollPane_showmarks = new JScrollPane();
\r
1665 jScrollPane_showmarks.setViewportView(getJTable_showmarks());
\r
1666 jScrollPane_showmarks.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
\r
1668 return(jScrollPane_showmarks);
\r
1670 private JNETable getJTable_showmarks() {
\r
1671 if (jTable_showmarks == null) {
\r
1673 String[] colname = {"チェック", "マーク", "ID"};
\r
1674 int[] colwidth = {50,250,0};
\r
1677 DefaultTableModel model = new DefaultTableModel(colname, 0);
\r
1678 jTable_showmarks = new JNETable(model, false) {
\r
1680 private static final long serialVersionUID = 1L;
\r
1683 public boolean isCellEditable(int row, int column) {
\r
1684 return (column == 0);
\r
1687 jTable_showmarks.setAutoResizeMode(JNETable.AUTO_RESIZE_OFF);
\r
1688 DefaultTableColumnModel columnModel = (DefaultTableColumnModel)jTable_showmarks.getColumnModel();
\r
1689 TableColumn column = null;
\r
1690 for (int i = 0 ; i < columnModel.getColumnCount() ; i++){
\r
1691 column = columnModel.getColumn(i);
\r
1692 column.setPreferredWidth(colwidth[i]);
\r
1696 jTable_showmarks.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
\r
1699 DefaultCellEditor editor = new DefaultCellEditor(new JCheckBox() {
\r
1701 private static final long serialVersionUID = 1L;
\r
1704 public int getHorizontalAlignment() {
\r
1705 return JCheckBox.CENTER;
\r
1709 editor.addCellEditorListener(CEL_RELOAD_PROG_NEEDED);
\r
1712 jTable_showmarks.getColumn("チェック").setCellEditor(editor);
\r
1715 DefaultTableCellRenderer renderer = new DefaultTableCellRenderer() {
\r
1717 private static final long serialVersionUID = 1L;
\r
1720 public Component getTableCellRendererComponent(JTable table, Object value,
\r
1721 boolean isSelected, boolean hasFocus, int row, int column) {
\r
1723 JCheckBox cBox = new JCheckBox();
\r
1724 cBox.setHorizontalAlignment(JCheckBox.CENTER);
\r
1726 Boolean b = (Boolean)value;
\r
1727 cBox.setSelected(b.booleanValue());
\r
1730 cBox.setBackground(table.getSelectionBackground());
\r
1733 cBox.setBackground(table.getBackground());
\r
1738 jTable_showmarks.getColumn("チェック").setCellRenderer(renderer);
\r
1741 for (Object[] obj : TVProgram.optMarks) {
\r
1742 Entry<ProgOption,Boolean> entry = null;
\r
1743 for (Entry<ProgOption,Boolean> e : env.getOptMarks().entrySet()) {
\r
1744 if (e.getKey() == obj[0]) {
\r
1749 if ( entry != null ) {
\r
1750 Object[] data = { entry.getValue(),obj[1],obj[0] };
\r
1751 model.addRow(data);
\r
1754 Object[] data = { Boolean.TRUE,obj[1],obj[0] };
\r
1755 model.addRow(data);
\r
1759 return(jTable_showmarks);
\r
1763 private JLabel getJLabel_clipboard(String s) {
\r
1764 if (jLabel_clipboard == null) {
\r
1765 jLabel_clipboard = new JLabel(s);
\r
1767 return jLabel_clipboard;
\r
1769 private JButton getJButton_clipboard_up(String s) {
\r
1770 if (jButton_clipboard_up == null) {
\r
1771 jButton_clipboard_up = new JButton(s);
\r
1772 jButton_clipboard_up.addMouseListener(new MouseAdapter() {
\r
1774 public void mouseClicked(MouseEvent e) {
\r
1776 if ((row = jTable_clipboard.getSelectedRow()) <= 0) {
\r
1779 Object b = jTable_clipboard.getValueAt(row, 0);
\r
1780 Object item = jTable_clipboard.getValueAt(row, 1);
\r
1781 Object id = jTable_clipboard.getValueAt(row, 2);
\r
1783 jTable_clipboard.setValueAt(jTable_clipboard.getValueAt(row-1, 0), row, 0);
\r
1784 jTable_clipboard.setValueAt(jTable_clipboard.getValueAt(row-1, 1), row, 1);
\r
1785 jTable_clipboard.setValueAt(jTable_clipboard.getValueAt(row-1, 2), row, 2);
\r
1787 jTable_clipboard.setValueAt(b, row-1, 0);
\r
1788 jTable_clipboard.setValueAt(item, row-1, 1);
\r
1789 jTable_clipboard.setValueAt(id, row-1, 2);
\r
1791 jTable_clipboard.setRowSelectionInterval(row-1, row-1);
\r
1795 return jButton_clipboard_up;
\r
1797 private JButton getJButton_clipboard_down(String s) {
\r
1798 if (jButton_clipboard_down == null) {
\r
1799 jButton_clipboard_down = new JButton(s);
\r
1800 jButton_clipboard_down.addMouseListener(new MouseAdapter() {
\r
1802 public void mouseClicked(MouseEvent e) {
\r
1804 if ((row = jTable_clipboard.getSelectedRow()) >= jTable_clipboard.getRowCount()-1) {
\r
1807 Object b = jTable_clipboard.getValueAt(row, 0);
\r
1808 Object item = jTable_clipboard.getValueAt(row, 1);
\r
1809 Object id = jTable_clipboard.getValueAt(row, 2);
\r
1811 jTable_clipboard.setValueAt(jTable_clipboard.getValueAt(row+1, 0), row, 0);
\r
1812 jTable_clipboard.setValueAt(jTable_clipboard.getValueAt(row+1, 1), row, 1);
\r
1813 jTable_clipboard.setValueAt(jTable_clipboard.getValueAt(row+1, 2), row, 2);
\r
1815 jTable_clipboard.setValueAt(b, row+1, 0);
\r
1816 jTable_clipboard.setValueAt(item, row+1, 1);
\r
1817 jTable_clipboard.setValueAt(id, row+1, 2);
\r
1819 jTable_clipboard.setRowSelectionInterval(row+1, row+1);
\r
1823 return jButton_clipboard_down;
\r
1825 private JScrollPane getJScrollPane_clipboard() {
\r
1826 if (jScrollPane_clipboard == null) {
\r
1827 jScrollPane_clipboard = new JScrollPane();
\r
1828 jScrollPane_clipboard.setViewportView(getJTable_clipboard());
\r
1829 jScrollPane_clipboard.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
\r
1831 return(jScrollPane_clipboard);
\r
1833 private JNETable getJTable_clipboard() {
\r
1834 if (jTable_clipboard == null) {
\r
1836 String[] colname = {"チェック", "アイテム", "ID"};
\r
1837 int[] colwidth = {50,250,0};
\r
1840 DefaultTableModel model = new DefaultTableModel(colname, 0);
\r
1841 jTable_clipboard = new JNETable(model, false) {
\r
1843 private static final long serialVersionUID = 1L;
\r
1846 public boolean isCellEditable(int row, int column) {
\r
1847 return (column == 0);
\r
1850 jTable_clipboard.setAutoResizeMode(JNETable.AUTO_RESIZE_OFF);
\r
1851 DefaultTableColumnModel columnModel = (DefaultTableColumnModel)jTable_clipboard.getColumnModel();
\r
1852 TableColumn column = null;
\r
1853 for (int i = 0 ; i < columnModel.getColumnCount() ; i++){
\r
1854 column = columnModel.getColumn(i);
\r
1855 column.setPreferredWidth(colwidth[i]);
\r
1859 jTable_clipboard.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
\r
1862 DefaultCellEditor editor = new DefaultCellEditor(new JCheckBox() {
\r
1864 private static final long serialVersionUID = 1L;
\r
1867 public int getHorizontalAlignment() {
\r
1868 return JCheckBox.CENTER;
\r
1871 jTable_clipboard.getColumn("チェック").setCellEditor(editor);
\r
1873 DefaultTableCellRenderer renderer = new DefaultTableCellRenderer() {
\r
1875 private static final long serialVersionUID = 1L;
\r
1878 public Component getTableCellRendererComponent(JTable table, Object value,
\r
1879 boolean isSelected, boolean hasFocus, int row, int column) {
\r
1881 JCheckBox cBox = new JCheckBox();
\r
1882 cBox.setHorizontalAlignment(JCheckBox.CENTER);
\r
1884 Boolean b = (Boolean)value;
\r
1885 cBox.setSelected(b.booleanValue());
\r
1888 cBox.setBackground(table.getSelectionBackground());
\r
1891 cBox.setBackground(table.getBackground());
\r
1896 jTable_clipboard.getColumn("チェック").setCellRenderer(renderer);
\r
1899 for (ClipboardInfo cb : getCbItemEnv()) {
\r
1900 Object[] data = { cb.getB(), cb.getItem(), cb.getId() };
\r
1901 model.addRow(data);
\r
1904 return(jTable_clipboard);
\r
1907 // 右クリックメニューの実行コマンドの追加
\r
1908 private JLabel getJLabel_menuitem(String s) {
\r
1909 if (jLabel_menuitem == null) {
\r
1910 jLabel_menuitem = new JLabel(s);
\r
1912 return jLabel_menuitem;
\r
1914 private JTextField getJTextField_mikey() {
\r
1915 if (jTextField_mikey == null) {
\r
1916 jTextField_mikey = new JTextFieldWithPopup();
\r
1918 return (jTextField_mikey);
\r
1920 private JTextField getJTextField_mival() {
\r
1921 if (jTextField_mival == null) {
\r
1922 jTextField_mival = new JTextFieldWithPopup();
\r
1924 return (jTextField_mival);
\r
1926 private JComponent getJButton_miadd(String s) {
\r
1927 if (jButton_miadd == null) {
\r
1928 jButton_miadd = new JButton(s);
\r
1929 jButton_miadd.addMouseListener(new MouseAdapter() {
\r
1931 public void mouseClicked(MouseEvent e) {
\r
1932 if (jTextField_mikey.getText().length() > 0 && jTextField_mival.getText().length() > 0) {
\r
1933 DefaultTableModel model = (DefaultTableModel) jTable_mitable.getModel();
\r
1934 Object[] data = { jTextField_mikey.getText(),jTextField_mival.getText() };
\r
1935 model.addRow(data);
\r
1936 jTextField_mikey.setText("");
\r
1937 jTextField_mival.setText("");
\r
1942 return (jButton_miadd);
\r
1944 private JComponent getJButton_midel(String s) {
\r
1945 if (jButton_midel == null) {
\r
1946 jButton_midel = new JButton(s);
\r
1947 jButton_midel.addMouseListener(new MouseAdapter() {
\r
1949 public void mouseClicked(MouseEvent e) {
\r
1950 DefaultTableModel model = (DefaultTableModel) jTable_mitable.getModel();
\r
1952 if ((row = jTable_mitable.getSelectedRow()) >= 0) {
\r
1953 jTextField_mikey.setText((String) model.getValueAt(row, 0));
\r
1954 jTextField_mival.setText((String) model.getValueAt(row, 1));
\r
1955 model.removeRow(row);
\r
1960 return (jButton_midel);
\r
1962 private JButton getJButton_miup(String s) {
\r
1963 if (jButton_miup == null) {
\r
1964 jButton_miup = new JButton(s);
\r
1965 jButton_miup.addMouseListener(new MouseAdapter() {
\r
1967 public void mouseClicked(MouseEvent e) {
\r
1969 if ((row = jTable_mitable.getSelectedRow()) <= 0) {
\r
1972 Object name = jTable_mitable.getValueAt(row, 0);
\r
1973 Object cmd = jTable_mitable.getValueAt(row, 1);
\r
1975 jTable_mitable.setValueAt(jTable_mitable.getValueAt(row-1, 0), row, 0);
\r
1976 jTable_mitable.setValueAt(jTable_mitable.getValueAt(row-1, 1), row, 1);
\r
1978 jTable_mitable.setValueAt(name, row-1, 0);
\r
1979 jTable_mitable.setValueAt(cmd, row-1, 1);
\r
1981 jTable_mitable.setRowSelectionInterval(row-1, row-1);
\r
1985 return jButton_miup;
\r
1987 private JButton getJButton_midown(String s) {
\r
1988 if (jButton_midown == null) {
\r
1989 jButton_midown = new JButton(s);
\r
1990 jButton_midown.addMouseListener(new MouseAdapter() {
\r
1992 public void mouseClicked(MouseEvent e) {
\r
1994 if ((row = jTable_mitable.getSelectedRow()) >= jTable_mitable.getRowCount()-1) {
\r
1997 Object name = jTable_mitable.getValueAt(row, 0);
\r
1998 Object cmd = jTable_mitable.getValueAt(row, 1);
\r
2000 jTable_mitable.setValueAt(jTable_mitable.getValueAt(row+1, 0), row, 0);
\r
2001 jTable_mitable.setValueAt(jTable_mitable.getValueAt(row+1, 1), row, 1);
\r
2003 jTable_mitable.setValueAt(name, row+1, 0);
\r
2004 jTable_mitable.setValueAt(cmd, row+1, 1);
\r
2006 jTable_mitable.setRowSelectionInterval(row+1, row+1);
\r
2010 return jButton_midown;
\r
2012 private JScrollPane getJScrollPane_mitable(int col1_w, int col2_w) {
\r
2013 if (jScrollPane_mitable == null) {
\r
2014 jScrollPane_mitable = new JScrollPane();
\r
2015 jScrollPane_mitable.setViewportView(getJTable_mitable(col1_w, col2_w));
\r
2016 jScrollPane_mitable.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
\r
2018 return (jScrollPane_mitable);
\r
2020 private JNETable getJTable_mitable(int col1_w, int col2_w) {
\r
2021 if (jTable_mitable == null) {
\r
2023 String[] colname = {"コマンド名", "実行するコマンド"};
\r
2024 int[] colwidth = {col1_w,col2_w};
\r
2027 DefaultTableModel model = new DefaultTableModel(colname, 0);
\r
2028 jTable_mitable = new JNETable(model, false) {
\r
2030 private static final long serialVersionUID = 1L;
\r
2033 public boolean isCellEditable(int row, int column) {
\r
2034 return (column == 0);
\r
2037 jTable_mitable.setAutoResizeMode(JNETable.AUTO_RESIZE_OFF);
\r
2038 DefaultTableColumnModel columnModel = (DefaultTableColumnModel)jTable_mitable.getColumnModel();
\r
2039 TableColumn column = null;
\r
2040 for (int i = 0 ; i < columnModel.getColumnCount() ; i++){
\r
2041 column = columnModel.getColumn(i);
\r
2042 column.setPreferredWidth(colwidth[i]);
\r
2046 jTable_mitable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
\r
2049 for (TextValueSet tv : env.getTvCommand()) {
\r
2050 Object[] data = { tv.getText(), tv.getValue() };
\r
2051 model.addRow(data);
\r
2054 return(jTable_mitable);
\r
2058 private JLabel getJLabel_ngword(String s) {
\r
2059 if (jLabel_ngword == null) {
\r
2060 jLabel_ngword = new JLabel(s);
\r
2062 return(jLabel_ngword);
\r
2064 private JTextField getJTextField_ngword(String s) {
\r
2065 if (jTextField_ngword == null) {
\r
2066 jTextField_ngword = new JTextFieldWithPopup();
\r
2067 jTextField_ngword.setText(s);
\r
2068 jTextField_ngword.setCaretPosition(0);
\r
2070 return jTextField_ngword;
\r
2073 private JLabel getJLabel_lookAndFeel(String s) {
\r
2074 if (jLabel_lookAndFeel == null) {
\r
2075 jLabel_lookAndFeel = new JLabel();
\r
2076 jLabel_lookAndFeel.setText(s);
\r
2078 return jLabel_lookAndFeel;
\r
2080 private JComboBox getJComboBox_lookAndFeel() {
\r
2081 if (jComboBox_lookAndFeel == null) {
\r
2082 jComboBox_lookAndFeel = new JComboBox();
\r
2085 DefaultComboBoxModel model = new DefaultComboBoxModel();
\r
2086 jComboBox_lookAndFeel.setModel(model);
\r
2087 for ( String className : getLAFEnv().getNames() ) {
\r
2088 Matcher ma = Pattern.compile("\\.([^\\.]+?)LookAndFeel$").matcher(className);
\r
2089 if ( ma.find() ) {
\r
2090 model.addElement(ma.group(1));
\r
2093 if ( ! env.getLookAndFeel().equals("")) {
\r
2094 model.setSelectedItem(env.getLookAndFeel());
\r
2095 //updateFont(env.getFontName(), env.getFontSize());
\r
2096 StdAppendMessage("Set lookandfeel="+env.getLookAndFeel());
\r
2099 model.setSelectedItem(UIManager.getLookAndFeel().getName());
\r
2103 jComboBox_lookAndFeel.addActionListener(new ActionListener() {
\r
2104 public void actionPerformed(ActionEvent e) {
\r
2105 DefaultComboBoxModel model = (DefaultComboBoxModel)((JComboBox)e.getSource()).getModel();
\r
2106 lafChanged((String)model.getSelectedItem());
\r
2111 return jComboBox_lookAndFeel;
\r
2114 private JLabel getJLabel_font(String s) {
\r
2115 if (jLabel_font == null) {
\r
2116 jLabel_font = new JLabel();
\r
2117 jLabel_font.setText(s);
\r
2119 return jLabel_font;
\r
2121 private JComboBox getJComboBox_font() {
\r
2122 if (jComboBox_font == null) {
\r
2123 jComboBox_font = new JComboBox();
\r
2126 DefaultComboBoxModel model = new DefaultComboBoxModel();
\r
2127 jComboBox_font.setModel(model);
\r
2128 for ( String f : getFontEnv().getNames() ) {
\r
2129 model.addElement(f);
\r
2131 if ( ! env.getFontName().equals("")) {
\r
2132 model.setSelectedItem(env.getFontName());
\r
2133 //updateFont(env.getFontName(), env.getFontSize());
\r
2134 //StdAppendMessage("システムのフォント: "+env.getFontName());
\r
2137 model.setSelectedItem(jComboBox_font.getFont().getFontName());
\r
2141 jComboBox_font.addActionListener(al_fontChanged);
\r
2144 return jComboBox_font;
\r
2146 private JComboBox getJComboBox_fontSize() {
\r
2147 if (jComboBox_fontSize == null) {
\r
2148 jComboBox_fontSize = new JComboBox();
\r
2149 DefaultComboBoxModel model = new DefaultComboBoxModel();
\r
2150 jComboBox_fontSize.setModel(model);
\r
2151 for ( int i=6; i<=20; i++ ) {
\r
2152 model.addElement(String.valueOf(i));
\r
2154 if ( env.getFontSize() > 0) {
\r
2155 jComboBox_fontSize.setSelectedItem(String.valueOf(env.getFontSize()));
\r
2158 jComboBox_fontSize.addActionListener(al_fontChanged);
\r
2160 return(jComboBox_fontSize);
\r
2162 private JLabel getJLabel_fontSample(String s) {
\r
2163 if (jLabel_fontSample == null) {
\r
2164 jLabel_fontSample = new JLabel();
\r
2165 jLabel_fontSample.setText("0120123abcABCあいうアイウ阿伊宇○×?");
\r
2166 jLabel_fontSample.setBackground(Color.WHITE);
\r
2167 jLabel_fontSample.setBorder(new LineBorder(Color.BLACK));
\r
2168 jLabel_fontSample.setOpaque(true);
\r
2169 Font f = jLabel_fontSample.getFont();
\r
2170 jLabel_fontSample.setFont(new Font(env.getFontName(),f.getStyle(),env.getFontSize()));
\r
2172 return jLabel_fontSample;
\r
2175 private JLabel getJLabel_enableCHAVsetting(String s)
\r
2177 if (jLabel_enableCHAVsetting == null) {
\r
2178 jLabel_enableCHAVsetting = new JLabel();
\r
2179 jLabel_enableCHAVsetting.setText(s);
\r
2181 return(jLabel_enableCHAVsetting);
\r
2183 private JCheckBox getJCheckBox_enableCHAVsetting(boolean b) {
\r
2184 if (jCheckBox_enableCHAVsetting == null) {
\r
2185 jCheckBox_enableCHAVsetting = new JCheckBox();
\r
2186 jCheckBox_enableCHAVsetting.setSelected(b);
\r
2188 return(jCheckBox_enableCHAVsetting);
\r
2191 private JLabel getJLabel_autoFolderSelect(String s)
\r
2193 if (jLabel_autoFolderSelect == null) {
\r
2194 jLabel_autoFolderSelect = new JLabel();
\r
2195 jLabel_autoFolderSelect.setText(s);
\r
2197 return(jLabel_autoFolderSelect);
\r
2199 private JCheckBox getJCheckBox_autoFolderSelect(boolean b) {
\r
2200 if (jCheckBox_autoFolderSelect == null) {
\r
2201 jCheckBox_autoFolderSelect = new JCheckBox();
\r
2202 jCheckBox_autoFolderSelect.setSelected(b);
\r
2204 return(jCheckBox_autoFolderSelect);
\r
2209 private JTextAreaWithPopup getJta_help() {
\r
2210 if ( jta_help == null ) {
\r
2211 jta_help = CommonSwingUtils.getJta(this,2,0);
\r
2212 jta_help.setText(TEXT_HINT);
\r