Posts Tagged ‘BVASystem’

Viel Arbeit für eine kleine Änderung

Donnerstag, September 11th, 2014

Eigentlich hatte ich ja vor, wieder die meiste Zeit in die nicht sichtbaren Änderungen zu investieren. Allerdings habe ich mich da diesmal total verkalkuliert. Als kleines sichtbares Gimmick hatte ich mir überlegt, nach langer Zeit wieder mal ein neues Element zur Bildfilterung zu implementieren. Dazu hatte ich mir die Brennweite, mit der die Fotos aufgenommen wurden, herausgesucht. Das Grundgerüst zur Bildfilterung stand eigentlich recht schnell, aber dann fiel es mir extrem schwer, ein geeignetes Oberflächenelement zu erstellen, mit dem die Filterparameter eingestellt werden können.

Schnell legte ich mich darauf fest, ähnlich wie bei dem Filterelement „mittlere Helligkeit“ vorzugehen. Dort kann durch einen Schieberegler mit zwei Schiebern der Bereich eingestellt werden, in dem sich die gesuchten Bilder befinden sollen. Allerdings hat diese Vorgehensweise bei der Brennweite einen entscheidenden Nachteil. Die gängigen Objektive, die es für Kameras zu kaufen gibt, bewegen sich in einem Bereich von 0-300 Millimeter Brennweite. Im Weitwinkelbereich, der sich bis etwa 50 Millimeter Brennweite erstreckt, führt eine Änderung um wenige Millimeter zu total unterschiedlichen Bildern. Im Telebereich dagegen ist es nicht so entscheidend, ob der Wert um 10 Millimeter größer oder kleiner ist. Die Skala des Schiebereglers sollte also nicht linear ansteigen, da ansonsten im Weitwinkelbereich nicht genau genug ausgewählt werden kann.

Daher habe ich mich entschieden, einen drei geteilten Schieberegler zu erstellen.  Das erste Drittel erfasst den Bereich von 0 bis 20 Millimeter, der mittlere Bereich erstreckt sich von 21 bis 100 Millimeter Brennweite und der letzte Bereich dient zur Auswahl der Brennweiten von 101 bis 999 Millimeter Brennweite. Ich habe ein deutlich größeres Maximum gewählt, damit auch Objektive mit exotischen Brennweiten mit dem Filter erfasst werden können. Trotzdem kann der gesuchte Bereich im Weitwinkelteil sehr genau ausgewählt werden. Damit die Komponente intuitiv bedienbar bleibt, wird unter dem Schieberegler der ausgewählte Bereich in Textform ausgegeben.

Filterkriterium Brennweite

Filterkriterium Brennweite

Da ich in die Komponente zur Auswahl des Bereiches viel Arbeit gesteckt habe, werde ich in den nächsten Wochen die Brennweite auch als Kriterium in der Ansichtseinschränkung nutzbar machen. Da die Komponente zur Auswahl bereits fertig ist, sollte diesmal wieder mehr Zeit bleiben, um die internen Änderungen voranzutreiben.

Unsichtbare Änderungen Teil 2

Montag, August 18th, 2014

Auch beim heutigen Versionsupdate spielt sich wieder ein Großteil der Änderungen im Hintergrund ab. Nachdem ich beim letzten mal die einfachsten Datenbankabfragen auf die neue Datenbankzugriffsschicht umgestellt wurden, habe ich mir dieses mal alle Datenbankabfragen, die zur Erstellung des Baumes auf der linken Seite der Anwendung benötigt werden, vorgenommen. Es werden nun also die Fotoalben, die Schlagwortkategorien und der Aufnahmedatumsbereich über die neue Datenbankzugriffsschicht abgefragt. Damit muss ich nun nur noch 3 Programmmodule umstellen: die Abfrage der Bildlisten, die Abfrage der Einzelbilder und alle Änderungsabfragen, die vom Worker durchgeführt werden. Gerade der letzte Teil bereitet mir noch einiges an Kopfzerbrechen, da meine selbst geschriebene Datenbankzugriffsschicht noch nicht in der Lage ist, Parameter in SQL-Befehlen zu benutzen.

