Graphische Oberfläche

Proggen.org - Lernprojekt: Duplikatefinder
Benutzeravatar
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

Beitrag von Bebu » Mo Apr 16, 2012 7:55 pm

oenone hat geschrieben: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?
So eine Funktion könnte man später einmal einbauen. Unser vornehmliches Ziel ist es aber Duplikate loszuwerden ;)
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

oenone
Beiträge: 223
Registriert: Do Sep 01, 2011 2:42 pm
Wohnort: Bremen

Re: Graphische Oberfläche

Beitrag von oenone » Mo Apr 16, 2012 8:21 pm

Man könnte das ja als Alternative zu dem "keep Flag" anbieten :)

Benutzeravatar
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

Beitrag von Bebu » Mo Apr 16, 2012 8:28 pm

Keep dient dazu, Duplikate als absichtlich zu markieren, damit der Nutzer nicht wieder gefragt wird, ob er diese Duplikat löschen möchte. Als Beispiel nehmen wir mal die Sicherungskopie des Urlaubsfotos. Ein Hardlink wäre an der Stelle kontraproduktiv.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

nufan
Wiki-Moderator
Beiträge: 2443
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Graphische Oberfläche

Beitrag von nufan » Sa Mai 12, 2012 1:13 am

Hab grad wieder an der Qt-Oberfläche weitergearbeitet. Dabei hab ich versucht deinen Entwurf nachzubauen, was mir denke ich nicht so schlecht gelungen ist :)

http://img821.imageshack.us/img821/5456/dedupeqt.png

Die linke Seite sollte eigentlich passen, nur ein paar Anmerkungen:
"AppendFile()" und "RemoveFile()" sind etwas verwirrend. Einerseits verwenden sie noch die alten Bezeichnungen statt "Track" und "Untrack". Außerdem bekommen sie mehrere Parameter, also sollte ihr Name auch der Mehrzahl entsprechend geändert werden, sprich "TrackFiles()" und "UntrackFiles()".
Weiters hab ich ein kleines Problem mit dem Datei-Dialog... man kann in Qt nicht Verzeichnisse und Dateien im selben Dialog auswählen. Man kann natürlich mehrere einzelne Dateien auswählen. Für Verzeichnisse braucht man jeweils einen eigenen Dialog. Beides mischen geht gar nicht.
Soll der Kernel wirklich in der grafischen Oberfläche angelegt werden? Nach jetzigem Stand ist das für mich die einzige logische Möglichkeit. Ich lege ein Objekt folgendermaßen an:

Code: Alles auswählen

Kernel( ":memory:", 0, std::cout )
Dadurch sollte ich eine IMDB ohne Threading bekommen. Wofür der letzte Stream ist verstehe ich nicht ganz (hab mir den Code auch nicht angesehen), aber cout kann nichts anrichten ^^
@fat-lobyte: Kann man vllt NCurses aus dem Standard-Build rausnehmen? Ich habs bei mir lokal schon, ich meine im Repository. Ich ändere recht viel am GUI-Interface und die Änderungen muss ich immer mehr oder weniger in die NCurses-Oberfläche einpflegen, damit das ganze kompilierbar bleibt. Die sie momentan nicht aktiv entwickelt wird, macht es sowieso keinen Unterschied.

Das wars fürs erste ^^

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Graphische Oberfläche

Beitrag von fat-lobyte » Sa Mai 12, 2012 9:07 am

dani93 hat geschrieben:Hab grad wieder an der Qt-Oberfläche weitergearbeitet. Dabei hab ich versucht deinen Entwurf nachzubauen, was mir denke ich nicht so schlecht gelungen ist :)

http://img821.imageshack.us/img821/5456/dedupeqt.png
Sieht hübsch aus! Nur weiter so.
Soll der Kernel wirklich in der grafischen Oberfläche angelegt werden? Nach jetzigem Stand ist das für mich die einzige logische Möglichkeit.
Ich glaube so war das gedacht, ja. Wenn man den Kernel als "Bibliothek" betrachtet und die GUI als Client-"Anwendung", dann macht das Sinn.
dani93 hat geschrieben:Wofür der letzte Stream ist verstehe ich nicht ganz (hab mir den Code auch nicht angesehen), aber cout kann nichts anrichten ^^
Das ist der Nachrichtenstream, wohin alle generierten Nachrichten geschrieben werden. Das sollte man bei einer grafischen Oberfläche in ein Fenster umleiten, bei wxWidgets gabs die Möglichkeit einen std::ostream in ein Textfeld umzuleiten. Gibts sowas bei Qt auch?
Kann man vllt NCurses aus dem Standard-Build rausnehmen? Ich ändere recht viel am GUI-Interface und die Änderungen muss ich immer mehr oder weniger in die NCurses-Oberfläche einpflegen, damit das ganze kompilierbar bleibt. Die sie momentan nicht aktiv entwickelt wird, macht es sowieso keinen Unterschied.
Klaro, mach ich dann bei Gelegenheit.
Ich habs bei mir lokal schon, ich meine im Repository.
Was genau heißt das jetzt? Meinst du auf deinem SVN branch? Das ist problematisch, wenn du deinen Branch wieder mergen willst. Wenn du es richtig gemacht hast, wäre es am besten, wenn ich nix mache, sondern du es einfach so lässt bis du deinen branch merged.

