/*
* MediathekView
* Copyright (C) 2014 W. Xaver
* W.Xaver[at]googlemail.com
* http://zdfmediathk.sourceforge.net/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mediathek.config;
import java.awt.Color;
import java.util.LinkedList;
import mediathek.tool.MVC;
public class MVColor {
// Tabelle Filme
public static final MVC FILM_LIVESTREAM = new MVC(MVConfig.Configs.FARBE__FILM_LIVESTREAM, new Color(130, 0, 0), "Filme, Livestreams");
public static final MVC FILM_HISTORY = new MVC(MVConfig.Configs.FARBE__FILM_HISTORY, new Color(225, 225, 225), "Filme, gesehen");
public static final MVC FILM_NEU = new MVC(MVConfig.Configs.FARBE__FILM_NEU, new Color(0, 0, 240), "Filme, neue");
public static final MVC FILM_GEOBLOCK_BACKGROUND = new MVC(MVConfig.Configs.FARBE__FILM_GEOBLOCK_BACKGROUND, new Color(255, 254, 230), "Film, geogeblockt");
public static final MVC FILM_GEOBLOCK_BACKGROUND_SEL = new MVC(MVConfig.Configs.FARBE__FILM_GEOBLOCK_BACKGROUND_SEL, new Color(255, 251, 179), "Film, geogeblockt, selektiert");
// Tabelle Downloads
public static final MVC DOWNLOAD_IST_ABO = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_IST_ABO, new Color(138, 67, 0), "Download ist ein Abo");
public static final MVC DOWNLOAD_IST_DIREKTER_DOWNLOAD = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_IST_DIREKTER_DOWNLOAD, new Color(0, 72, 138), "Download ist ein direkter Download");
public static final MVC DOWNLOAD_ANSEHEN = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_ANSEHEN, new Color(0, 125, 0), "Download kann schon angesehen werden");
// status Downloads
public static final MVC DOWNLOAD_WAIT = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_WAIT, new Color(239, 244, 255), "Download, noch nicht gestartet");
public static final MVC DOWNLOAD_WAIT_SEL = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_WAIT_SEL, new Color(199, 206, 222), "Download, noch nicht gestartet, selektiert");
public static final MVC DOWNLOAD_RUN = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_RUN, new Color(241, 228, 188), "Download, läuft");
public static final MVC DOWNLOAD_RUN_SEL = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_RUN_SEL, new Color(206, 178, 92), "Download, läuft, selektiert");
public static final MVC DOWNLOAD_FERTIG = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_FERTIG, new Color(188, 241, 195), "Download, fertig");
public static final MVC DOWNLOAD_FERTIG_SEL = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_FERTIG_SEL, new Color(115, 206, 92), "Download, fertig, selektiert");
public static final MVC DOWNLOAD_FEHLER = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_FEHLER, new Color(241, 188, 221), "Download, fehlerhaft");
public static final MVC DOWNLOAD_FEHLER_SEL = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_FEHLER_SEL, new Color(206, 92, 128), "Download, fehlerhaft, selektiert");
// Tabelle Abos
public static final MVC ABO_AUSGESCHALTET = new MVC(MVConfig.Configs.FARBE__ABO_AUSGESCHALTET, new Color(225, 225, 225), "Abo, ausgeschaltet");
public static final MVC ABO_AUSGESCHALTET_SEL = new MVC(MVConfig.Configs.FARBE__ABO_AUSGESCHALTET_SEL, new Color(190, 190, 190), "Abo, ausgeschaltet, selektiert");
// Filter wenn RegEx
public static final MVC FILTER_REGEX = new MVC(MVConfig.Configs.FARBE__FILTER_REGEX, new Color(153, 214, 255), "Filter ist RegEx");
public static final MVC FILTER_REGEX_FEHLER = new MVC(MVConfig.Configs.FARBE__FILTER_REGEX_FEHLER, Color.RED, "Filter ist Regex, fehlerhaft");
// ProgrammGui
public static final MVC BUTTON_SET_ABSPIELEN = new MVC(MVConfig.Configs.FARBE__BUTTON_SET_ABSPIELEN, new Color(205, 255, 191), "Einstellungen Sets, Button Abspielen");
public static final MVC FILMLISTE_LADEN_AKTIV = new MVC(MVConfig.Configs.FARBE__FILMLISTE_LADEN_AKTIV, new Color(205, 255, 191), "Einstellungen Filmliste, Auto-Manuell");
// DialogDownload
public static final MVC DOWNLOAD_DATEINAME_EXISTIERT = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_DATEINAME_EXISTIERT, new Color(190, 0, 0), "Download, Dateiname existiert schon");
public static final MVC DOWNLOAD_DATEINAME_NEU = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_DATEINAME_NEU, new Color(0, 140, 0), "Download, Dateiname ist neu");
public static final MVC DOWNLOAD_DATEINAME_ALT = new MVC(MVConfig.Configs.FARBE__DOWNLOAD_DATEINAME_ALT, new Color(0, 0, 200), "Download, Dateiname ist der alte");
public LinkedList<MVC> liste = new LinkedList<>();
public static final int MVC_TEXT = 0;
public static final int MVC_COLOR = 1;
public static final int MVC_MAX = 2;
public MVColor() {
liste.add(FILM_LIVESTREAM);
liste.add(FILM_HISTORY);
liste.add(FILM_NEU);
liste.add(FILM_GEOBLOCK_BACKGROUND);
liste.add(FILM_GEOBLOCK_BACKGROUND_SEL);
liste.add(DOWNLOAD_IST_ABO);
liste.add(DOWNLOAD_IST_DIREKTER_DOWNLOAD);
liste.add(DOWNLOAD_ANSEHEN);
liste.add(DOWNLOAD_WAIT);
liste.add(DOWNLOAD_WAIT_SEL);
liste.add(DOWNLOAD_RUN);
liste.add(DOWNLOAD_RUN_SEL);
liste.add(DOWNLOAD_FERTIG);
liste.add(DOWNLOAD_FERTIG_SEL);
liste.add(DOWNLOAD_FEHLER);
liste.add(DOWNLOAD_FEHLER_SEL);
liste.add(ABO_AUSGESCHALTET);
liste.add(ABO_AUSGESCHALTET_SEL);
liste.add(FILTER_REGEX);
liste.add(FILTER_REGEX_FEHLER);
liste.add(BUTTON_SET_ABSPIELEN);
liste.add(FILMLISTE_LADEN_AKTIV);
liste.add(DOWNLOAD_DATEINAME_EXISTIERT);
liste.add(DOWNLOAD_DATEINAME_NEU);
liste.add(DOWNLOAD_DATEINAME_ALT);
}
public final void load() {
liste.stream().filter(mvc -> !MVConfig.get(mvc.configs).isEmpty()).forEach(mvc -> {
try {
mvc.color = new Color(Integer.parseInt(MVConfig.get(mvc.configs)));
} catch (Exception ignored) {
}
});
}
public final void save() {
for (MVC mvc : liste) {
MVConfig.add(mvc.configs, String.valueOf(mvc.color.getRGB()));
}
}
public void reset() {
liste.forEach(MVC::reset);
}
}