Weiterhin habe ich vor einigen Tagen damit begonnen, etwas umzusetzen, was ich „WebDB“ getauft habe. Dies soll ein Webmodul, welches ich in PHP entwickele, werden. Es wird  zwischen der eigentlichen Datenbank und dem BVASystem geschaltet. Damit möchte ich erreichen, das die BVASystem Datenbank auch auf einem Webserver installiert werden kann, auf dem man das Administrator Kennwort zur MySQL Datenbank nicht hat. Generell stelle ich es mir so vor, das das BVASystem über eine Http-Anfrage Daten bei der WebDB anfordert. Diese führt die eigentliche SQL-Abfrage durch und liefert die Ergebnisse in Form einer XML-Datei an das BVASystem. Die Datenbank stellt die Daten dann so dar, als wenn eine direkte Verbindung zur Datenbank bestanden hätte. Ein weiterer schöner Nebeneffekt wird es sein, das ich euch damit eine Demo-Datenbank zur Verfügung stellen kann. Ich erhoffe mir, das es dadurch viel einfacher wird, das BVASystem zu testen. Eine lokale Installation eines Datenbankmanagementsystems würde für den Test nämlich entfallen.

Zu guter letzt habe ich natürlich auch wieder etwas sichtbares am System verändert. Es können nun Ansichtseinschränkungen nach der automatischen Bildbewertung gesetzt werden. Außerdem befindet sich nun oben rechts ein Informationsbild, welches darauf hinweist, das eine Ansichtseinschränkung aktiv ist. Damit ist nun auch bei der eingeklappten Ordneransicht erkennbar, ob eine Ansichtseinschränkung aktiv ist.

Hinweis auf aktive Ansichtseinschränkung

Hinweis auf aktive Ansichtseinschränkung

Unsichtbare Änderungen Teil 1

Donnerstag, Juli 31st, 2014

Mal wieder habe ich mit Änderungen an der Bilddatenbank begonnen, die man über einen längeren Zeitraum kaum bemerken wird. Dieses mal geht es um die Datenbankzugriffskomponenten. Bisher habe ich dort immer ADO-Komponenten eingesetzt, die per ODBC eine Datenbankverbindung ermöglichten. Wie ich damit begonnen habe SQLite im BVASystem zu integrieren bemerkte ich schnell, das ich dafür andere Komponenten benötige. Da ich allerdings nicht alles doppelt programmieren möchte, habe ich mir überlegt eine eigene Datenbankschnittstelle zu entwickeln, die auf beide Datenbanksysteme zugreifen kann.

Mittlerweile ist der lesende Datenbankzugriff über die neue Datenbankschnittstelle möglich und ich habe bereits einen kleinen Teil der Funktionen des BVASystems umgestellt. Die einfachen Abfragen, mit denen zum Beispiel die Auswahllisten gefüllt werden, werden jetzt über die die neue Datenbankschnittstelle durchgeführt. Eigentlich ist es etwas schade, das die SQLite Datenbank noch leer ist. Denn die umgestellten Abfragen könnten nun ohne weiteren Programmieraufwand auch über SQLite ausgeführt werden.

Ein weiteres Problem versuche ich bei der Umstellung gleich mitzulösen. Beim BVASystem ist es so, das jedes eigenständige Programmmodul eine eigene Datenbankverbindung besitzt, da die ADO-Komponenten sicht Thread-Safe sind. Nutzt man über mehrere Threads hinweg eine einzelne Datenbankverbindung kommt es zu unkontrollierbaren Programmabstürzen. Mein Problem dabei ist, das in unterschiedlichen Modulen teilweise gleiche Abfragen durchgeführt werden. Da die Module nichts voneinander wissen, habe ich die gleiche Funktionalität doppelt programmiert. Dies ist sehr unschön und soll daher nun durch eine zentralere Lösung ersetzt werden.

Ich habe damit begonnen, alle Datenbankfunktionen in nur einem Objekt zusammenzufassen. Die jeweiligen Programmmodule erhalten jeweils eine Instanz von diesem Objekt und sind somit in der Lage, alle Datenbankfunktionen auszuführen. Auch diese Zentralisierung habe ich in den letzten beiden Wochen für das erste Programmmodul umgesetzt. Die weiteren werden in den nächsten Versionen folgen.

