Add copy shipname button to search control

This commit is contained in:
Daniel Schick 2024-08-12 12:40:23 +02:00
parent c11e571473
commit bed3fc397a
3 changed files with 32 additions and 0 deletions

View File

@ -1631,6 +1631,15 @@ namespace ENI2.Properties {
} }
} }
/// <summary>
/// Looks up a localized string similar to Copy ship name to clipboard.
/// </summary>
public static string textCopyShipnameClip {
get {
return ResourceManager.GetString("textCopyShipnameClip", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Copy to {0}. /// Looks up a localized string similar to Copy to {0}.
/// </summary> /// </summary>

View File

@ -1606,6 +1606,9 @@
<data name="textCopyClip" xml:space="preserve"> <data name="textCopyClip" xml:space="preserve">
<value>Copy Id to clipboard</value> <value>Copy Id to clipboard</value>
</data> </data>
<data name="textCopyShipnameClip" xml:space="preserve">
<value>Copy ship name to clipboard</value>
</data>
<data name="textUpdateStatus" xml:space="preserve"> <data name="textUpdateStatus" xml:space="preserve">
<value>Server status update</value> <value>Server status update</value>
</data> </data>

View File

@ -46,16 +46,25 @@ namespace ENI2
this.dataGrid.ContextMenu = new ContextMenu(); this.dataGrid.ContextMenu = new ContextMenu();
this.dataGrid.CanUserAddRows = false; this.dataGrid.CanUserAddRows = false;
this.dataGrid.ContextMenuOpening += ContextMenu_ContextMenuOpening; this.dataGrid.ContextMenuOpening += ContextMenu_ContextMenuOpening;
MenuItem addItem = new MenuItem(); MenuItem addItem = new MenuItem();
addItem.Header = Properties.Resources.textCopyClip; addItem.Header = Properties.Resources.textCopyClip;
addItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) }; addItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
addItem.Click += this.copyID; addItem.Click += this.copyID;
this.dataGrid.ContextMenu.Items.Add(addItem); this.dataGrid.ContextMenu.Items.Add(addItem);
MenuItem copyIMOItem = new MenuItem(); MenuItem copyIMOItem = new MenuItem();
copyIMOItem.Header = Properties.Resources.textCopyIMO; copyIMOItem.Header = Properties.Resources.textCopyIMO;
copyIMOItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/document_into.png")) }; copyIMOItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/document_into.png")) };
copyIMOItem.Click += this.copyIMO; copyIMOItem.Click += this.copyIMO;
this.dataGrid.ContextMenu.Items.Add(copyIMOItem); this.dataGrid.ContextMenu.Items.Add(copyIMOItem);
MenuItem copyShipnameItem = new MenuItem();
copyShipnameItem.Header = Properties.Resources.textCopyShipnameClip;
copyShipnameItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
copyShipnameItem.Click += this.copyShipname;
this.dataGrid.ContextMenu.Items.Add(copyShipnameItem);
cancelItem = new MenuItem(); cancelItem = new MenuItem();
cancelItem.Header = Properties.Resources.textUndoCancel; cancelItem.Header = Properties.Resources.textUndoCancel;
cancelItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/delete.png")) }; cancelItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/delete.png")) };
@ -302,6 +311,17 @@ namespace ENI2
} }
} }
private void copyShipname(object sender, RoutedEventArgs e)
{
if (dataGrid.SelectedItem is MessageCore selectedCore)
{
if (selectedCore.Shipname != null)
{
Clipboard.SetText(selectedCore.Shipname);
}
}
}
private void copyIMO(object sender, RoutedEventArgs e) private void copyIMO(object sender, RoutedEventArgs e)
{ {
if (dataGrid.SelectedItem is MessageCore selectedCore) if (dataGrid.SelectedItem is MessageCore selectedCore)