Ejemplo n.º 1
0
 /// <summary>
 /// Copies all values from source to target resource set
 /// </summary>
 private static void CopyResourceSetContent(ResourceSet source, ResourceSet target, BaseValuesFilter filter)
 {
     foreach (var sourceResourceItem in source.Values.Where(p => !p.Locked))
     {
         if (!target.ContainsKey(sourceResourceItem.Name))
         {
             var targetResourceItem = new ResourceItem();
             targetResourceItem.Name = sourceResourceItem.Name;
             targetResourceItem.Value = sourceResourceItem.Value;
             target.Add(sourceResourceItem.Name, targetResourceItem);
         }
         else
         {
             if (target[sourceResourceItem.Name].ValueEmpty || filter == BaseValuesFilter.AllUnlocked)
             {
                 target[sourceResourceItem.Name].Value = sourceResourceItem.Value;
             }
         }
     }
 }
Ejemplo n.º 2
0
        private static void RowSetStatus(DataGridViewRow row, ResourceItem localResourceItem)
        {
            ResourceItem baseResourceItem = (ResourceItem)row.Tag;

            // set color (mark translated with gray color)
            if (localResourceItem != null && !localResourceItem.ValueEmpty)
            {
                row.Cells[ColumnNames.Key].Style.ForeColor = Color.DarkGray;
            }
            else
            {
                row.Cells[ColumnNames.Key].Style.ForeColor = SystemColors.ControlText;
            }

            row.Cells[ColumnNames.BaseValue].Style.ForeColor = row.Cells[ColumnNames.Key].Style.ForeColor;
            row.Cells[ColumnNames.BaseComment].Style.ForeColor = row.Cells[ColumnNames.Key].Style.ForeColor;
            row.Cells[ColumnNames.LocalValue].Style.BackColor = Color.Empty;        // reset to empty - used when marking for reviewing
            row.Cells[ColumnNames.LocalComment].Style.BackColor = Color.Empty;      // reset to empty - used when marking for reviewing

            // set icon
            if (baseResourceItem is ResourceStringItem)
            {
                if (baseResourceItem.Locked)
                {
                    row.Cells[ColumnNames.Icon].Value = My.Resources.Local.resString_locked;
                }
                else
                {
                    if (localResourceItem != null && localResourceItem.ReviewPending)
                    {
                        row.Cells[ColumnNames.Icon].Value = My.Resources.Local.resString_review;
                        row.Cells[ColumnNames.LocalValue].Style.BackColor = Color.Yellow;
                        row.Cells[ColumnNames.LocalComment].Style.BackColor = Color.Yellow;
                    }
                    else if (localResourceItem != null && !localResourceItem.ValueEmpty)
                    {
                        row.Cells[ColumnNames.Icon].Value = My.Resources.Local.resString_translated;
                    }
                    else
                    {
                        row.Cells[ColumnNames.Icon].Value = My.Resources.Local.resString;
                    }
                }
            }
            else
            {
                row.Cells[ColumnNames.Icon].Value = null;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Updates the given grid row using the corresponding resource item of the given resource set
        /// </summary>
        private void UpdateResourceItemFromGridRow(DataGridViewRow row)
        {
            ResourceSet resourceSet = this.Context.CurrentLocalResourceSet;
            string rowKey = row.Cells[ColumnNames.Key].Value.ToString();

            ResourceItem localResourceItem;

            // add resource item or get existing
            bool isNewItem;
            if (!resourceSet.ContainsKey(rowKey))
            {
                localResourceItem = new ResourceItem();
                localResourceItem.Name = rowKey;
                isNewItem = true;
            }
            else
            {
                localResourceItem = resourceSet[rowKey];
                isNewItem = false;
            }

            // save value of row
            localResourceItem.Value = row.Cells[ColumnNames.LocalValue].Value != null ? row.Cells[ColumnNames.LocalValue].Value.ToString() : null;

            // save comment of row
            localResourceItem.Comment = row.Cells[ColumnNames.LocalComment].Value != null ? row.Cells[ColumnNames.LocalComment].Value.ToString() : null;

            if (isNewItem)
            {
                resourceSet.Add(rowKey, localResourceItem);
            }

            if (resourceSet.Status == ResourceSetStatus.Unaffected)
            {
                resourceSet.Status = ResourceSetStatus.Updated;
            }

            this.RefreshButtonState();
        }