Da ich allerdings überhaupt kein Freund davon bin, nur unsichtbare Programmänderungen umzusetzen, habe ich in den letzten Tagen noch eine schöne neue Funktion implementiert. Es ist nun möglich, die Ansicht auf die Datenbank nach der manuellen Bildbewertung auszuführen. Ab jetzt wird es nicht mehr so langwierig/langweilig, wenn man Freunden Urlaubsbilder zeigen möchte. Einfach die Einschränkung auf die am besten bewerteten Fotos setzen und schon sind die ganzen, nicht so schönen Bilder, nicht mehr sichtbar. Die neue Funktion kann, wie immer, natürlich mit der neuen Entwicklerversion getestet werden.

Ansichtseinschränkung Manuelle Bildbewertung

Ansichtseinschränkung Manuelle Bildbewertung

BVASystem Version 2.2.1

Sonntag, Juli 13th, 2014

Die heutige Version des BVASystems, ist für mich etwas ganz besonderes, denn es ist die insgesamt einhundertste Version, die ich hier auf der Homepage veröffentlicht habe. Von diesen 100 Versionen waren 13 Versionen vom alten BVA-System 1.0. Die restlichen Versionen gehen alle auf das Konto dieses Blogs, den ich mit dem Start vom BVASystem 2.0 ins Leben gerufen habe. Ehrlich gesagt war der Blog die beste Idee, die ich jemals hatte. Ich finde es zum Beispiel gerade jetzt total interessant, in alten Entwicklungsständen zu stöbern und diese mit der aktuellen Version zu vergleichen. Es ist schon erstaunlich, auf was für eine Größe das BVASystem herangewachsen ist.  Nun aber wieder zur aktuellen Version:

Was ist neu in der Version 2.2.1

Die größte Änderung, die ich in den letzten Monaten umgesetzt habe ist die Ansichtseinschränkung. Mit dieser Funktion können unerwünschte Fotos aus den Bildlisten komplett ausgeblendet werden. Mir war diese Funktion so wichtig, damit ich die Bilder meiner Kinder ausblenden kann, wenn ich mir meine eigenen Fotos ansehen möchte. Des weiteren habe ich die Schlagwortverwaltung um weitere Funktionen erweitert. So ist es nun möglich Schlagworte umzubenennen, Schlagworte zu löschen und es können sogar 2 ähnliche Schlagworte zusammengeführt werden. Außerdem habe ich mit einigen Änderungen begonnen, die noch keine sichtbaren Früchte tragen. Wie versprochen habe ich erste Vorarbeiten durchgeführt, damit langfristig alle Datenbankfunktionen auch bei Bildern auf der lokalen Festplatte zur Verfügung stehen. Zu guter letzt habe ich mir eine eigene Scrollbar und eine eigene Scrollbox-Komponente geschrieben. Sie ersetzen nun bereits zum Großteil die hässlichen Standard-Scrollbars. 

BVASystem 2.2.1 - Einzelbildansicht

BVASystem 2.2.1 – Einzelbildansicht

Ausblick

Da ich es noch nicht ganz geschafft habe, überall im Programm meine neue Scrollbar einzubinden, steht dieses ganz oben auf meiner Wunschliste. Außerdem möchte ich auch weiterhin die Möglichkeiten zur Bildfilterung und auch der Ansichtseinschränkung erweitern. Gerade die Ansichtseinschränkung ist mit den 2 vorhandenen Kriterien noch ziemlich dünn. Der dritte Punkt, an dem ich arbeiten möchte ist etwas schwerer zu erklären. Das BVASystem hat aktuell eine sehr große technische Hürde. Wenn man das Programm wirklich testen möchte, so muss zuerst ein Datenbanksystem installiert und eingerichtet werden. Selbst wenn man dazu technisch gesehen in der Lage wäre, so wird man diesen Aufwand scheuen. Eine Lösung für das Problem wäre es, wenn ich eine Demo-Datenbank hier auf der Homepage installiere. Leider ist dies in der aktuellen Form nicht möglich, da ich dafür zu viele Datenbankrechte offen legen müsste. Daher habe ich mir etwas überlegt, damit ich beim Arbeiten an der lokalen Datenbankdatei auch dem Ziel Demo-Datenbank näher komme. Ich denke allerdings nicht, das es bis zu nächsten stabilen Softwareversion dort eine fertige Lösung geben wird. 

Die Ansichtseinschränkung

