Es spricht!
Gestern den ganzen Tag programmiert. Ergebnis hier, Screenshot hier.
Was geht:
- Alle Widgets sind funktional (verändern also das Model).
- Der Controller kriegt Änderungen mit und stellt sie dar.
- Man kann Dateien hinzufügen. Die Gesamtgröße wird berechnet und angezeigt. Mit anderen Worten: das User Interface ist fast fertig.
Was fehlt:
- Besondere Behandlung von Audiodateien (Dekodierung, Darstellung der Dauer statt der Größe.
- Besondere Behandlung von ISO-Images (mounten und Darstellung in der Liste).
- Besondere Behandlung von Symlinks (konfigurierbar)
- Möglichkeit zum Löschen einzelner oder mehrerer Dateien aus der Liste. Geht momentan nicht, weil das Widget zur Darstellung keine mehrfache Auswahl zuläßt.
- Der Code zum Brennen.
- Eine kleine Webseite fürs Advertising. Mache ich, wenn der vorige Punkt zumindest ansatzweise gelöst ist. Zu diesem Zeitpunkt plane ich auch den Versionssprung auf 0.1.0.
Goodies:
- Listendarstellung der Dateien (gtk.ListStore) durch Baum (gtk.TreeStore) ersetzen. Erfordert aber Änderung der internen Repräsentation der Dateien.
- Erzeugen der GUI von Hand statt mit Glade. Wäre eine Dependency weniger. (Ob das den Kohl fett macht?)
Ich hab eine ganze Weile gebraucht, um mich in Gtk, Glade und den ganzen Kram reinzufinden. Für reines Selbststudium war die Zeit aber eigentlich recht kurz. Python an sich war nie ein Problem. Die Sprache ist einfach nicht im Weg. Schon toll. Ich weiß jetzt schon, daß ich einige nette Eigenschaften vermissen werde, wenn ich im August wieder Java programieren muß.
Was mir nicht gefällt, sind die Massen an Abhängigkeiten, an denen das Programm hängt: Python, gtk, pygtk, python-glade, cdrecord, mkisofs, cdrdao, python-pyvorbis, python-eyed3, python-pyao, python-pymad. Naja, dafür bleibt das Programm an sich klein.
Comments? Use Google+
or send an e-mail.