OSDN Git Service

予約行の背景色のトグル操作
authorpeeweedee <peeweedee@users.sourceforge.jp>
Sat, 1 Feb 2014 04:20:20 +0000 (13:20 +0900)
committerpeeweedee <peeweedee@users.sourceforge.jp>
Sat, 1 Feb 2014 04:20:20 +0000 (13:20 +0900)
TinyBannavi/src/tainavi/AbsListedView.java
TinyBannavi/src/tainavi/AbsPaperView.java
TinyBannavi/src/tainavi/AbsToolBar.java
TinyBannavi/src/tainavi/Bounds.java
TinyBannavi/src/tainavi/Viewer.java

index 6856fb6..a62192a 100644 (file)
@@ -1447,7 +1447,20 @@ public abstract class AbsListedView extends JPanel implements TickTimerListener
        public void setRowHeaderVisible(boolean b) {\r
                jScrollPane_listed.getRowHeader().setVisible(b);\r
        }\r
-       \r
+\r
+       /**\r
+        * 予約済み背景色の描画(ツールバーからのトグル操作)\r
+        */\r
+       public boolean toggleReservedBackground(boolean b) {\r
+\r
+               // 状態を保存\r
+               bounds.setShowReservedBackground(b);\r
+\r
+               tableModel_listed.fireTableDataChanged();\r
+\r
+               return bounds.getShowReservedBackground();\r
+       }\r
+\r
        /**\r
         * スクリーンショット用\r
         */\r
@@ -4058,14 +4071,14 @@ public abstract class AbsListedView extends JPanel implements TickTimerListener
                                isRowPassed(row);\r
                                \r
                                fgColor = (prechknextweek)?(nextweekFgColor):(this.getForeground());\r
-                               \r
+\r
                                if( prechkpassed && passedColor != null ) {\r
                                        bgColor = passedColor;\r
                                }\r