Sonntag, Juni 29th, 2014

Anfang des Monats stellte ich mein Konzept bzw. die fertige Oberfläche zur Ansichtseinschränkung vor. Nun knapp 3 Wochen später bin ich soweit, das die Ansichtseinschränkung eingesetzt werden kann. Es ist nun möglich, das beim Betrachten nur noch die Fotos angezeigt werden, welche mit einer speziellen Kamera aufgenommen wurden. Damit habe ich nun endlich eine Möglichkeit, die Bilder meiner Kinder auszublenden.

Aktive Ansichtseinschränkung mit zwei definierten Einschränkungen

Aktive Ansichtseinschränkung mit zwei definierten Einschränkungen

Außerdem habe ich mich daran versucht, eine eigene Scrollbox-Komponente zu schreiben. Mein Problem mit der von Delphi gelieferten Scrollbox ist, das diese eine andere Scrollbar verwendet. Mir gefällt es überhaupt nicht, das in der aktuellen Version des BVASystems zwei verschiedene Scrollbars zu sehen sind. Bei der Lösung des Problems habe ich mich allerdings gewaltig verschätzt. Ich dachte, es sei total einfach ein Panel um 2 Scrollbars zu erweitern und das Verschieben durch die Funktion „ScrollBy(deltax,deltay)“ zu realisieren.  Als ich die Umsetzung fertig hatte, fiel mir dann auf, das die Funktion alle die Steuerelemente auf dem Panel bewegte, also auch die Scrollbars. Die Suche nach einer Alternative kostete mich einige Tage. Ich habe jetzt ein Panel mit den Scrollbars und ein zweites Panel, auf dem die Steuerelemente platziert werden müssen.

Ausblick

Auch wenn die Ansichtseinschränkung nun prinzipiell fertig ist, so werde ich noch einige Erweiterungen daran vornehmen müssen. So stört es mich zum Beispiel, das es aktuell noch nicht deutlich genug zu sehen ist, ob eine Einschränkung aktiv ist. Außerdem ist es noch etwas schwach, da nur ein einzelnes Kriterium zur Einschränkung zur Verfügung steht. Außerdem werde ich probieren, ob die neue Scrollbox-Komponente außerhalb des Testdialoges eingesetzt werden kann.

Oberflächenentwurf zur Ansichtseinschränkung

Mittwoch, Juni 11th, 2014

Beim  Sortieren meiner eigenen Fotos wurde ich auf ein größeres Problem aufmerksam.  In der Familie besitzen wir mehrere verschiedene Digitalkameras. Die Bilder die dabei entstehen sollen aber alle im BVASystem verwaltet werden. Dabei stellte es sich, wenn ich Freunden Bilder zeigen wollte, als störend heraus, das die Fotos meiner Tochter immer mit angezeigt wurden. 

Es besteht zwar die Möglichkeit, die unerwünschten Fotos mit der Filter-Funktion und Sortierfunktion an das Ende der Bildlisten zu bringen, aber gänzlich ausgeblendet werden können sie nicht. Daher habe ich mir nun eine Möglichkeit überlegt, die Ansicht auf die Datenbank einzuschränken. Der dazu notwendige Oberflächenbereich ist nun fertig und kann in der neuen Programmversion 2.2.0.84-dev begutachtet werden.

Ansichtseinschränkung festlegen

Ansichtseinschränkung festlegen

Über dem Rubrikenbaum befinden sich nun 2 Knöpfe. Mit dem Ersten können, über einen Popup-Dialog, Kriterien zur Einschränkung der Datenbankansicht definiert werden. Im aktuellen Entwurf steht nur ein Kriterium, und zwar die zur Aufnahme verwendete Kamera, zur Verfügung. Für spätere Versionen ist geplant, weitere Kriterien zu schaffen. Der zweite Knopf dient zum Löschen der gesetzten Einschränkung. Ich hoffe, das das dadurch enstehende System relativ leicht zu bedienen ist und mein gewünschtes Ziel damit erreicht werden kann. 

In den nächsten Wochen werde ich mich darum kümmern, das die nun fertige Oberfläche zur Ansichtseinschränkung auch funktional umgesetzt wird. Dazu muss ich aus der Oberfläche eine Einschränkungsdefinitions-XML-Datei generieren, die ich dann in der Datenschicht des BVASystems in einen SQL Befehl umwandele. Dieser muss dann bei jeder Bildlisten-Abfrage mitgenutzt werden. Ich hoffe, das ich damit schneller vorankommen werde. In den letzten Wochen habe ich leider relativ wenig geschafft, da ich 2 Wochen im Urlaub war. Und jetzt gerade bei den schwül warmen Temperaturen, habe ich nicht wirklich Lust auf Arbeit… 

Gource Projektvisualisierung mit Perforce unter Windows

Montag, Juni 2nd, 2014

Die Versionverwaltung Perforce wird leider nicht direkt von Gource unterstützt. Aber auf dem Blog von Eric Melski habe ich eine Anleitung gefunden, wie man über einen kleinen Umweg doch zu der gewünschten Visualisierung kommt. Allerdings hatte ich doch einige Probleme, der Anleitung unter Windows zu folgen. Schwierig für mich war es, an die notwendige Log-Datei zu kommen und auch das „tcl“-Script konnte ich nicht direkt ausführen. Schlussendlich fand ich dann aber doch einen recht einfachen Weg um die Probleme zu lösen. Total überrascht war ich, als ich sah, das die normale Windows-Console in der Lage ist, Befehle in einer Schleife auszuführen. Folgende Schritte musste ich durchführen, um eine Projektvisualisierung zu starten:

1. Erzeugung der Log-Datei

Um eine Perfoce Log-Datei zu erzeugen wird eine Windows-Komandozeile benötigt. Dort führt man zuerst

p4 changes -s submitted -m 1

aus. Der Befehl erzeugt eine einzeilige Ausgabe, die die Anzahl der in Perforce gespeicherten Änderungslisten zurückliefert. Anschließend benötigt man für jede Änderungsliste die Beschreibung. Diese kann man mit folgenden Befehl in eine Datei schreiben:

for /L %i in (1,1,115) do p4 describe -s %i >> p4.log

Hierbei muss die 115 durch die vorher bestimmte Anzahl ersetzt werden.

2. Konvertierung der Log-Datei

Mit Hilfe von WinTclTk und dem Script von Erik Melski konnte ich das von Perforce erzeugte Log relativ einfach in ein für Gource verständliches Format umwandeln. In der Script-Datei muss man in der Zeile 75 eine Kleinigkeit editieren. Dort muss man den Perforce Branch eintragen, der visualisiert werden soll. Anschließend kann das Script per

„C:\program files (x86)\WinTclTK\bin\tclsh85.exe“ p42gource.tcl < p4.log > gource.log

ausgeführt werden. Als Ausgabe erzeugt das Script eine weitere Log-Datei mit der Gource dann umgehen kann. Danke schön Erik für das Script.

3. Gource starten

Als letztes muss dann nur noch Gource gestartet werden:

gource –log-format custom gource.log –hide filenames,mouse –title „BVASystem“ –file-idle-time 0

Zusammenführung von Schlagworten

Montag, Mai 12th, 2014

Bei der Verschlagwortung stehe ich oft vor dem Problem, das ich mehrere ähnliche Schlagworte mit der gleichen Bedeutung verwende. Gerade wenn längere Zeitspannen vergehen, in denen die Verschlagwortung durchgeführt wird, passiert der Fehler häufig. So habe ich hier im Blog zum Beispiel die Schlagworte „Schlagwort“ und „Schlagwörter“  oder auch „Fotoalbum“ und „Fotoalben“ verwendet. Diesen Fehler zu korrigieren ist zumindest hier auf der Homepage recht aufwendig.

Da mir ähnliches auch bei der Verschlagwortung meiner Fotos passiert, habe ich mir eine Möglichkeit geschaffen, mit der die Korrektur viel schneller durchgeführt werden kann. Mit der Funktion „Schlagworte zusammenführen“ können doppelte Schlagworte mit wenigen Mausklicks korrigiert werden. Dabei wird eines der ausgewählten Schlagworte gelöscht und gleichzeitig  allen Bildern, die mit dem Schlagwort verknüpft waren, das andere Schlagwort zugeordnet. Damit dabei auch wirklich nichts schief geht, steht vor dem Einsatz der Funktion ganz genau da, welches Schlagwort gelöscht und welches neu zugeordnet wird. Die Funktion wird über den Popup-Dialog ausgeführt, welcher über den einzelnen Schlagworten der Schlagwortansicht geöffnet werden kann.

