public void UpdateiFolder(iFolderWeb ifolder)
 {
     this.ifolder = ifolder;
        if (ifolder.LastSyncTime == null || ifolder.LastSyncTime == "")
     LastSuccessfulSync.Text = Util.GS("N/A");
        else
     LastSuccessfulSync.Text = ifolder.LastSyncTime;
        FFSyncValue.Text = "0";
        int syncInterval = 0;
        if (ifolder.SyncInterval <= 0)
        {
     try
     {
      syncInterval = ifws.GetDefaultSyncInterval();
     }
     catch
     {}
        }
        else
        {
     syncInterval = ifolder.SyncInterval;
        }
        if (syncInterval > 0)
        {
     syncInterval = syncInterval / 60;
        }
        SyncIntervalValue.Text = syncInterval + " " + Util.GS("minute(s)");
        NameLabel.Markup = string.Format("<span weight=\"bold\">{0}</span>", ifolder.Name);
        OwnerLabel.Markup = string.Format("<span size=\"small\">{0}</span>", ifolder.Owner);
        LocationLabel.Markup = string.Format("<span size=\"small\">{0}</span>", ifolder.UnManagedPath);
        try
        {
     SyncSize ss = ifws.CalculateSyncSize(ifolder.ID);
     FFSyncValue.Text = string.Format("{0}", ss.SyncNodeCount);
        }
        catch(Exception e)
        {
     FFSyncValue.Text = Util.GS("N/A");
        }
        try
        {
     ds = ifws.GetiFolderDiskSpace(ifolder.ID);
        }
        catch(Exception e)
        {
     ds = null;
        }
        if(ifolder.CurrentUserID == ifolder.OwnerID)
        {
     if(LimitCheckButton == null)
     {
      LimitCheckButton =
       new CheckButton(Util.GS("Set _Quota:"));
      LimitCheckButton.Toggled +=
     new EventHandler(OnLimitSizeButton);
      diskTable.Attach(LimitCheckButton, 0,1,1,2,
       AttachOptions.Shrink | AttachOptions.Fill, 0,0,0);
      LimitEntry = new Entry();
      LimitEntry.Changed +=
       new EventHandler(OnLimitChanged);
      LimitEntry.Activated +=
       new EventHandler(OnLimitEdited);
      LimitEntry.FocusOutEvent +=
       new FocusOutEventHandler(OnLimitFocusLost);
      LimitEntry.WidthChars = 6;
      LimitEntry.MaxLength = 10;
      LimitEntry.Layout.Alignment = Pango.Alignment.Left;
      diskTable.Attach(LimitEntry, 1,2,1,2,
       AttachOptions.Shrink | AttachOptions.Fill, 0,0,0);
      LimitCheckButton.ShowAll();
      LimitEntry.ShowAll();
     }
     else
     {
      LimitCheckButton.Visible = true;
      LimitEntry.Visible = true;
     }
     if(LimitLabel != null)
     {
      LimitLabel.Visible = false;
      LimitValue.Visible = false;
     }
        }
        else
        {
     if(LimitLabel == null)
     {
      LimitLabel = new Label(Util.GS("Quota:"));
      LimitLabel.Xalign = 0;
      diskTable.Attach(LimitLabel, 0,1,1,2,
       AttachOptions.Expand | AttachOptions.Fill, 0,0,0);
      LimitValue = new Label("0");
      LimitValue.Xalign = 1;
      diskTable.Attach(LimitValue, 1,2,1,2,
       AttachOptions.Shrink | AttachOptions.Fill, 0,0,0);
      LimitLabel.ShowAll();
      LimitValue.ShowAll();
     }
     else
     {
      LimitLabel.Visible = true;
      LimitValue.Visible = true;
     }
     if(LimitCheckButton != null)
     {
      LimitCheckButton.Visible = false;
      LimitEntry.Visible = false;
     }
        }
        if(ds != null)
        {
     int tmpValue;
     if(ds.Limit == 0)
     {
      LimitUnit.Sensitive = false;
      AvailLabel.Sensitive = false;
      AvailValue.Sensitive = false;
      AvailUnit.Sensitive = false;
      DiskUsageBar.Sensitive = false;
      DiskUsageFrame.Sensitive = false;
      DiskUsageFullLabel.Sensitive = false;
      DiskUsageEmptyLabel.Sensitive = false;
      if(LimitCheckButton != null)
      {
       LimitCheckButton.Active = false;
       LimitEntry.Sensitive = false;
       LimitEntry.Text = "0";
      }
      if(LimitLabel != null)
      {
       LimitLabel.Sensitive = false;
       LimitValue.Sensitive = false;
       LimitValue.Text = "0";
      }
      AvailValue.Text = "0";
     }
     else
     {
      LimitUnit.Sensitive = true;
      AvailLabel.Sensitive = true;
      AvailValue.Sensitive = true;
      AvailUnit.Sensitive = true;
      DiskUsageBar.Sensitive = true;
      DiskUsageFrame.Sensitive = true;
      DiskUsageFullLabel.Sensitive = true;
      DiskUsageEmptyLabel.Sensitive = true;
      if(LimitCheckButton != null)
      {
       LimitCheckButton.Active = true;
       LimitEntry.Sensitive = true;
       tmpValue = (int)(ds.Limit / (1024 * 1024));
       LimitEntry.Text = string.Format("{0}", tmpValue);
      }
      if(LimitLabel != null)
      {
       LimitLabel.Sensitive = true;
       LimitValue.Sensitive = true;
       tmpValue = (int)(ds.Limit / (1024 * 1024));
       LimitValue.Text = string.Format("{0}", tmpValue);
      }
      tmpValue = (int)(ds.AvailableSpace / (1024 * 1024));
      AvailValue.Text = string.Format("{0}",tmpValue);
     }
     SetGraph(ds.UsedSpace, ds.Limit);
     if(ds.UsedSpace == 0)
     {
      UsedValue.Text = "0";
     }
     else
     {
      tmpValue = (int)(ds.UsedSpace / (1024 * 1024)) + 1;
      UsedValue.Text = string.Format("{0}", tmpValue);
     }
        }
 }
Пример #2
0
 private void AddTagWidget(TeamTag tag)
 {
     CheckButton button = new CheckButton(tag.Value == Team.LOCAL ? localTeam : visitorTeam  );
     button.Toggled += delegate(object sender, EventArgs e) {
         if (button.Active) {
             tags.Add(tag);
         } else
             tags.Remove(tag);
     };
     dict.Add(tag, button);
     buttonsbox.PackStart(button, false, false, 0);
     button.ShowAll();
 }