New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Open in Browser" konfigurierbar machen #309

Closed
alani1 opened this Issue Jun 7, 2015 · 10 comments

Comments

Projects
None yet
2 participants
@alani1
Contributor

alani1 commented Jun 7, 2015

Ich würde gerne zusätzliche Webseiten zum Kontext Menu hinzufügen. Dazu sollten die Webseiten konfigurierbar sein.

Idee:

  • Neue WebLocationPreferencesPage mit einer Liste/Tabelle von (Label, Pattern).
  • WebLocationMenu lädt das IniFile und erstellt die WebLocation Objekte
  • default preferences enthalten alle Websites welche heute schon statisch im Menu erzeugt werden
@buchen

This comment has been minimized.

Owner

buchen commented Jun 7, 2015

👍 Sehr gute Idee. Ich bin selber nie dazu gekommen, weil... na ja... ich kann sie ja einfach hinzufügen...

Alle Punkte (eins bis drei) sehe ich auch so.

Die einzige Frage für mich: Wo speichern? Als "preference" im "workspace" Verzeichnis? Das gilt dann für alle geöffneten Dateien, aber eben nur in dieser Installation. Oder im "client"? Das ist dann pro Datei, die Datei bei Änderungen als "dirty" markiert, aber wenn man die Datei auf einem anderen Rechner öffnet, sind die Kontenmenüs da. Was meinst Du?

Dann fände es super, wenn man auch einen Separator hinzufügen könnte. Sagen wir mal in dem der Bookmark Name einfach ein "-" dash ist:

Bookmark URL
Yahoo Finance http://de.finance.yahoo.com/q?s={tickerSymbol}
-
Nächstes...

Momentan werden nur isin und tickerSymbol unterstützt. Ich würde mindestens noch wkn hinzufügen, vielleicht noch name (als Suchanfrage).

@buchen buchen added the enhancement label Jun 7, 2015

@buchen buchen added this to the 2015 Q2 Release milestone Jun 7, 2015

@alani1

This comment has been minimized.

Contributor

alani1 commented Jun 7, 2015

Ich hätte die WebLocations im inifile gespeichert, gleich wie die Spracheinstellung. Aber irgendwie wenn ich so an speichern in der Cloud denke ist die Idee die Bookmarks im Client zu speichern bestechend!

  1. Passt dann der Dialog noch zu den Preferences ? Die sind ja unabhängig vom geöffneten File. Falls nicht wohin damit ?
  2. Wie speichern im Client ? ein neues private attribute bookmarks vom Typ Map ?
@buchen

This comment has been minimized.

Owner

buchen commented Jun 7, 2015

Passt dann der Dialog noch zu den Preferences ? Die sind ja unabhängig vom geöffneten File. Falls nicht wohin damit ?

Guter Punk. Vielleicht könnte man in der Navigationszeile unter "Allgemeine Daten" noch einen Punkt "Einstellungen" einfügen. Da sind dann momentan nur die Bookmarks. Falls mehr kommt, könnte man ja noch mehr Reiter erstellen.

Wie speichern im Client ? ein neues private attribute bookmarks vom Typ Map ?

Im Client gibt es schon ein Attribut "properties" für generische key-value pairs - allerdings als Strings. Entweder Du speicherst Die Bookmarks da - in irgendeiner Form - serialisiert. Oder man bohrt das auf und macht eine Map<String, Object>. Ich würde ersteres mal ausprobieren. Wenn das zu umständlich wird, dann eher aufbohren. Mein Hintergedanke: ich möchte eine Proliferation von Attributen im Client vermeiden.

Ich hätte die WebLocations im inifile gespeichert, gleich wie die Spracheinstellung.

Die Spracheinstellung ist dann spezifisch weil die Local vor dem Start gesetzt werden muss. Darum ist die in dem "inifile". Andere Einstellungen kann man auch separat speichern (die landen dann im Workspace Folder).

@buchen

This comment has been minimized.

Owner

buchen commented Jun 7, 2015

