Speichern von Einstellungen
Re: Speichern von Einstellungen
Den Namen einer Filterkomponente erhält man, wenn man getName() aufruft. Löschungen von Filerkomponenten bekommt ein Plugin nicht mit. Daher kann man die Einstellungen halt nicht löschen, aber die werden kaum riesig sein, so dass deren Vorhandensein ein Problem sein dürfte.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Unterstütze die Weiterentwicklung von TV-Browser
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: Speichern von Einstellungen
Auf welches Object willst Du getName() anwenden?
Das dachte ich mir schon. Das Problem mit den verbleibenden Property-Files ist auch nicht deren Größe, sondern die Tatsache, dass man zu einem späteren Zeitpunkt eine CSV-Datei-Filterkomponente erstellen könnte, die dann bei Namensgleichheit auf das entsprechnde verbliebene Property-File zugreifen würde.
Das dachte ich mir schon. Das Problem mit den verbleibenden Property-Files ist auch nicht deren Größe, sondern die Tatsache, dass man zu einem späteren Zeitpunkt eine CSV-Datei-Filterkomponente erstellen könnte, die dann bei Namensgleichheit auf das entsprechnde verbliebene Property-File zugreifen würde.
Re: Speichern von Einstellungen
Auf die Klasse der Filterkomponente.Sheldon2012 hat geschrieben:Auf welches Object willst Du getName() anwenden?
Da könntest du ja beim Erstellen des Einstellungspanel eine Abfrage von getName() machen, wenn null zurück kommt, ist die Komponente neu, das merkst du dir für die Instanz und wenn der Nutzer die Filterkomponente speichert, prüfst du diese Variable gegen den eingegebenen Namen. (Musst du ja eigentlich sowieso machen, falls der Nutzer den Namen der Komponente ändert, wenn der Name der Komponente für die Propertiesdatei verwendet wird.)Sheldon2012 hat geschrieben:Das dachte ich mir schon. Das Problem mit den verbleibenden Property-Files ist auch nicht deren Größe, sondern die Tatsache, dass man zu einem späteren Zeitpunkt eine CSV-Datei-Filterkomponente erstellen könnte, die dann bei Namensgleichheit auf das entsprechnde verbliebene Property-File zugreifen würde.
EDIT: Der Aufruf von getName() muss durch einen Thread verzögert werden, da TV-Browser erst saveSettings() aufruft und danach dann den neuen Namen setzt.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Unterstütze die Weiterentwicklung von TV-Browser
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: Speichern von Einstellungen
Ich glaube ich mißverstehe Dich gerade. Meinst Du this.getClass().getName? Das klappt nämlich, wie erwartet, nicht.
Wenn die erstellte Filterkomponente den Namen "Episoden" hat, dann möchte ich diesen Namen auslesen.
EDIT: Hat sich erledigt. Es ist natürlich this.getName(). Danke!
Wenn die erstellte Filterkomponente den Namen "Episoden" hat, dann möchte ich diesen Namen auslesen.
EDIT: Hat sich erledigt. Es ist natürlich this.getName(). Danke!
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: Speichern von Einstellungen
Und wie? Hast Du da ein Beispiel?ds10 hat geschrieben: EDIT: Der Aufruf von getName() muss durch einen Thread verzögert werden, da TV-Browser erst saveSettings() aufruft und danach dann den neuen Namen setzt.
Re: Speichern von Einstellungen
Code: Alles auswählen
new Thread("CSV WAIT FOR NAME") {
@Override
public void run() {
try {
sleep(1000);
}catch(InterruptedException e) {
// ignore
}
String name = CSVFilterComp.this.getName();
// do something with name
}.start();
}
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Unterstütze die Weiterentwicklung von TV-Browser
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: Speichern von Einstellungen
Ok! Du meintest also ein Sleep. Alles klar! Danke!
Aber in welcher Methode muß ich dann den Thread einbauen?
Wahrscheinlich in public JPanel getSettingsPanel(), oder?
Aber in welcher Methode muß ich dann den Thread einbauen?
Wahrscheinlich in public JPanel getSettingsPanel(), oder?
Re: Speichern von Einstellungen
Nein, dort fragst du den Namen normal ab und speicherst den in einer Klassenvariable. Den Thread baust du in saveSettings() ein.Sheldon2012 hat geschrieben:Ok! Du meintest also ein Sleep. Alles klar! Danke!
Aber in welcher Methode muß ich dann den Thread einbauen?
Wahrscheinlich in public JPanel getSettingsPanel(), oder?
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Unterstütze die Weiterentwicklung von TV-Browser
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: Speichern von Einstellungen
Alles klar! Danke!
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: Speichern von Einstellungen
Alle Property-Files befinden sich ja in einer Verzeichnisstruktur auf die das Plugin zugreifen kann. Daher kann ich eine Liste aller Property-Files erstelen. Wenn nun das Plugin auch eine Liste aller CSV-Datei-Filterkomponenten ertsellen könnte, wäre es ja möglich, diese abzugleichen und die Property-Files zu löschen, zu denen es keine Filterkomponente mehr gibt. Dann wäre das System sauber. Kann ich eine solche Liste abfragen?
Re: Speichern von Einstellungen
Nein, ein Plugin kann nur die Liste der Filter abfragen, nicht die Filterkomponenten.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Unterstütze die Weiterentwicklung von TV-Browser
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: Speichern von Einstellungen
Schade! Ich würde das Verzeichnis halt gerne aufräumen.
Das könnte ja die erste aufgerufene Instanz erlediigen, Danach ist für die anderen halt nichts mehr zu tun.
Das könnte ja die erste aufgerufene Instanz erlediigen, Danach ist für die anderen halt nichts mehr zu tun.
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: Speichern von Einstellungen
Im settings-Verzeichnis liegt im Ordner filters die Datei java.csvfilefiltercomponent.CSVFileFilterComp.dat.
Dort stehen die erstellten Filterkomponenten drin. Diese Datei könnte man doch zum Abgleich verwenden.
Steht die Filterkomponente nicht mehr drin, so wird die Property-Datei gelöscht.
Oder siehst Du da noch ein Problem?
Dort stehen die erstellten Filterkomponenten drin. Diese Datei könnte man doch zum Abgleich verwenden.
Steht die Filterkomponente nicht mehr drin, so wird die Property-Datei gelöscht.
Oder siehst Du da noch ein Problem?
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: Speichern von Einstellungen
Soweit ich es bislang testen konnte, funktioniert das Aufräumen der Properties durch den Abgleich mit der Datei
sehr gut.
Nun müßte ich halt wissen, ob die Struktur auf allen Betriebssystemen identisch ist oder ob es da noch Überraschungen geben kann.
.
Code: Alles auswählen
java.csvfilefiltercomponent.CSVFileFilterComp.dat
Nun müßte ich halt wissen, ob die Struktur auf allen Betriebssystemen identisch ist oder ob es da noch Überraschungen geben kann.
.
Re: Speichern von Einstellungen
Es gibt keine Unterschiede zwischen den BS, dann das würde nur Ärger machen, da dann z.B. die transportable Version auf einem USB-Stick nicht unter allen BS laufen würde.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Unterstütze die Weiterentwicklung von TV-Browser