diff -r 41e91ea94acb -r ec0e970e0830 java/rozsirene-atributy/src/cz/frantovo/rozsireneatributy/gui/EditorNázvůAtributů.java
--- a/java/rozsirene-atributy/src/cz/frantovo/rozsireneatributy/gui/EditorNázvůAtributů.java Sat Dec 16 19:09:35 2023 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/**
- * Rozšířené atributy – program na správu rozšířených atributů souborů
- * Copyright © 2012 František Kučera (frantovo.cz)
- *
- * 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.
- *
- * 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 .
- */
-package cz.frantovo.rozsireneatributy.gui;
-
-import cz.frantovo.rozsireneatributy.Konfigurace;
-import cz.frantovo.rozsireneatributy.Konfigurace.DefiniceAtributu;
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.EventObject;
-import javax.swing.JComboBox;
-import javax.swing.JTable;
-import javax.swing.event.CellEditorListener;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.EventListenerList;
-import javax.swing.table.TableCellEditor;
-
-/**
- * Umožňuje výběr názvu atributu z předvoleného seznamu
- * (standardizované atributy).
- *
- * @author Ing. František Kučera (frantovo.cz)
- */
-public class EditorNázvůAtributů
- extends JComboBox
- implements TableCellEditor {
-
- private final Konfigurace konfigurace;
- protected EventListenerList posluchače = new EventListenerList();
- protected ChangeEvent událost = new ChangeEvent(this);
-
- public EditorNázvůAtributů(Konfigurace konfigurace) {
- super();
- this.konfigurace = konfigurace;
- setEditable(true);
- addActionListener(new ActionListener() {
-
- @Override
- public void actionPerformed(ActionEvent e) {
- fireEditiaceSkončila();
- }
- });
- }
-
- protected void fireEditiaceSkončila() {
- for (Object posluchač : posluchače.getListenerList()) {
- if (posluchač instanceof CellEditorListener) {
- ((CellEditorListener) posluchač).editingStopped(událost);
- }
- }
- }
-
- protected void fireEditiaceZrušena() {
- for (Object posluchač : posluchače.getListenerList()) {
- if (posluchač instanceof CellEditorListener) {
- ((CellEditorListener) posluchač).editingCanceled(událost);
- }
- }
- }
-
- /**
- * TODO:
- * - další standardní atributy
- * - načítat z XML souboru
- *
- * @see http://www.freedesktop.org/wiki/CommonExtendedAttributes
- */
- private void obnovHodnoty(Object názevAtributu) {
- removeAllItems();
-
- if (názevAtributu == null) {
- názevAtributu = "";
- } else if (!(názevAtributu instanceof String)) {
- názevAtributu = String.valueOf(názevAtributu);
- }
- addItem((String) názevAtributu);
- setSelectedItem(názevAtributu);
-
- for (DefiniceAtributu da : konfigurace.getAtributy()) {
- addItem(da.getNázev());
- }
-
- if (!konfigurace.getAtributy().isEmpty()) return;
-
- // General attributes in current use
- addItem("mime_type");
- addItem("charset");
- addItem("creator");
-
- // Proposed metadata attributes
- addItem("xdg.comment");
- addItem("xdg.origin.url");
- addItem("xdg.origin.email.subject");
- addItem("xdg.origin.email.from");
- addItem("xdg.origin.email.message-id");
- addItem("xdg.language");
- addItem("xdg.creator");
- addItem("xdg.publisher");
-
- // Proposed control attributes
- addItem("xdg.robots.index");
- addItem("xdg.robots.backup");
-
- // Dublin Core
- addItem("dublincore.title");
- addItem("dublincore.creator");
- addItem("dublincore.subject");
- addItem("dublincore.description");
- addItem("dublincore.publisher");
- addItem("dublincore.contributor");
- addItem("dublincore.date");
- addItem("dublincore.type");
- addItem("dublincore.format");
- addItem("dublincore.identifier");
- addItem("dublincore.source");
- addItem("dublincore.language");
- addItem("dublincore.relation");
- addItem("dublincore.coverage");
- addItem("dublincore.rights");
-
- // Application-specific attributes in current use
- addItem("mime_encoding");
- addItem("apache_handler");
- addItem("Beagle.AttrTime");
- addItem("Beagle.Fingerprint");
- addItem("Beagle.MTime");
- addItem("Beagle.Uid");
- }
-
- @Override
- public Component getTableCellEditorComponent(
- JTable tabulka,
- Object hodnota,
- boolean vybraná,
- int řádek,
- int sloupec) {
- obnovHodnoty(hodnota);
- return this;
- }
-
- @Override
- public Object getCellEditorValue() {
- return getSelectedItem();
- }
-
- @Override
- public boolean isCellEditable(EventObject anEvent) {
- return true;
- }
-
- @Override
- public boolean shouldSelectCell(EventObject anEvent) {
- return true;
- }
-
- @Override
- public boolean stopCellEditing() {
- fireEditiaceSkončila();
- return true;
- }
-
- @Override
- public void cancelCellEditing() {
- fireEditiaceZrušena();
- }
-
- @Override
- public void addCellEditorListener(CellEditorListener l) {
- posluchače.add(CellEditorListener.class, l);
- }
-
- @Override
- public void removeCellEditorListener(CellEditorListener l) {
- posluchače.remove(CellEditorListener.class, l);
- }
-}