@Xin:
Ich frag mal ganz vorsichtig: also die NCurses Oberfläche liegt schon seit einiger Zeit brach. Klar, bis jetzt gab der Kernel auch nicht viel her. Allerdings wird der jetzt schön langsam.
Ich weiß, du hast nicht viel Zeit, also denkst du, du wirst die Oberfläche in absehbarer Zeit zum laufen bringen? Außerdem ganz allgemein: denkst du, dass du die zeitlichen Ressourcen haben wirst, die Oberfläche zu warten?
Es ist nämlich so: gibt es eine (richtig) grafische Oberfläche (z.B. in Qt) und eine Kommandozeilenversion, ist der Bedarf an einer Textoberfläche nicht mehr so groß. Vielleicht sollte man sich überlegen, sich die Curses-Oberfläche zu sparen, und die Ressourcen anderweitig zu investieren.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8474
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Graphische Oberfläche

Beitrag von Xin » Sa Mai 12, 2012 9:44 am

fat-lobyte hat geschrieben:@Xin:
Ich frag mal ganz vorsichtig: also die NCurses Oberfläche liegt schon seit einiger Zeit brach. Klar, bis jetzt gab der Kernel auch nicht viel her. Allerdings wird der jetzt schön langsam.
Ich weiß, du hast nicht viel Zeit, also denkst du, du wirst die Oberfläche in absehbarer Zeit zum laufen bringen? Außerdem ganz allgemein: denkst du, dass du die zeitlichen Ressourcen haben wirst, die Oberfläche zu warten?
Es ist nämlich so: gibt es eine (richtig) grafische Oberfläche (z.B. in Qt) und eine Kommandozeilenversion, ist der Bedarf an einer Textoberfläche nicht mehr so groß. Vielleicht sollte man sich überlegen, sich die Curses-Oberfläche zu sparen, und die Ressourcen anderweitig zu investieren.
Hmm... ich bin dagegen, dass die NCurses-Oberfläche einfach verschwindet. Aber realistisch gesehen hat das CMS vorrang und bei NCurses muss ich noch ein wenig nachforschen, um die Oberfläche korrekt darzustellen.
Dazu möchte ich aber noch die Gelegenheit haben. Von meiner Seite aus, steht es euch frei, die NCurses-Oberfläche abzuschalten und nicht zu pflegen. Ich möchte lediglich einen Schalter, dass ich sie einschalten kann und sie mir dann um die Ohren fliegen kann. ;-)

Deal?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Graphische Oberfläche

Beitrag von fat-lobyte » Sa Mai 12, 2012 9:50 am

Xin hat geschrieben:Hmm... ich bin dagegen, dass die NCurses-Oberfläche einfach verschwindet. Aber realistisch gesehen hat das CMS vorrang und bei NCurses muss ich noch ein wenig nachforschen, um die Oberfläche korrekt darzustellen.
Dazu möchte ich aber noch die Gelegenheit haben. Von meiner Seite aus, steht es euch frei, die NCurses-Oberfläche abzuschalten und nicht zu pflegen. Ich möchte lediglich einen Schalter, dass ich sie einschalten kann und sie mir dann um die Ohren fliegen kann. ;-)

Deal?
Klar. Kannst du abschätzen, in welchem Zeitraum du etwas Verwandbares zusammenflicken wirst?
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8474
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Graphische Oberfläche

Beitrag von Xin » Sa Mai 12, 2012 10:16 am

fat-lobyte hat geschrieben:Klar. Kannst du abschätzen, in welchem Zeitraum du etwas Verwandbares zusammenflicken wirst?
Interessante Frage... ich bin gerade dabei einiges aufzuarbeiten. Problem #1 hatte ich in 5 Minuten - das war fehlte nur das Kommentarzeichen vor einem überflüssigen "Else".
Ich habe jetzt noch was auf dem Plan, ans CMS werde ich heute nicht mehr kommen. Danach wollte ich mir Dedupe ansehen.
Im besten Fall heute abend (glaube ich nicht). Im schlechtesteren Fall drängt sich das CMS wieder vor, bevor ich was habe. ^^
Wolltest Du es konkreter?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Graphische Oberfläche

Beitrag von fat-lobyte » Sa Mai 12, 2012 10:33 am

Nein, wollte nur den Zeitraum wissen - "heute Abend" oder "nächste Woche" oder "nächstes Jahr", oder "vielleicht wenn ich mal Zeit habe" (aka nie ;-) ).
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8474
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Graphische Oberfläche

Beitrag von Xin » Sa Mai 12, 2012 11:07 am

fat-lobyte hat geschrieben:Nein, wollte nur den Zeitraum wissen - "heute Abend" oder "nächste Woche" oder "nächstes Jahr", oder "vielleicht wenn ich mal Zeit habe" (aka nie ;-) ).
Im Prinzip programmiere ich so, wie ich Zeit habe.

Die Zeit ist, aber es gibt soviel zu programmieren. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten