Esempio n. 1
0
 /*
  * оновлюємо кнопки дисків
  * параметри DisksView.Items.Add disksIcons.Images:
  * 0 - Fixed or NoRootDirectory
  * 1 - CDRom
  * 2 - Network
  * 3 - Ram
  * 4 - Removable
  * 5 - Unknown
  */
 public void UpdateDisksView(Field field, List<Disk> disks)
 {
     if (disks != null)
     {
         field.DisksView.Items.Clear();
         foreach (Disk disk in disks)
         {
             System.Drawing.Image diskIcon;
             if (disk.DiskType == DriveType.Fixed || disk.DiskType == DriveType.NoRootDirectory)
                 diskIcon = disksIcons.Images[0];
             else if (disk.DiskType == DriveType.CDRom)
                 diskIcon = disksIcons.Images[1];
             else if (disk.DiskType == DriveType.Network)
                 diskIcon = disksIcons.Images[2];
             else if (disk.DiskType == DriveType.Ram)
                 diskIcon = disksIcons.Images[3];
             else if (disk.DiskType == DriveType.Removable)
                 diskIcon = disksIcons.Images[4];
             else
                 diskIcon = disksIcons.Images[5];
             if (field.DisksView == disksView1)
                 field.DisksView.Items.Add(disk.Name, diskIcon).Click += new EventHandler(DiskView1Btn_Click);
             else if (field.DisksView == disksView2)
                 field.DisksView.Items.Add(disk.Name, diskIcon).Click += new EventHandler(DiskView2Btn_Click);
         }
     }
 }
Esempio n. 2
0
 public void UpdateFieldView(Field field)
 {
     List<ListViewItem> tempItemsList = new List<ListViewItem>();
     MakeTempItemsList(field, tempItemsList);
     if (String.Equals(field.FieldPath.Text, field.OpenedElement.Path))
     {
         int listEquals = ListEquals(field.FieldView.Items, tempItemsList);
         if (listEquals == 1)
         {
             //початок оновлення (промальовки) списку
             field.FieldView.BeginUpdate();
             for (int i = 0; i < tempItemsList.Count; i++)
                 if (!tempItemsList[i].Equals(field.FieldView.Items[i]))
                     field.FieldView.Items[i] = tempItemsList[i];
             //кінець оновлення
             field.FieldView.EndUpdate();
             return;
         }
         if (listEquals == 2)
             return;
     }
     //початок оновлення (промальовки) списку
     field.FieldView.BeginUpdate();
     field.FieldView.Items.Clear();
     foreach (ListViewItem item in tempItemsList)
         field.FieldView.Items.Add(item);
     //виводимо повний шлях до папки чи диску в якому знаходимося
     field.FieldPath.Text = field.OpenedElement.Path;
     //кінець оновлення
     field.FieldView.EndUpdate();
 }
Esempio n. 3
0
 public FileManager(ListView field1View, ListView field2View, TextBox field1Path, TextBox field2Path,
     ToolStrip disksView1, ToolStrip disksView2, Timer refresher, MainForm mainForm)
 {
     UpdateDisks();
     Field1 = new Field(field1View, field1Path, disksView1, Disks);
     Field2 = new Field(field2View, field2Path, disksView2, Disks);
     RefreshAll(mainForm);
     CurrentField = Field1;
     refresher.Enabled = true;
 }
Esempio n. 4
0
 /*
  * Зробити тимчасовий список елементів, для того, щоб перевірити,
  * чи потрібно і як потрібно оновлювати список елементів FieldView
  */
 private void MakeTempItemsList(Field field, List<ListViewItem> tempItemsList)
 {
     if (tempItemsList == null)
         tempItemsList = new List<ListViewItem>();
     /*
      * отримуємо список папок і файлів
      * параметри ListViewItem.Add
      *  0 - папки
      *  1 - файли
      *  2 - папка вгору
      */
     foreach (IFieldElement fieldElement in field.FieldElementList)
     {
         if (fieldElement is Folder || fieldElement is Disk)
         {
             string[] listViewItemData = new string[field1View.Columns.Count];
             listViewItemData[0] = fieldElement.Name;
             listViewItemData[1] = fieldElement.Type;
             listViewItemData[2] = "";
             tempItemsList.Add(fieldElement.Name == ".."
                 ? new ListViewItem(listViewItemData, 2)
                 : new ListViewItem(listViewItemData, 0));
         }
         else if (fieldElement is File)
         {
             string[] listViewItemData = new string[field1View.Columns.Count];
             listViewItemData[0] = fieldElement.Name;
             listViewItemData[1] = fieldElement.Type;
             listViewItemData[2] = ((File)fieldElement).Size.ToString();
             tempItemsList.Add(new ListViewItem(listViewItemData, 1));
         }
     }
 }