diff --git a/Dizzy/Log.cs b/Dizzy/Log.cs
index 085af92..77d045f 100644
--- a/Dizzy/Log.cs
+++ b/Dizzy/Log.cs
@@ -8,6 +8,9 @@ namespace Dizzy
public class Log
{
+ public delegate void LogEvent (string message);
+ public static event LogEvent StatusBarUpdate;
+
public Log ()
{
}
@@ -42,6 +45,8 @@ namespace Dizzy
Console.Write (" ==> ");
Console.ForegroundColor = initial;
Console.WriteLine (message);
+
+ StatusBarUpdate(message);
}
}
}
diff --git a/Dizzy/MainWindow.cs b/Dizzy/MainWindow.cs
index 0aa539f..95fc4db 100644
--- a/Dizzy/MainWindow.cs
+++ b/Dizzy/MainWindow.cs
@@ -31,9 +31,16 @@ public partial class MainWindow : Gtk.Window
this.protocol = new Protocol (ref this.config);
this.protocol.AuthenticationRequired += this.Connect;
- // this.protocol.AuthenticationFailed += this.OnAuthenticationFailed;
+ Log.StatusBarUpdate += this.OnStatusBarUpdate;
+
+ }
+
+ public void OnStatusBarUpdate (string message)
+ {
+ dizzystatus.Push(0, message);
}
+
protected void Connect ()
{
if (this.a != null)
@@ -100,5 +107,4 @@ public partial class MainWindow : Gtk.Window
config.InsertValue("download_folder", downloadpathchooser.Filename);
}
-
}
diff --git a/Dizzy/Protocol.cs b/Dizzy/Protocol.cs
index 4d22c2f..65bc3ee 100644
--- a/Dizzy/Protocol.cs
+++ b/Dizzy/Protocol.cs
@@ -90,8 +90,15 @@ namespace Dizzy
// una ricerca. Inoltre abbiamo la quasi certezza che ne venga
// chiamata solo un'istanza nello stesso momento.
FileList list = new FileList (ref this.config);
-
- ArrayList files = list.Search (this.keyword);
+
+ ArrayList files;
+ try { files = list.Search (this.keyword); }
+ catch (Exception e) {
+ // Probabilmente stiamo solamente scaricando il database,
+ // ma tant'è.
+ Log.Error ("Impossibile effettuare la ricerca nel database: " + e.Message);
+ files = new ArrayList ();
+ }
this.fileTreeView.Clear ();
if (files.Count == 0)
@@ -134,7 +141,6 @@ namespace Dizzy
// di avere.
s = new SFTPConnection (this.config.GetValue("user"),
this.config.password);
- Log.Info ("Oggetto SFTPConnection creato");
try {
s.Connect ();
@@ -151,7 +157,7 @@ namespace Dizzy
}
else
{
- Log.Info ("Aggiornamento della lista");
+ Log.Info ("Aggiornamento della lista avviato");
s.Download (new File("/nobackup/robol/index.db", "robol"),
this.config.ConfigDir ());
@@ -187,7 +193,6 @@ namespace Dizzy
if (!this.config.authenticated)
this.AuthenticationRequired ();
while(!this.config.authenticated) {}
- Log.Info ("Dati di autenticazione trovati, procedo con il download");
ArrayList args = new ArrayList ();
args.Add (f);
@@ -206,7 +211,7 @@ namespace Dizzy
File f = (File) ((ArrayList) args)[0];
TaskTreeView tasks = (TaskTreeView) ((ArrayList) args)[1];
string downloadFolder = (string) ((ArrayList) args)[2];
- Log.Info ("Avvio il download");
+ Log.Info ("Avvio il download di " + f.name);
try {
FileTransfer transfer = new FileTransfer (f, ref tasks, this.config.GetValue("user"), this.config.password, downloadFolder);
@@ -251,7 +256,6 @@ namespace Dizzy
private void TransferStartedHandler(string src, string dest, int transferredBytes,
int totalBytes, string message)
{
- Log.Info ("Il download si è avviato");
if(TransferStarted != null)
TransferStarted(src, dest, transferredBytes, totalBytes, message);
}
@@ -359,7 +363,6 @@ namespace Dizzy
sftp.TransferProgress += new SFTPConnection.SFTPEvent(OnTransferProgress);
sftp.TransferStopped += new SFTPConnection.SFTPEvent(OnTransferStopped);
- Log.Info ("Eseguo SFTPConnection.Download ()");
sftp.Download (this.file, downloadFolder);
sftp.Disconnect ();
}
@@ -372,7 +375,6 @@ namespace Dizzy
public void OnTransferStarted (string src, string dest, int transferredBytes,
int totalBytes, string message)
{
- Log.Info ("Evento TransferStart () ricevuto");
this.iter = this.tasks.AddTask(file.name, 0);
}
@@ -432,6 +434,7 @@ namespace Dizzy
public FileList(ref GlobalConfig config) {
this.config = config;
+
string connectionString = "Data Source=" + this.config.ListFileName () + ";Version=3";
this.connection = new SQLiteConnection(connectionString);
}
diff --git a/gtk-gui/MainWindow.cs b/gtk-gui/MainWindow.cs
index b043054..b07e19b 100644
--- a/gtk-gui/MainWindow.cs
+++ b/gtk-gui/MainWindow.cs
@@ -14,8 +14,6 @@ public partial class MainWindow {
private Gtk.VBox vbox1;
- private Gtk.Label label5;
-
private Gtk.Notebook notebook1;
private Gtk.VBox vbox3;
@@ -54,17 +52,23 @@ public partial class MainWindow {
private Gtk.Label label3;
- private Gtk.VBox vbox4;
+ private Gtk.Table table2;
+
+ private Gtk.Button button182;
+
+ private Gtk.Button button183;
+
+ private Gtk.Button button184;
- private Gtk.HBox hbox1;
+ private Gtk.FileChooserButton filechooserbutton1;
- private Gtk.Button button261;
+ private Gtk.Label label8;
- private Gtk.Button button262;
+ private Gtk.Label label9;
private Gtk.Label label7;
- private Gtk.Statusbar statusbar2;
+ private Gtk.Statusbar dizzystatus;
protected virtual void Build() {
Stetic.Gui.Initialize(this);
@@ -81,19 +85,10 @@ public partial class MainWindow {
this.vbox1.Spacing = 6;
this.vbox1.BorderWidth = ((uint)(5));
// Container child vbox1.Gtk.Box+BoxChild
- this.label5 = new Gtk.Label();
- this.label5.Name = "label5";
- this.label5.LabelProp = Mono.Unix.Catalog.GetString("Ricordati di selezionare la cartella per il download prima di iniziarne uno.");
- this.vbox1.Add(this.label5);
- Gtk.Box.BoxChild w1 = ((Gtk.Box.BoxChild)(this.vbox1[this.label5]));
- w1.Position = 0;
- w1.Expand = false;
- w1.Padding = ((uint)(1));
- // Container child vbox1.Gtk.Box+BoxChild
this.notebook1 = new Gtk.Notebook();
this.notebook1.CanFocus = true;
this.notebook1.Name = "notebook1";
- this.notebook1.CurrentPage = 2;
+ this.notebook1.CurrentPage = 0;
// Container child notebook1.Gtk.Notebook+NotebookChild
this.vbox3 = new Gtk.VBox();
this.vbox3.Name = "vbox3";
@@ -111,31 +106,31 @@ public partial class MainWindow {
this.button1.UseUnderline = true;
this.button1.Label = Mono.Unix.Catalog.GetString("Cerca");
this.table1.Add(this.button1);
- Gtk.Table.TableChild w2 = ((Gtk.Table.TableChild)(this.table1[this.button1]));
- w2.TopAttach = ((uint)(1));
- w2.BottomAttach = ((uint)(2));
- w2.LeftAttach = ((uint)(2));
- w2.RightAttach = ((uint)(3));
- w2.XOptions = ((Gtk.AttachOptions)(4));
- w2.YOptions = ((Gtk.AttachOptions)(4));
+ Gtk.Table.TableChild w1 = ((Gtk.Table.TableChild)(this.table1[this.button1]));
+ w1.TopAttach = ((uint)(1));
+ w1.BottomAttach = ((uint)(2));
+ w1.LeftAttach = ((uint)(2));
+ w1.RightAttach = ((uint)(3));
+ w1.XOptions = ((Gtk.AttachOptions)(4));
+ w1.YOptions = ((Gtk.AttachOptions)(4));
// Container child table1.Gtk.Table+TableChild
this.label4 = new Gtk.Label();
this.label4.Name = "label4";
this.label4.LabelProp = Mono.Unix.Catalog.GetString("Parola chiave");
this.table1.Add(this.label4);
- Gtk.Table.TableChild w3 = ((Gtk.Table.TableChild)(this.table1[this.label4]));
- w3.XOptions = ((Gtk.AttachOptions)(4));
- w3.YOptions = ((Gtk.AttachOptions)(4));
+ Gtk.Table.TableChild w2 = ((Gtk.Table.TableChild)(this.table1[this.label4]));
+ w2.XOptions = ((Gtk.AttachOptions)(4));
+ w2.YOptions = ((Gtk.AttachOptions)(4));
// Container child table1.Gtk.Table+TableChild
this.label6 = new Gtk.Label();
this.label6.Name = "label6";
this.label6.LabelProp = Mono.Unix.Catalog.GetString("Utente");
this.table1.Add(this.label6);
- Gtk.Table.TableChild w4 = ((Gtk.Table.TableChild)(this.table1[this.label6]));
- w4.TopAttach = ((uint)(1));
- w4.BottomAttach = ((uint)(2));
- w4.XOptions = ((Gtk.AttachOptions)(4));
- w4.YOptions = ((Gtk.AttachOptions)(4));
+ Gtk.Table.TableChild w3 = ((Gtk.Table.TableChild)(this.table1[this.label6]));
+ w3.TopAttach = ((uint)(1));
+ w3.BottomAttach = ((uint)(2));
+ w3.XOptions = ((Gtk.AttachOptions)(4));
+ w3.YOptions = ((Gtk.AttachOptions)(4));
// Container child table1.Gtk.Table+TableChild
this.searchBox = new Gtk.Entry();
this.searchBox.CanFocus = true;
@@ -143,10 +138,10 @@ public partial class MainWindow {
this.searchBox.IsEditable = true;
this.searchBox.InvisibleChar = '•';
this.table1.Add(this.searchBox);
- Gtk.Table.TableChild w5 = ((Gtk.Table.TableChild)(this.table1[this.searchBox]));
- w5.LeftAttach = ((uint)(1));
- w5.RightAttach = ((uint)(2));
- w5.YOptions = ((Gtk.AttachOptions)(4));
+ Gtk.Table.TableChild w4 = ((Gtk.Table.TableChild)(this.table1[this.searchBox]));
+ w4.LeftAttach = ((uint)(1));
+ w4.RightAttach = ((uint)(2));
+ w4.YOptions = ((Gtk.AttachOptions)(4));
// Container child table1.Gtk.Table+TableChild
this.searchUserBox = new Gtk.Entry();
this.searchUserBox.CanFocus = true;
@@ -154,12 +149,12 @@ public partial class MainWindow {
this.searchUserBox.IsEditable = true;
this.searchUserBox.InvisibleChar = '•';
this.table1.Add(this.searchUserBox);
- Gtk.Table.TableChild w6 = ((Gtk.Table.TableChild)(this.table1[this.searchUserBox]));
- w6.TopAttach = ((uint)(1));
- w6.BottomAttach = ((uint)(2));
- w6.LeftAttach = ((uint)(1));
- w6.RightAttach = ((uint)(2));
- w6.YOptions = ((Gtk.AttachOptions)(4));
+ Gtk.Table.TableChild w5 = ((Gtk.Table.TableChild)(this.table1[this.searchUserBox]));
+ w5.TopAttach = ((uint)(1));
+ w5.BottomAttach = ((uint)(2));
+ w5.LeftAttach = ((uint)(1));
+ w5.RightAttach = ((uint)(2));
+ w5.YOptions = ((Gtk.AttachOptions)(4));
// Container child table1.Gtk.Table+TableChild
this.typeBox = Gtk.ComboBox.NewText();
this.typeBox.AppendText(Mono.Unix.Catalog.GetString("Qualsias"));
@@ -169,16 +164,16 @@ public partial class MainWindow {
this.typeBox.Name = "typeBox";
this.typeBox.Active = 0;
this.table1.Add(this.typeBox);
- Gtk.Table.TableChild w7 = ((Gtk.Table.TableChild)(this.table1[this.typeBox]));
- w7.LeftAttach = ((uint)(2));
- w7.RightAttach = ((uint)(3));
- w7.XOptions = ((Gtk.AttachOptions)(4));
- w7.YOptions = ((Gtk.AttachOptions)(4));
+ Gtk.Table.TableChild w6 = ((Gtk.Table.TableChild)(this.table1[this.typeBox]));
+ w6.LeftAttach = ((uint)(2));
+ w6.RightAttach = ((uint)(3));
+ w6.XOptions = ((Gtk.AttachOptions)(4));
+ w6.YOptions = ((Gtk.AttachOptions)(4));
this.vbox3.Add(this.table1);
- Gtk.Box.BoxChild w8 = ((Gtk.Box.BoxChild)(this.vbox3[this.table1]));
- w8.Position = 0;
- w8.Expand = false;
- w8.Fill = false;
+ Gtk.Box.BoxChild w7 = ((Gtk.Box.BoxChild)(this.vbox3[this.table1]));
+ w7.Position = 0;
+ w7.Expand = false;
+ w7.Fill = false;
// Container child vbox3.Gtk.Box+BoxChild
this.GtkScrolledWindow = new Gtk.ScrolledWindow();
this.GtkScrolledWindow.Name = "GtkScrolledWindow";
@@ -187,10 +182,11 @@ public partial class MainWindow {
this.filelist = new Gtk.TreeView();
this.filelist.CanFocus = true;
this.filelist.Name = "filelist";
+ this.filelist.Reorderable = true;
this.GtkScrolledWindow.Add(this.filelist);
this.vbox3.Add(this.GtkScrolledWindow);
- Gtk.Box.BoxChild w10 = ((Gtk.Box.BoxChild)(this.vbox3[this.GtkScrolledWindow]));
- w10.Position = 1;
+ Gtk.Box.BoxChild w9 = ((Gtk.Box.BoxChild)(this.vbox3[this.GtkScrolledWindow]));
+ w9.Position = 1;
this.notebook1.Add(this.vbox3);
// Notebook tab
this.label1 = new Gtk.Label();
@@ -212,8 +208,8 @@ public partial class MainWindow {
this.tasklist.Name = "tasklist";
this.GtkScrolledWindow1.Add(this.tasklist);
this.vbox2.Add(this.GtkScrolledWindow1);
- Gtk.Box.BoxChild w13 = ((Gtk.Box.BoxChild)(this.vbox2[this.GtkScrolledWindow1]));
- w13.Position = 0;
+ Gtk.Box.BoxChild w12 = ((Gtk.Box.BoxChild)(this.vbox2[this.GtkScrolledWindow1]));
+ w12.Position = 0;
// Container child vbox2.Gtk.Box+BoxChild
this.hbox2 = new Gtk.HBox();
this.hbox2.Name = "hbox2";
@@ -224,24 +220,24 @@ public partial class MainWindow {
this.label2.Name = "label2";
this.label2.LabelProp = Mono.Unix.Catalog.GetString("Scarica in");
this.hbox2.Add(this.label2);
- Gtk.Box.BoxChild w14 = ((Gtk.Box.BoxChild)(this.hbox2[this.label2]));
- w14.Position = 0;
- w14.Expand = false;
- w14.Fill = false;
+ Gtk.Box.BoxChild w13 = ((Gtk.Box.BoxChild)(this.hbox2[this.label2]));
+ w13.Position = 0;
+ w13.Expand = false;
+ w13.Fill = false;
// Container child hbox2.Gtk.Box+BoxChild
this.downloadpathchooser = new Gtk.FileChooserButton(Mono.Unix.Catalog.GetString("Seleziona una cartella"), ((Gtk.FileChooserAction)(2)));
this.downloadpathchooser.Name = "downloadpathchooser";
this.hbox2.Add(this.downloadpathchooser);
- Gtk.Box.BoxChild w15 = ((Gtk.Box.BoxChild)(this.hbox2[this.downloadpathchooser]));
- w15.Position = 1;
+ Gtk.Box.BoxChild w14 = ((Gtk.Box.BoxChild)(this.hbox2[this.downloadpathchooser]));
+ w14.Position = 1;
this.vbox2.Add(this.hbox2);
- Gtk.Box.BoxChild w16 = ((Gtk.Box.BoxChild)(this.vbox2[this.hbox2]));
- w16.Position = 1;
- w16.Expand = false;
- w16.Fill = false;
+ Gtk.Box.BoxChild w15 = ((Gtk.Box.BoxChild)(this.vbox2[this.hbox2]));
+ w15.Position = 1;
+ w15.Expand = false;
+ w15.Fill = false;
this.notebook1.Add(this.vbox2);
- Gtk.Notebook.NotebookChild w17 = ((Gtk.Notebook.NotebookChild)(this.notebook1[this.vbox2]));
- w17.Position = 1;
+ Gtk.Notebook.NotebookChild w16 = ((Gtk.Notebook.NotebookChild)(this.notebook1[this.vbox2]));
+ w16.Position = 1;
// Notebook tab
this.label3 = new Gtk.Label();
this.label3.Name = "label3";
@@ -249,63 +245,102 @@ public partial class MainWindow {
this.notebook1.SetTabLabel(this.vbox2, this.label3);
this.label3.ShowAll();
// Container child notebook1.Gtk.Notebook+NotebookChild
- this.vbox4 = new Gtk.VBox();
- this.vbox4.Name = "vbox4";
- this.vbox4.Spacing = 6;
- // Container child vbox4.Gtk.Box+BoxChild
- this.hbox1 = new Gtk.HBox();
- this.hbox1.Name = "hbox1";
- this.hbox1.Homogeneous = true;
- this.hbox1.Spacing = 6;
- this.hbox1.BorderWidth = ((uint)(5));
- // Container child hbox1.Gtk.Box+BoxChild
- this.button261 = new Gtk.Button();
- this.button261.CanFocus = true;
- this.button261.Name = "button261";
- this.button261.UseUnderline = true;
- this.button261.Label = Mono.Unix.Catalog.GetString("Aggiorna la lista dei file");
- this.hbox1.Add(this.button261);
- Gtk.Box.BoxChild w18 = ((Gtk.Box.BoxChild)(this.hbox1[this.button261]));
- w18.Position = 0;
- w18.Expand = false;
- w18.Fill = false;
- // Container child hbox1.Gtk.Box+BoxChild
- this.button262 = new Gtk.Button();
- this.button262.CanFocus = true;
- this.button262.Name = "button262";
- this.button262.UseUnderline = true;
- this.button262.Label = Mono.Unix.Catalog.GetString("Disconnetti");
- this.hbox1.Add(this.button262);
- Gtk.Box.BoxChild w19 = ((Gtk.Box.BoxChild)(this.hbox1[this.button262]));
- w19.Position = 1;
- w19.Expand = false;
- w19.Fill = false;
- this.vbox4.Add(this.hbox1);
- Gtk.Box.BoxChild w20 = ((Gtk.Box.BoxChild)(this.vbox4[this.hbox1]));
- w20.Position = 0;
- w20.Expand = false;
- w20.Fill = false;
- this.notebook1.Add(this.vbox4);
- Gtk.Notebook.NotebookChild w21 = ((Gtk.Notebook.NotebookChild)(this.notebook1[this.vbox4]));
- w21.Position = 2;
+ this.table2 = new Gtk.Table(((uint)(4)), ((uint)(2)), false);
+ this.table2.RowSpacing = ((uint)(6));
+ this.table2.ColumnSpacing = ((uint)(6));
+ this.table2.BorderWidth = ((uint)(5));
+ // Container child table2.Gtk.Table+TableChild
+ this.button182 = new Gtk.Button();
+ this.button182.CanFocus = true;
+ this.button182.Name = "button182";
+ this.button182.UseUnderline = true;
+ this.button182.Label = Mono.Unix.Catalog.GetString("Disconnetti");
+ this.table2.Add(this.button182);
+ Gtk.Table.TableChild w17 = ((Gtk.Table.TableChild)(this.table2[this.button182]));
+ w17.TopAttach = ((uint)(1));
+ w17.BottomAttach = ((uint)(2));
+ w17.LeftAttach = ((uint)(1));
+ w17.RightAttach = ((uint)(2));
+ w17.XOptions = ((Gtk.AttachOptions)(4));
+ w17.YOptions = ((Gtk.AttachOptions)(4));
+ // Container child table2.Gtk.Table+TableChild
+ this.button183 = new Gtk.Button();
+ this.button183.CanFocus = true;
+ this.button183.Name = "button183";
+ this.button183.UseUnderline = true;
+ this.button183.Label = Mono.Unix.Catalog.GetString("Aggiorna lista");
+ this.table2.Add(this.button183);
+ Gtk.Table.TableChild w18 = ((Gtk.Table.TableChild)(this.table2[this.button183]));
+ w18.TopAttach = ((uint)(2));
+ w18.BottomAttach = ((uint)(3));
+ w18.LeftAttach = ((uint)(1));
+ w18.RightAttach = ((uint)(2));
+ w18.XOptions = ((Gtk.AttachOptions)(4));
+ w18.YOptions = ((Gtk.AttachOptions)(4));
+ // Container child table2.Gtk.Table+TableChild
+ this.button184 = new Gtk.Button();
+ this.button184.CanFocus = true;
+ this.button184.Name = "button184";
+ this.button184.UseUnderline = true;
+ this.button184.Label = Mono.Unix.Catalog.GetString("Carica file");
+ this.table2.Add(this.button184);
+ Gtk.Table.TableChild w19 = ((Gtk.Table.TableChild)(this.table2[this.button184]));
+ w19.TopAttach = ((uint)(3));
+ w19.BottomAttach = ((uint)(4));
+ w19.LeftAttach = ((uint)(1));
+ w19.RightAttach = ((uint)(2));
+ w19.XOptions = ((Gtk.AttachOptions)(4));
+ w19.YOptions = ((Gtk.AttachOptions)(4));
+ // Container child table2.Gtk.Table+TableChild
+ this.filechooserbutton1 = new Gtk.FileChooserButton(Mono.Unix.Catalog.GetString("Seleziona un file"), ((Gtk.FileChooserAction)(0)));
+ this.filechooserbutton1.Name = "filechooserbutton1";
+ this.table2.Add(this.filechooserbutton1);
+ Gtk.Table.TableChild w20 = ((Gtk.Table.TableChild)(this.table2[this.filechooserbutton1]));
+ w20.TopAttach = ((uint)(3));
+ w20.BottomAttach = ((uint)(4));
+ w20.XOptions = ((Gtk.AttachOptions)(4));
+ w20.YOptions = ((Gtk.AttachOptions)(4));
+ // Container child table2.Gtk.Table+TableChild
+ this.label8 = new Gtk.Label();
+ this.label8.Name = "label8";
+ this.label8.LabelProp = Mono.Unix.Catalog.GetString("Il programma chiederà nuovamente utente e password quando necessario");
+ this.label8.Wrap = true;
+ this.table2.Add(this.label8);
+ Gtk.Table.TableChild w21 = ((Gtk.Table.TableChild)(this.table2[this.label8]));
+ w21.TopAttach = ((uint)(1));
+ w21.BottomAttach = ((uint)(2));
+ w21.YOptions = ((Gtk.AttachOptions)(4));
+ // Container child table2.Gtk.Table+TableChild
+ this.label9 = new Gtk.Label();
+ this.label9.Name = "label9";
+ this.label9.LabelProp = Mono.Unix.Catalog.GetString("Aggiornare la lista permette di trovare i file più recenti. Ogni volta che il programma viene avviato cerca di farlo autonomamente. La lista sul server viene aggiornata ogni ora.");
+ this.label9.Wrap = true;
+ this.table2.Add(this.label9);
+ Gtk.Table.TableChild w22 = ((Gtk.Table.TableChild)(this.table2[this.label9]));
+ w22.TopAttach = ((uint)(2));
+ w22.BottomAttach = ((uint)(3));
+ w22.YOptions = ((Gtk.AttachOptions)(4));
+ this.notebook1.Add(this.table2);
+ Gtk.Notebook.NotebookChild w23 = ((Gtk.Notebook.NotebookChild)(this.notebook1[this.table2]));
+ w23.Position = 2;
// Notebook tab
this.label7 = new Gtk.Label();
this.label7.Name = "label7";
this.label7.LabelProp = Mono.Unix.Catalog.GetString("Strumenti");
- this.notebook1.SetTabLabel(this.vbox4, this.label7);
+ this.notebook1.SetTabLabel(this.table2, this.label7);
this.label7.ShowAll();
this.vbox1.Add(this.notebook1);
- Gtk.Box.BoxChild w22 = ((Gtk.Box.BoxChild)(this.vbox1[this.notebook1]));
- w22.Position = 1;
+ Gtk.Box.BoxChild w24 = ((Gtk.Box.BoxChild)(this.vbox1[this.notebook1]));
+ w24.Position = 0;
// Container child vbox1.Gtk.Box+BoxChild
- this.statusbar2 = new Gtk.Statusbar();
- this.statusbar2.Name = "statusbar2";
- this.statusbar2.Spacing = 6;
- this.vbox1.Add(this.statusbar2);
- Gtk.Box.BoxChild w23 = ((Gtk.Box.BoxChild)(this.vbox1[this.statusbar2]));
- w23.Position = 2;
- w23.Expand = false;
- w23.Fill = false;
+ this.dizzystatus = new Gtk.Statusbar();
+ this.dizzystatus.Name = "dizzystatus";
+ this.dizzystatus.Spacing = 6;
+ this.vbox1.Add(this.dizzystatus);
+ Gtk.Box.BoxChild w25 = ((Gtk.Box.BoxChild)(this.vbox1[this.dizzystatus]));
+ w25.Position = 1;
+ w25.Expand = false;
+ w25.Fill = false;
this.Add(this.vbox1);
if ((this.Child != null)) {
this.Child.ShowAll();
diff --git a/gtk-gui/gui.stetic b/gtk-gui/gui.stetic
index 0d942e9..71809dc 100644
--- a/gtk-gui/gui.stetic
+++ b/gtk-gui/gui.stetic
@@ -8,7 +8,7 @@
<widget-library name="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
<widget-library name="../bin/Release/Dizzy.exe" internal="true" />
</import>
- <widget class="Gtk.Window" id="MainWindow" design-size="474 300">
+ <widget class="Gtk.Window" id="MainWindow" design-size="555 349">
<property name="MemberName" />
<property name="Title" translatable="yes">Dizzy PreRelease</property>
<property name="Icon">stock:stock_connect Menu</property>
@@ -22,22 +22,10 @@
<property name="Spacing">6</property>
<property name="BorderWidth">5</property>
<child>
- <widget class="Gtk.Label" id="label5">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">Ricordati di selezionare la cartella per il download prima di iniziarne uno.</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">False</property>
- <property name="Expand">False</property>
- <property name="Padding">1</property>
- </packing>
- </child>
- <child>
<widget class="Gtk.Notebook" id="notebook1">
<property name="MemberName" />
<property name="CanFocus">True</property>
- <property name="CurrentPage">2</property>
+ <property name="CurrentPage">0</property>
<child>
<widget class="Gtk.VBox" id="vbox3">
<property name="MemberName" />
@@ -194,6 +182,7 @@ Libro</property>
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="ShowScrollbars">True</property>
+ <property name="Reorderable">True</property>
<signal name="RowActivated" handler="OnRowActivated" />
</widget>
</child>
@@ -287,55 +276,146 @@ Libro</property>
</packing>
</child>
<child>
- <widget class="Gtk.VBox" id="vbox4">
+ <widget class="Gtk.Table" id="table2">
<property name="MemberName" />
- <property name="Spacing">6</property>
+ <property name="NRows">4</property>
+ <property name="NColumns">2</property>
+ <property name="RowSpacing">6</property>
+ <property name="ColumnSpacing">6</property>
+ <property name="BorderWidth">5</property>
+ <child>
+ <placeholder />
+ </child>
+ <child>
+ <placeholder />
+ </child>
<child>
- <widget class="Gtk.HBox" id="hbox1">
+ <widget class="Gtk.Button" id="button182">
<property name="MemberName" />
- <property name="Homogeneous">True</property>
- <property name="Spacing">6</property>
- <property name="BorderWidth">5</property>
- <child>
- <widget class="Gtk.Button" id="button261">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Aggiorna la lista dei file</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="button262">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Disconnetti</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
+ <property name="CanFocus">True</property>
+ <property name="Type">TextOnly</property>
+ <property name="Label" translatable="yes">Disconnetti</property>
+ <property name="UseUnderline">True</property>
</widget>
<packing>
- <property name="Position">0</property>
+ <property name="TopAttach">1</property>
+ <property name="BottomAttach">2</property>
+ <property name="LeftAttach">1</property>
+ <property name="RightAttach">2</property>
<property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
+ <property name="XOptions">Fill</property>
+ <property name="YOptions">Fill</property>
+ <property name="XExpand">False</property>
+ <property name="XFill">True</property>
+ <property name="XShrink">False</property>
+ <property name="YExpand">False</property>
+ <property name="YFill">True</property>
+ <property name="YShrink">False</property>
</packing>
</child>
<child>
- <placeholder />
+ <widget class="Gtk.Button" id="button183">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="Type">TextOnly</property>
+ <property name="Label" translatable="yes">Aggiorna lista</property>
+ <property name="UseUnderline">True</property>
+ </widget>
+ <packing>
+ <property name="TopAttach">2</property>
+ <property name="BottomAttach">3</property>
+ <property name="LeftAttach">1</property>
+ <property name="RightAttach">2</property>
+ <property name="AutoSize">True</property>
+ <property name="XOptions">Fill</property>
+ <property name="YOptions">Fill</property>
+ <property name="XExpand">False</property>
+ <property name="XFill">True</property>
+ <property name="XShrink">False</property>
+ <property name="YExpand">False</property>
+ <property name="YFill">True</property>
+ <property name="YShrink">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Button" id="button184">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="Type">TextOnly</property>
+ <property name="Label" translatable="yes">Carica file</property>
+ <property name="UseUnderline">True</property>
+ </widget>
+ <packing>
+ <property name="TopAttach">3</property>
+ <property name="BottomAttach">4</property>
+ <property name="LeftAttach">1</property>
+ <property name="RightAttach">2</property>
+ <property name="AutoSize">True</property>
+ <property name="XOptions">Fill</property>
+ <property name="YOptions">Fill</property>
+ <property name="XExpand">False</property>
+ <property name="XFill">True</property>
+ <property name="XShrink">False</property>
+ <property name="YExpand">False</property>
+ <property name="YFill">True</property>
+ <property name="YShrink">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.FileChooserButton" id="filechooserbutton1">
+ <property name="MemberName" />
+ </widget>
+ <packing>
+ <property name="TopAttach">3</property>
+ <property name="BottomAttach">4</property>
+ <property name="AutoSize">True</property>
+ <property name="XOptions">Fill</property>
+ <property name="YOptions">Fill</property>
+ <property name="XExpand">False</property>
+ <property name="XFill">True</property>
+ <property name="XShrink">False</property>
+ <property name="YExpand">False</property>
+ <property name="YFill">True</property>
+ <property name="YShrink">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Label" id="label8">
+ <property name="MemberName" />
+ <property name="LabelProp" translatable="yes">Il programma chiederà nuovamente utente e password quando necessario</property>
+ <property name="Wrap">True</property>
+ </widget>
+ <packing>
+ <property name="TopAttach">1</property>
+ <property name="BottomAttach">2</property>
+ <property name="AutoSize">False</property>
+ <property name="YOptions">Fill</property>
+ <property name="XExpand">True</property>
+ <property name="XFill">True</property>
+ <property name="XShrink">False</property>
+ <property name="YExpand">False</property>
+ <property name="YFill">True</property>
+ <property name="YShrink">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Label" id="label9">
+ <property name="MemberName" />
+ <property name="LabelProp" translatable="yes">Aggiornare la lista permette di trovare i file più recenti. Ogni volta che il programma viene avviato cerca di farlo autonomamente. La lista sul server viene aggiornata ogni ora.</property>
+ <property name="Wrap">True</property>
+ </widget>
+ <packing>
+ <property name="TopAttach">2</property>
+ <property name="BottomAttach">3</property>
+ <property name="AutoSize">False</property>
+ <property name="YOptions">Fill</property>
+ <property name="XExpand">True</property>
+ <property name="XFill">True</property>
+ <property name="XShrink">False</property>
+ <property name="YExpand">False</property>
+ <property name="YFill">True</property>
+ <property name="YShrink">False</property>
+ </packing>
</child>
</widget>
<packing>
@@ -353,12 +433,12 @@ Libro</property>
</child>
</widget>
<packing>
- <property name="Position">1</property>
+ <property name="Position">0</property>
<property name="AutoSize">True</property>
</packing>
</child>
<child>
- <widget class="Gtk.Statusbar" id="statusbar2">
+ <widget class="Gtk.Statusbar" id="dizzystatus">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
@@ -369,7 +449,7 @@ Libro</property>
</child>
</widget>
<packing>
- <property name="Position">2</property>
+ <property name="Position">1</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>