Oberfläche zur Schlagwortzusammenführung

Oberfläche zur Schlagwortzusammenführung

Außerdem habe ich meine Scrollbar-Komponente soweit, das ich sie in die erste Komponente einbinden konnte. In dem Bildinformationspanel „Schlagworte“ kann sie nun bewundert werden. Im Unterschied zu einer normalen Scrollbar befinden sich bei meiner Implementation die beiden Knöpfe zur „feinen“ Navigation an der unteren bzw der rechten Seite. Ich habe mich dafür entschieden, damit die Wege die man mit der Maus zurücklegen muss, kleiner sind wenn man die Scrollbar möglichst genau platzieren möchte. Ansonsten werden die Knöpfe eigentlich gar nicht gebraucht, da die Scrollbar auch durch Klicken auf die Bereiche neben des Scrollbalkens gesteuert werden kann.

Optisch finde ich, macht meine Scrollbar einen viel besseren Eindruck. Sie passt viel besser zum Rest der Anwendung. In der nächsten Zeit heißt es für mich nun jedenfalls: „Scrollbars austauschen“.

Änderungs-Sammelsurium Teil 2

Montag, April 21st, 2014

Nachdem ich bereits in der letzten Version angefangen hatte viele kleine Änderungen umzusetzen, so habe ich dies in den letzten Wochen fortgeführt. Heute Nacht ist die letzte Änderung fertig geworden, die ich unbedingt für das Verschlagworten meiner Fotos benötige. Oft habe ich nämlich das Problem, das ich mehrere Fotos aufgenommen habe, die die gleichen Motive zeigen und daher mit der gleichen Schlagwortkombination versehen werden müssen. Das immerwieder gleiche raussuchen und anklicken der Schlagworte ist ermüdend und fehleranfällig. Daher habe ich nun die Möglichkeit geschaffen, die Schlagworte eines Fotos zu kopieren, um sie bei einem anderen Foto wieder einfügen zu können. Aber auch andere Themen standen an der Tagesordnung.

Anfänge zur Integration einer lokalen Datenbank

In vorherigen Blogeinträgen hatte ich bereits geschrieben, das es mich stört, das immer mehr Funktionen des BVASystems nur verfügbar sind, wenn ein Datenbanksystem installiert wurde. Da dieses recht aufwendig ist, wird aus meiner Sicht ein Test des Programmes erschwert. Meine Lösung sieht vor, das ich eine lokale Datenbankdatei erstelle, in der die vom Nutzer eingegebenen Daten gespeichert werden.  Bilder möchte ich nicht direkt in der Datenbank ablegen. Es sollen nur Verknüpfungen zu Fotos auf der Festplatte erstellt werden. 

Mit der Integration der lokalen Datenbank habe ich nun begonnen. In einem speziell erstellten Worker-Task wird überprüft, ob die Datenbank-Datei vorhanden ist. Ist sie nicht vorhanden, wird sie angelegt. Standardmäßig wird die Datei im gleichen Ordner gespeichert wie die Einstellungsdateien des Programmes.

Filterelement zur automatischen Bildbewertung

Das BVASystem speichert ab, wie oft ein Bild angeschaut wurde. Dadurch erhalten die Fotos, die am meisten angesehen werden, eine hohe Bildbewertung. Weniger oft angesehenende Bilder erhalten dementsprechend eine weniger gute Bewertung. Analog zum Filterelement „Manuelle Bildbewertung“ habe ich nun ein Filterelement geschaffen, das nach der automatischen Bildbewertung filtert. Die Bedienung des Elementes ist genau die gleiche, wie bei der manuellen Bildbewertung.

Filterkriterium automatische Bildbewertung

Filterkriterium automatische Bildbewertung

Kopieren und Einfügen von Schlagwortkombinationen