-                               else if( prechkreserved && reservedColorEven != null ) {\r
+                               else if( bounds.getShowReservedBackground() && prechkreserved && reservedColorEven != null ) {\r
                                        bgColor = (isSepRowColor && row%2 == 1)?(reservedColorEven):(reservedColorOdd);\r
                                }\r
-                               else if( prechkpicked && pickedColorEven != null ) {\r
+                               else if( bounds.getShowReservedBackground() && prechkpicked && pickedColorEven != null ) {\r
                                        bgColor = (isSepRowColor && row%2 == 1)?(pickedColorEven):(pickedColorOdd);\r
                                }\r
                                else if( prechkcurrent && currentColorEven != null ) {\r
index eeed505..cb60898 100644 (file)
@@ -624,10 +624,10 @@ public abstract class AbsPaperView extends JPanel implements TickTimerListener,H
        /**\r
         * 予約待機赤枠の描画(ツールバーからのトグル操作)\r
         */\r
-       public boolean toggleMatchBorder() {\r
+       public boolean toggleMatchBorder(boolean b) {\r
                \r
                // 状態を保存\r
-               bounds.setShowMatchedBorder( ! bounds.getShowMatchedBorder());\r
+               bounds.setShowMatchedBorder(b);\r
                \r
                _updPBorderAll(env, bounds, frameUsed);\r
                \r
index 30639d3..40e465f 100644 (file)
@@ -81,7 +81,7 @@ public abstract class AbsToolBar extends JToolBar implements HDDRecorderSelectab
        protected abstract boolean jumpToNow();\r
        protected abstract boolean jumpToPassed(String passed);\r
        protected abstract boolean redrawByPager();\r
-       protected abstract void toggleMatchBorder();\r
+       protected abstract void toggleMatchBorder(boolean b);\r
        protected abstract void setPaperColorDialogVisible(boolean b);\r
        protected abstract void setPaperZoom(int n);\r
        // 共通\r
@@ -454,8 +454,13 @@ public abstract class AbsToolBar extends JToolBar implements HDDRecorderSelectab
        /**\r
         * ぼだー\r
         */\r
-       public void setBorderToggleEnabled(boolean b) {\r
+       public void setBorderToggleEnabled(boolean b, boolean cond) {\r
+               jToggleButton_showmatchborder.removeActionListener(al_showborder);\r
+\r
                jToggleButton_showmatchborder.setEnabled(b);\r
+               jToggleButton_showmatchborder.setSelected(cond);\r
+\r
+               jToggleButton_showmatchborder.addActionListener(al_showborder);\r
        }\r
        \r
        /**\r
@@ -1037,8 +1042,9 @@ public abstract class AbsToolBar extends JToolBar implements HDDRecorderSelectab
        \r
        // 新聞形式に予約待機枠を表示させたりしなかったり\r
        private final ActionListener al_showborder = new ActionListener(){\r
+               @Override\r
                public void actionPerformed(ActionEvent e){\r
-                       toggleMatchBorder();\r
+                       toggleMatchBorder(((JToggleButton)e.getSource()).isSelected());\r
                }\r
        };\r
        \r
@@ -1384,8 +1390,10 @@ public abstract class AbsToolBar extends JToolBar implements HDDRecorderSelectab
                }\r
                return jToggleButton_fullScreen;\r
        }\r
-       \r
-       // 「設定タブを表示」\r
+\r
+       /**\r
+        * 予約背景色・検索マッチ枠の表示/非表示\r
+        */\r
        private JToggleButton getJToggleButton_showmatchborder(String s) {\r
                if (jToggleButton_showmatchborder == null) {\r
                        final ImageIcon icon = new ImageIcon(ICONFILE_SHOWMATCHBORDER);\r
index 2c54242..2ab4499 100644 (file)
@@ -70,15 +70,23 @@ public class Bounds {
        public void setSelectedTab(int t) { selectedTab = t; }\r
        \r
        //\r
+       @Deprecated\r
        private boolean showSettingTabs;\r
+       @Deprecated\r
        public boolean getShowSettingTabs() { return showSettingTabs; }\r
+       @Deprecated\r
        public void setShowSettingTabs(boolean b) { showSettingTabs = b; }\r
        \r
-       // 検索マッチ枠を表示する\r
+       // 予約済み背景色を描画する(リスト形式)\r
+       public boolean getShowReservedBackground() { return showReservedBackground; }\r
+       public void setShowReservedBackground(boolean b) { showReservedBackground = b; }\r
+       private boolean showReservedBackground = true;\r
+\r
+       // 検索マッチ枠を表示する(新聞形式)\r
        public boolean getShowMatchedBorder() { return showMatchedBorder; }\r
        public void setShowMatchedBorder(boolean b) { showMatchedBorder = b; }\r
        private boolean showMatchedBorder = true;\r
-       \r
+\r
        // ステータスエリアを表示する\r
        private boolean showStatus;\r
        public boolean getShowStatus() { return showStatus; }\r
index 2334022..f065119 100644 (file)
@@ -420,6 +420,8 @@ public class Viewer extends JFrame implements ChangeListener,TickTimerListener,H
                        toolBar.setBatchReservationEnabled(true);\r
                        // スナップショットを有効にする\r
                        toolBar.setSnapShotEnabled(true);\r
+                       // 新聞形式以外ではマッチ枠を無効にする\r
+                       toolBar.setBorderToggleEnabled(true, bounds.getShowReservedBackground());\r
                }\r
 \r
                @Override\r
@@ -430,6 +432,8 @@ public class Viewer extends JFrame implements ChangeListener,TickTimerListener,H
                        toolBar.setBatchReservationEnabled(false);\r
                        // スナップショットを無効にする\r
                        toolBar.setSnapShotEnabled(false);\r
+                       // 新聞形式以外ではマッチ枠を無効にする\r
+                       toolBar.setBorderToggleEnabled(false, bounds.getShowReservedBackground());\r
                }\r
 \r
                @Override\r
@@ -569,7 +573,7 @@ public class Viewer extends JFrame implements ChangeListener,TickTimerListener,H
                        // ジャンル別背景色を有効にする\r
                        toolBar.setPaperColorDialogEnabled(true);\r
                        // マッチ枠を有効にする\r
-                       toolBar.setBorderToggleEnabled(true);\r
+                       toolBar.setBorderToggleEnabled(true, bounds.getShowMatchedBorder());\r
                }\r
 \r
                @Override\r
@@ -581,7 +585,7 @@ public class Viewer extends JFrame implements ChangeListener,TickTimerListener,H
                        // 新聞形式以外ではジャンル別背景色を無効にする\r
                        toolBar.setPaperColorDialogEnabled(false);\r
                        // 新聞形式以外ではマッチ枠を無効にする\r
-                       toolBar.setBorderToggleEnabled(false);\r
+                       toolBar.setBorderToggleEnabled(false, bounds.getShowMatchedBorder());\r
                }\r
 \r
                @Override\r
@@ -1315,9 +1319,14 @@ public class Viewer extends JFrame implements ChangeListener,TickTimerListener,H
                }\r
 \r
                @Override\r
-               protected void toggleMatchBorder() {\r
+               protected void toggleMatchBorder(boolean b) {\r
                        timer_now.pause();\r
-                       paper.toggleMatchBorder();\r
+                       if ( mainWindow.isTabSelected(MWinTab.LISTED) ) {\r
+                               listed.toggleReservedBackground(b);\r
+                       }\r
+                       else if ( mainWindow.isTabSelected(MWinTab.PAPER) ) {\r
+                               paper.toggleMatchBorder(b);\r
+                       }\r
                        timer_now.start();\r
                }\r
 \r