Graphische Oberfläche
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Graphische Oberfläche
Sieht schon recht hübsch aus. Wir sollten uns mal gemeinsam Gedanken über die Nachrichtenschleife machen. Der Kernel spuckt ja einiges an Meldungen aus. Ich habe mir überlegt, das es vielleicht sinnvoll wäre einige Konstanten zu definieren, die mit in den Stream geschrieben werden, damit man die Meldungen priorisieren kann, um z. B. Fehlermeldungen von Statusmeldungen trennen zu können. Bin für Vorschläge offen. Eine Fortschrittsanzeige ist noch ein Problem, dazu muss man die gesamte Datenmenge vorher erfassen, die bereits verarbeiteten Daten abziehen und aus der Geschwindigkeit die verbleibende Zeit zu berechnen. Eine Interessante Herausforderung, aber steht jetzt nicht unbedingt hoch oben auf der Prioritätenliste.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
Re: Graphische Oberfläche
Hm... ja, da müssen wir etwas kreativ werden. Vor allem, wenn wir uns im Hinblick auf Internationalisierung alle Türen offen halten wollen. Das Qt-GUI ist momentan sogar auf dynamische Übersetzung ausgelegt. Das heißt es kann im laufenden Programm die Sprache geändert werden und die Oberfläche aktualisiert sich automatisch.Bebu hat geschrieben:Sieht schon recht hübsch aus. Wir sollten uns mal gemeinsam Gedanken über die Nachrichtenschleife machen. Der Kernel spuckt ja einiges an Meldungen aus. Ich habe mir überlegt, das es vielleicht sinnvoll wäre einige Konstanten zu definieren, die mit in den Stream geschrieben werden, damit man die Meldungen priorisieren kann, um z. B. Fehlermeldungen von Statusmeldungen trennen zu können.
Was mir im Moment aber wichtiger ist: Was soll die Oberfläche machen? Ich hab noch keinen wirklichen Plan wie die Oberfläche genau aussehen soll, was die einzelnen Buttons/Menüpunkte machen, Tabellen beinhalten und vom Benutzer eingegeben wird. Ein kleine Skizze wäre praktisch. Einfach mit einem UI-Designer eine Oberfläche basteln und diese ausführlich beschreiben.
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Graphische Oberfläche
Gut, dafür sollten wir etwas Zeit bieten. Ich versuche mich mal mit WxSmith, aber ich kämpfe noch. Einen guten Ansatzpunkt, was deine Oberfläche können muss, findest du, wenn du dir die dedupe --help mal ansiehst und mal ein bisschen damit spielst. Ist natürlich noch nicht vollständig, aber das ist ein Programm irgendwie nie
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
Re: Graphische Oberfläche
Von mir aus kannst du auch ein Malprogramm nehmen oder mit der Hand zeichnen ^^Bebu hat geschrieben:Gut, dafür sollten wir etwas Zeit bieten. Ich versuche mich mal mit WxSmith, aber ich kämpfe noch.
Bebu hat geschrieben:Einen guten Ansatzpunkt, was deine Oberfläche können muss, findest du, wenn du dir die dedupe --help mal ansiehst und mal ein bisschen damit spielst. Ist natürlich noch nicht vollständig, aber das ist ein Programm irgendwie nie
Code: Alles auswählen
$ ./dedupe --help
Program Options:
General Options:
-h [ --help ] Show the help text
-V [ --version ] Show program version
-v [ --verbose ] Enable verbose mode(NOT IMPLEMENTED)
-s [ --supress-dbs-update ] Disable automatic update of database on
programstart
Operation Options:
-a [ --add ] arg Add a file to the watched ones
-l [ --list ] List all files that are stored in the
database
-d [ --delete ] arg Delete a file from the watched ones
-f [ --find-duplicates ] Find duplicates and start userinterface
-u [ --manually-update-database ] Update the database manually
-r [ --recursive ] Enable recursive
Was ich noch ändern würde:
* "arg" steht doch sicher für mehrere Parameter, also sollte es "args" heißen
* "delete" klingt mir zu sehr nach "von der Festplatte löschen"... wie wäre es add/remove nach track/untrack umzubenennen?
* Das "manually" in "manually-update-database" ist irgendwie unnötig. Eigentlich würde auch nur "update" reichen.
* Genauso könnte "supress-dbs-update" doch einfach "no-update" heißen.
Das sind eigentlich Kleinigkeiten, wollte es aber mal anmerken
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Graphische Oberfläche
Deine Vorschläge sind alle gut. Lediglich das mit dem arg lässt sich nicht ändern. Das wird von Boost Program_options generiert und kommt zu allen Parametern hinzu, die eine Eingabe erwarten. Der Rest lässt sich in ca. 5 Minuten ändern.dani93 hat geschrieben: Sieht doch schon ganz gut aus
Was ich noch ändern würde:
* "arg" steht doch sicher für mehrere Parameter, also sollte es "args" heißen
* "delete" klingt mir zu sehr nach "von der Festplatte löschen"... wie wäre es add/remove nach track/untrack umzubenennen?
* Das "manually" in "manually-update-database" ist irgendwie unnötig. Eigentlich würde auch nur "update" reichen.
* Genauso könnte "supress-dbs-update" doch einfach "no-update" heißen.
Das sind eigentlich Kleinigkeiten, wollte es aber mal anmerken
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Graphische Oberfläche
So, ich habe mal einen GUI-Entwurf gemacht. Ich bin allerdings noch nicht ganz zufrieden. Ordner müssen sich auch rekursiv hinzufügen lassen, das könnte man aber über einen Dialog lösen. Das Registerblätter am oberen Rand sind Absicht, es soll noch eine zweite Seite für zusätzliche Funktionen geben (überwachte Ordner). Ich bitte um Meinungen dazu.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
Re: Graphische Oberfläche
Den Entwurf finde ich ganz in Ordnung, aber mir fehlt noch etwas die Feature-Beschreibung dazu
Im Idealfall machst du eine Liste mit allen Widgets und was sie machen.
Beispiel:
Button "Add Track": Zeigt einen Dialog zum Auswählen von mehreren Dateien und Ordnern an. Die Verzeichnisse und Ordner werden in die Liste links eingefügt. Danach wird jeder Pfad an die Kernel-Methode Kernel::addFile( path ) bzw. addDirectory( path, recursive ) übergeben. "recursive" ist abhängig von der Checkbox "Recursive".
Für die weitere Verwaltung von Duplikaten siehe: Liste "Duplicates".
Für das Löschen von Tracks siehe: Button "Delete Track".
Das Beispiel ist jetzt frei erfunden, aber so hab ich mir das erhofft ^^
Im Idealfall machst du eine Liste mit allen Widgets und was sie machen.
Beispiel:
Button "Add Track": Zeigt einen Dialog zum Auswählen von mehreren Dateien und Ordnern an. Die Verzeichnisse und Ordner werden in die Liste links eingefügt. Danach wird jeder Pfad an die Kernel-Methode Kernel::addFile( path ) bzw. addDirectory( path, recursive ) übergeben. "recursive" ist abhängig von der Checkbox "Recursive".
Für die weitere Verwaltung von Duplikaten siehe: Liste "Duplicates".
Für das Löschen von Tracks siehe: Button "Delete Track".
Das Beispiel ist jetzt frei erfunden, aber so hab ich mir das erhofft ^^
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Graphische Oberfläche
Und ich habe es auch nicht vergessen. Es war nur gestern abend schon recht spät, insofern hatte ich keine Lust mehr. Aber ich liefere es dann noch nach. Ich hatte eh schon wieder eine Idee für eine Erweiterung der Oberfläche. Ich versuche es die Tage hinzubekommen.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Graphische Oberfläche
So, ich habe mal den ersten Teil geschafft. Ich hoffe es ist dir so recht. Teil Zwei liefere ich später mal nach, da kann ich dann auch schon Vorschläge einbauen
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
Re: Graphische Oberfläche
Bin zwar bei diesem Dedupe-Projekt nicht ganz im Bilde, aber bei Dateisystemen, die es unterstützen, könnte man die Duplikate ja auch durch einen Hardlink ersetzen.. Ist sowas auch geplant?