Example #1
0
 protected virtual void OnItemActivate(ColumnListViewItem item)
 {
     if (ItemActivate != null)
     {
         ItemActivate(this, item);
     }
 }
Example #2
0
        private void ListViewControl_AfterLabelEdit(object sender, LabelEditEventArgs e)
        {
            ListViewControl.ContextMenuStrip = contextMenu;

            if (e.Label == null)
            {
                return;
            }
            ColumnListViewItem item = ListViewControl.Items[e.Item] as ColumnListViewItem;

            try {
                if (item.Tag is DirectoryInfo)
                {
                    Directory.Move(Path.Combine(ItemsPath, item.Text), Path.Combine(ItemsPath, e.Label));
                }
                else if (item.Tag is FileInfo)
                {
                    File.Move(Path.Combine(ItemsPath, item.Text), Path.Combine(ItemsPath, e.Label));
                }
            } catch {
                MessageBox.Show("There was an error renaming the item.", "Trail", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            e.CancelEdit = true;
        }
Example #3
0
        private void watcher_Renamed(object sender, RenamedEventArgs e)
        {
            ListViewControl.BeginUpdate();
            bool selected = false;

            foreach (ColumnListViewItem i in ListViewControl.Items)
            {
                if (i.Text != e.OldName)
                {
                    continue;
                }
                selected = i.Selected;
                i.Remove();
                break;
            }

            ColumnListViewItem item = getExistingItem(e.FullPath);

            item.Selected = true;

            ListViewControl.Items.Add(item);
            ListViewControl.Sort();
            ListViewControl.EndUpdate();

            OnLoadingCompleted();
        }
Example #4
0
        private void ItemsColumn_OneItemSelected(object sender, ListViewItem e)
        {
            ColumnControl      c    = sender as ColumnControl;
            ColumnListViewItem item = e as ColumnListViewItem;

            if (item.SubColumn == null)
            {
                return;
            }

            // Don't add existing column
            int i = this.Columns.IndexOf(c);

            if (this.Columns.Count > i + 1 &&
                (this.Columns[i + 1] as ItemsColumn).ItemsPath == item.SubColumn.Path)
            {
                return;
            }

            // Remove columns on the right
            int residueCount = this.Columns.Count - i - 1;
            int width        = residueCount > 0 ? this.Columns[i + 1].Width : this.DefaultColumnWidth;

            this.ScrollPanel.SuspendLayout();

            UpdateScrollMinSize();

            for (int j = 1; j <= residueCount; j++)
            {
                this.Columns.RemoveAt(i + 1);
            }

            if (c.ListViewControl.SelectedItems.Count == 1)
            {
                // Add new column
                ItemsColumn column = Packages.InstantiateColumn(item.SubColumn, Host);

                this.Columns.Add(column);
                column.Width = width;
                this.ScrollPanel.ResumeLayout();
                if (SubColumnAdded != null)
                {
                    SubColumnAdded(this, column);
                }
            }
            else
            {
                this.ScrollPanel.ResumeLayout();
            }
        }
Example #5
0
        public virtual Image GetIcon(ColumnListViewItem item)
        {
            string ext      = Path.GetExtension(item.Text).Replace(".", "");
            string iconPath = Path.Combine(Host.PersistenceFolder.FullName, "icons", ext + ".png");

            if (File.Exists(iconPath))
            {
                return(Image.FromFile(iconPath));
            }

            Icon i = Etier.IconHelper.IconReader.GetFileIcon(item.Text, Etier.IconHelper.IconReader.IconSize.Small, false);

            return(i.ToBitmap());
        }
Example #6
0
        protected override void OnItemActivate(ColumnListViewItem item)
        {
            if (item.SubColumn != null)
            {
                return;
            }

            ProcessStartInfo info = new ProcessStartInfo((item.Tag as FileInfo).FullName);

            info.WorkingDirectory = (item.Tag as FileInfo).DirectoryName;
            Process.Start(info);

            base.OnItemActivate(item);
        }
Example #7
0
        private void watcher_Created(object sender, FileSystemEventArgs e)
        {
            ColumnListViewItem item = getExistingItem(e.FullPath);

            ListViewControl.Items.Add(item);
            ListViewControl.Sort();

            if (item.Text.StartsWith("New "))
            {
                ListViewControl.SelectedItems.Clear();
                item.Selected = true;
                item.EnsureVisible();
                item.BeginEdit();
            }

            OnLoadingCompleted();
        }
Example #8
0
        private ColumnListViewItem getExistingItem(string path)
        {
            bool isDir = !File.Exists(path);

            ColumnListViewItem item = new ColumnListViewItem()
            {
                Text = Path.GetFileName(path),
                Tag  = isDir ? new DirectoryInfo(path) as object : new FileInfo(path) as object
            };

            item.ImageKey = getImageKey(item);
            if (isDir)
            {
                item.SubColumn = new ColumnData(this.GetType().FullName, (item.Tag as DirectoryInfo).FullName);
            }

            return(item);
        }
Example #9
0
        public override Image GetIcon(ColumnListViewItem item)
        {
            if (item.Tag is DirectoryInfo)
            {
                return(FugueIcons.FolderOpen);
            }

            List <string> patterns = Host.GetPreferenceList("directorycolumn.individual_icon_files");

            if (!patterns.Any(x => StringHelper.MatchesPattern(item.Text, x)))
            {
                return(base.GetIcon(item));
            }

            FileInfo fI = item.Tag as FileInfo;

            return(Etier.IconHelper.IconReader.GetFileIcon(fI.FullName, Etier.IconHelper.IconReader.IconSize.Small, false).ToBitmap());
        }
Example #10
0
        protected override void OnDoWork(DoWorkEventArgs e)
        {
            while (queue.Count > 0)
            {
                ColumnListViewItem item     = queue.Dequeue();
                ListView           listView = item.ListView;
                ImageList          images   = listView.SmallImageList;
                ItemsColumn        column   = listView.Parent as ItemsColumn;

                Image    image = column.GetIcon(item);
                Image    final = new Bitmap(20, 20);
                Graphics g     = Graphics.FromImage(final);

                g.DrawImage(image, new Rectangle(2, 2, 16, 16));
                this.ReportProgress(0, new Tuple <ColumnListViewItem, Image>(item, final));

                g.Dispose();
                image.Dispose();
            }
            base.OnDoWork(e);
        }
Example #11
0
        public void Enqueue(ColumnListViewItem item)
        {
            if (ImageList == null)
            {
                return;
            }
            if (item.ImageKey == "")
            {
                item.ImageKey = Guid.NewGuid().ToString();
            }
            if (ImageList.Images.Keys.Contains(item.ImageKey))
            {
                return;
            }

            queue.Enqueue(item);
            if (!this.IsBusy)
            {
                this.RunWorkerAsync();
            }
        }
Example #12
0
        private string getImageKey(ColumnListViewItem item)
        {
            if (item.Tag is DirectoryInfo)
            {
                return(".folder");
            }

            FileInfo fI  = item.Tag as FileInfo;
            string   ext = Path.GetExtension(fI.Name).Replace(".", "");

            if (ext == "")
            {
                return(fI.FullName);
            }

            List <string> patterns = Host.GetPreferenceList("directorycolumn.individual_icon_files");

            if (patterns.Any(x => StringHelper.MatchesPattern(fI.Name, x)))
            {
                return(fI.FullName);
            }

            return(ext);
        }
Example #13
0
 private void OnTableListBoxSelectedIndexChanged(object sender, EventArgs e)
 {
     this._internalChange = true;
     try
     {
         if (this._tableListBox.SelectedItem != null)
         {
             this._columnsListView.Items.Clear();
             TableListItem selectedItem = (TableListItem) this._tableListBox.SelectedItem;
             foreach (Column column in selectedItem.Table.Columns)
             {
                 string key = this._tableListBox.Text + "." + column.Name;
                 ColumnListViewItem item2 = new ColumnListViewItem(column);
                 string defaultValue = column.DefaultValue;
                 if (((defaultValue != null) && (defaultValue.Length != 0)) && !this.IgnoreDefaults.Contains(key))
                 {
                     this.Defaults[key] = defaultValue;
                 }
                 if (column.IsIdentity)
                 {
                     this.Defaults[key] = 0;
                 }
                 if (this.Defaults.Contains(key))
                 {
                     item2.Checked = true;
                 }
                 this._columnsListView.Items.Add(item2);
             }
             if (this._columnsListView.Items.Count > 0)
             {
                 this._columnsListView.Items[0].Selected = true;
             }
         }
     }
     finally
     {
         this._internalChange = false;
     }
 }
Example #14
0
 private void OnTableListBoxSelectedIndexChanged(object sender, EventArgs e)
 {
     this._internalChange = true;
     try
     {
         if (this._tableListBox.SelectedItem != null)
         {
             this._whereClauseBuilder.DefaultTableName = ((TableListItem) this._tableListBox.SelectedItem).Table.Name;
             this._columnsListView.Items.Clear();
             TableListItem selectedItem = (TableListItem) this._tableListBox.SelectedItem;
             foreach (Column column in selectedItem.Table.Columns)
             {
                 string key = this._tableListBox.Text + "." + column.Name;
                 ColumnListViewItem item2 = new ColumnListViewItem(column);
                 if (this.UpdateValues.Contains(key))
                 {
                     item2.Checked = true;
                 }
                 this._columnsListView.Items.Add(item2);
             }
             if (this._columnsListView.Items.Count > 0)
             {
                 this._columnsListView.Items[0].Selected = true;
             }
         }
         this.UpdatePreview();
     }
     finally
     {
         this._internalChange = false;
     }
 }
Example #15
0
 private void AddNewColumn()
 {
     string caption = ((TableProjectItem) this._document.ProjectItem).Caption;
     Column column = ((DatabaseProject) this._document.ProjectItem.Project).CreateColumn();
     column.Name = this.GetUniqueColumnName();
     ColumnListViewItem item = new ColumnListViewItem(column);
     this._columnsListView.Items.Add(item);
     item.Selected = true;
     item.Focused = true;
     item.EnsureVisible();
     this._columnsListView.Focus();
     this._dirty = true;
     this.OnDocumentChanged(EventArgs.Empty);
     item.BeginEdit();
 }