Das Kopieren und Einfügen von Schlagwortkombinationen wurde in das Bildinformationspanel Schlagworte integriert. Auf der linken Seite des Panels befinden sich 2 neue Knöpfe. Mit dem obereren wird die aktuell aktive Schlagwortkombination in die Zwischenablage kopiert. Das Kopieren kann beliebig oft wiederholt werden. Die vorher kopierten Schlagworte gehen dabei nicht verloren. Durch den unteren Knopf wird dann die Einfügen Funktion aktiviert. Dort öffnet sich ein Popup-Dialog, in dem eine der kopierten Schlagwortkombinationen ausgewählt werden kann. Nach der Auswahl werden die Schlagworte bei dem aktuell aktiven Foto dann natürlich über den Worker gesetzt.

Funktion zum Einfügen einer Schlagwortkombination

Funktion zum Einfügen einer Schlagwortkombination

Viele neue Baustellen

Donnerstag, April 3rd, 2014

Nachdem ich eine stabile Softwareversion veröffentlicht habe, fühle ich mich immer sehr befreit und überlege mir, welche Punkte in den nächsten Monaten unbedingt umgesetzt werden müssen. Da ich immer möglichst schnell alle technischen Probleme erkennen bzw. lösen möchte, fange ich dann meist auch mit allen Punkten gleichzeitig an. So ist es auch diesmal wieder gewesen. Eventuell hatte ich mir dabei aber ein bisschen zu viel vorgenommen. Außerdem lag ich die letzte Woche auch noch krank im Bett. Nun nach fast einem Monat bin ich aber fertig und kann euch endlich zeigen, welche Änderungen es in den nächsten Monaten noch geben wird.

Bildfilterung

Die Bildfilterung ist für mich mittlerweile ein unverzichtbares Werkzeug geworden. Allerdings fehlt mir nach wie vor die eine oder andere Möglichkeit zur Filterung. Daher werde ich das System nach und nach um weitere Kriterien erweitern. Mit der heutigen Version ist die Möglichkeit nach der manuellen Bildbewertung zu filtern hinzugekommen. Möchte man nun Beispielsweise von seinem Urlaub berichten, so kann man gezielt nur die guten Bilder vorzeigen. 

Filterkriterium manuelle Bildbewertung

Filterkriterium manuelle Bildbewertung

Fehlende Schlagwort-Funktionen

Bei der Verschlagwortung von Fotos fehlten bisher einige sehr wichtige Funktionen. Zum Beispiel konnten Schlagworte, die einmal erzeugt wurden, nicht mehr aus der Datenbank entfernt werden. Auch eine Änderung, z.B. weil man sich bei der Eingabe verschrieben hatte, war nicht machbar. Mit der jetzigen Version ist dies beides nun möglich. Beide Funktionen sind über einen Popup-Dialog erreichbar, welcher über den einzelnen Schlagworten des Bildinformationsfensters Schlagworte geöffnet werden kann. Aber auch hier gibt es in den nächsten Wochen noch etwas zu tun. Denn mir fehlt eine Funktion mit der man 2 Schlagworte zusammenführen kann. Stellt man fest, das man aus versehen die Schlagworte „Elefant“ und „Elefanten“ verwendet hat, so soll es möglich sein, eines der beiden Schlagworte zu ersetzen.

Dialog zur Umbenennung eines Schlagwortes

Dialog zur Umbenennung eines Schlagwortes

Neue Scrollbar-Komponente

Häufig ärgere ich mich darüber, das das aktive Element des Baumes oder das der Bildliste nicht im sichtbaren Bereich liegen und ich es erst mit Hilfe der Scrollbar suchen muss. Oft scrolle ich dabei natürlich zuerst in die falsche Richtung. Ich habe bereits probiert, die Steuerelemente so anzupassen, das das aktive Element immer im sichtbaren Bereich liegt. Allerdings war dieses unpraktisch, da die Steuerelemente viel zu häufig allein den sichtbaren Bereich veränderten. Meine neue Idee ist es daher, eine Markierung auf der Scrollbar anzubringen, damit man immer sofort weiß, wo sich das aktive Element befindet. Leider ist dies mit der jetzigen Scrollbar-Komponente nicht möglich. Daher habe ich damit begonnen, eine komplett eigene Scrollbar zu entwickeln. Die Optik (bis auf die der Markierung) habe ich bereits fertig. Ihr könnt euch die Scrollbar in einem neu geschaffenen Testdialog („Reagenzglas“-Knopf im Hauptmenü) ansehen. 

Aussehen der zukünftigen Scrollbars

Aussehen der zukünftigen Scrollbars