Ah ja, und die Change kann ruhig gegen master gehen. Dafür brauchen wir nicht auf den feature_currencies branch warten.

@alani1

This comment has been minimized.

Contributor

alani1 commented Jun 8, 2015

Hi Andreas,

klar geht der gegen Master. Ich habe nun einen ersten Entwurf. Es fehlt
noch das Speichern/Serializing im Client. Habe eine ClientSettings Klasse
erstellt welche die WebLocations in einer ArrayList hält, so musste ich am
Client gar nichts ändern. Das Serializing würde ich gerne erst beim
speichern des Files machen. Wie kann ich eine Klasse beim Client
registrieren so dass diese über einen beforeSave Event informiert wird ?
Lesen vom Client tue ich indem die Klasse als Propertylistener registriert
ist.

Es fehlt mir im TableViewer noch eine möglichkeit die WebLocations
umzuordnen. Ev. lass ich das in einer ersten Version auch weg. Deine
Vorschläge Separator, wkn und name sind implementiert.

@buchen

This comment has been minimized.

Owner

buchen commented Jun 8, 2015

Das Serializing würde ich gerne erst beim
speichern des Files machen. Wie kann ich eine Klasse beim Client
registrieren so dass diese über einen beforeSave Event informiert wird ?

So einen Event gibt es nicht. Bisher habe ich bei solchen Fällen bei der Änderung einfach "drüber" serialisiert. In dem Fall der "Bookmarks" ändert sich das ja auch nicht häufig - nur wenn der Benutzer in der Einstellungenansicht tatsächlich eine Änderung vornimmt. Kann man da nicht z.B. die ClientSettings#toString in die Client Properties schreiben? Zu simplistisch?

Ansonsten müsste man einen Event einführen. Und eine - wie auch immer geartete - Registrierung von Listeners.

Es fehlt mir im TableViewer noch eine möglichkeit die WebLocations
umzuordnen. Ev. lass ich das in einer ersten Version auch weg.

Genau. Lieber kleine Inkremente.

alani1 added a commit to alani1/portfolio that referenced this issue Jun 9, 2015

@buchen

This comment has been minimized.

Owner

buchen commented Jun 9, 2015

Ich sehe gerade Du hast schon was in Dein Repo gepusht. Mir ist noch die Idee gekommen, dass man die Konfiguration ja auch aus dem Kontextmenü aufrufen könnte. Also ein letzter Menüpunkt "Bookmarks konfigurieren..." oder so ähnlich. Dann ist die Konfiguration auch an der Stelle, an der man sich gerade denkt, Mensch, ich würde doch noch andere Bookmarks haben wollen.

@alani1

This comment has been minimized.

Contributor

alani1 commented Jun 9, 2015

gute Idee ! Das kann ich gerne noch hinzufügen. Hast du eine Idee wie man vom WebLocationMenu an eine Referenz auf das PortfolioPart kommt ? Denn da müsste ich wohl activateView(view, parameter) aufrufen.

@buchen

This comment has been minimized.

Owner

buchen commented Jun 9, 2015

Die AbstractFinanceView hat eine Methode #getPart. Ein bisschen blöd, aber weiterreichen?

buchen added a commit that referenced this issue Jun 20, 2015

Minor changes to bookmarks: added separator, bumped up client version
- bumped up file version because older versions will not be able to
  properly load and save a file with client settings
- added context menu to add separator so that users get a hint how
  to create separators
- added NON-NLS-x tags
- used IMG_PLUS icon in toolbar to be consistent with other views
- removed icons in context menu to be consistent with other views
- fixed labels: twice "Nachher einfügen"

Issue: #309
@buchen

This comment has been minimized.

Owner

buchen commented Jun 20, 2015

Im Prinzip fehlt jetzt eigentlich nur ein "drag & drop" um die Bookmarks in die richtige Reihenfolge zu bringen.

buchen added a commit that referenced this issue Jul 12, 2015

@buchen buchen closed this Oct 3, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment