タイニー番組ナビゲータ本体
リビジョン | f3bf195c4a2e04e077dc663a12347ed6432d0019 (tree) |
---|---|
日時 | 2017-05-19 22:05:13 |
作者 | Masahiko Kimura <mkimura@u01....> |
コミッター | Masahiko Kimura |
録画予約画面のフォルダー関係のボタンの初期状態がおかしい問題の対応
@@ -1099,9 +1099,8 @@ abstract class AbsReserveDialog extends JDialog { | ||
1099 | 1099 | |
1100 | 1100 | refCBX(jCBXPanel_portable, myrec.getPortable()); |
1101 | 1101 | |
1102 | - // 追加 | |
1103 | - jButton_addFolder.setEnabled( myrec.isFolderCreationSupported() ); | |
1104 | - jButton_delFolder.setEnabled( false ); | |
1102 | + // フォルダー関係のボタン | |
1103 | + updateFolderButtons(); | |
1105 | 1104 | } |
1106 | 1105 | |
1107 | 1106 | /** |
@@ -1309,6 +1308,8 @@ abstract class AbsReserveDialog extends JDialog { | ||
1309 | 1308 | setSelectedFolder(); |
1310 | 1309 | } |
1311 | 1310 | } |
1311 | + | |
1312 | + updateFolderButtons(); | |
1312 | 1313 | } |
1313 | 1314 | |
1314 | 1315 | /** |
@@ -1364,6 +1365,8 @@ abstract class AbsReserveDialog extends JDialog { | ||
1364 | 1365 | if (defaultFolderIdx != -1) { |
1365 | 1366 | jCBXPanel_folder.setSelectedIndex(defaultFolderIdx); |
1366 | 1367 | } |
1368 | + | |
1369 | + updateFolderButtons(); | |
1367 | 1370 | } |
1368 | 1371 | |
1369 | 1372 | private void setLabels(HDDRecorder recorder) { |
@@ -2739,6 +2742,7 @@ abstract class AbsReserveDialog extends JDialog { | ||
2739 | 2742 | // [<device_name>]を先頭に付ける |
2740 | 2743 | refCBX(jCBXPanel_folder, rec.getFolderList()); |
2741 | 2744 | selCBX(jCBXPanel_folder, prefix + nameNew); |
2745 | + updateFolderButtons(); | |
2742 | 2746 | } |
2743 | 2747 | else { |
2744 | 2748 | MWin.appendError(ERRID+"フォルダーの" + action + "に失敗しました:"+folderNameWorking); |
@@ -2796,6 +2800,7 @@ abstract class AbsReserveDialog extends JDialog { | ||
2796 | 2800 | if (rec.RemoveRdFolder( device_id, folder_id )){ |
2797 | 2801 | MWin.appendMessage(MSGID+"フォルダーを正常に削除できました:"+folderNameWorking); |
2798 | 2802 | refCBX(jCBXPanel_folder, rec.getFolderList()); |
2803 | + updateFolderButtons(); | |
2799 | 2804 | } |
2800 | 2805 | else { |
2801 | 2806 | MWin.appendError(ERRID+"フォルダーの削除に失敗しました:"+folderNameWorking); |
@@ -2825,17 +2830,24 @@ abstract class AbsReserveDialog extends JDialog { | ||
2825 | 2830 | @Override |
2826 | 2831 | public void itemStateChanged(ItemEvent e) { |
2827 | 2832 | if (e.getStateChange() == ItemEvent.SELECTED) { |
2828 | - HDDRecorder rec = getMySelectedRecorder(); | |
2829 | - if ( !rec.isFolderCreationSupported()) | |
2830 | - return; | |
2831 | - | |
2832 | - int idx = jCBXPanel_folder.getSelectedIndex(); | |
2833 | - jButton_addFolder.setText(idx == 0 ? "新" : "更"); | |
2834 | - jButton_delFolder.setEnabled(idx != 0); | |
2833 | + updateFolderButtons(); | |
2835 | 2834 | } |
2836 | 2835 | } |
2837 | 2836 | }; |
2838 | 2837 | |
2838 | + /** | |
2839 | + * フォルダーを選択する | |
2840 | + */ | |
2841 | + private void updateFolderButtons() { | |
2842 | + HDDRecorder rec = getMySelectedRecorder(); | |
2843 | + boolean b = rec.isFolderCreationSupported(); | |
2844 | + | |
2845 | + int idx = jCBXPanel_folder.getSelectedIndex(); | |
2846 | + jButton_addFolder.setEnabled(b); | |
2847 | + jButton_delFolder.setEnabled(b && idx != 0); | |
2848 | + jButton_addFolder.setText(idx == 0 ? "新" : "更"); | |
2849 | + } | |
2850 | + | |
2839 | 2851 | /******************************************************************************* |
2840 | 2852 | * コンポーネント |
2841 | 2853 | ******************************************************************************/ |