support renaming files via CellEdited (requires UWT @ bb6be74)
This commit is contained in:
parent
c644bb21af
commit
3cbabda434
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.2 -->
|
||||
<!-- Generated with glade 3.38.2 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.20"/>
|
||||
<object class="GtkTreeStore" id="tm">
|
||||
@ -17,19 +17,16 @@
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkWindow">
|
||||
<property name="can_focus">False</property>
|
||||
<child type="titlebar">
|
||||
<placeholder/>
|
||||
</child>
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkEntry" id="txtPath">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
@ -40,14 +37,15 @@
|
||||
<child>
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="shadow-type">in</property>
|
||||
<child>
|
||||
<object class="GtkTreeView" id="tv">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="model">tm</property>
|
||||
<property name="search_column">0</property>
|
||||
<property name="search-column">0</property>
|
||||
<property name="rubber-banding">True</property>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection">
|
||||
<property name="mode">multiple</property>
|
||||
@ -66,7 +64,9 @@
|
||||
</attributes>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCellRendererText"/>
|
||||
<object class="GtkCellRendererText">
|
||||
<property name="editable">True</property>
|
||||
</object>
|
||||
<attributes>
|
||||
<attribute name="text">0</attribute>
|
||||
</attributes>
|
||||
|
||||
@ -136,6 +136,33 @@ namespace UniversalEditor.Editors.FileSystem
|
||||
ctxTreeView = MakeReference().Contexts[new Guid("{ce094932-77fb-418f-bd98-e3734a670fad}")];
|
||||
}
|
||||
|
||||
[EventHandler(nameof(tv), nameof(ListViewControl.CellEditing))]
|
||||
private void tv_CellEditing(object sender, CellEditingEventArgs e)
|
||||
{
|
||||
FileSystemObjectModel fsom = ObjectModel as FileSystemObjectModel;
|
||||
if (!CheckValidFileName(fsom, e.NewValue?.ToString()))
|
||||
{
|
||||
MessageDialog.ShowDialog(String.Format("Invalid file name '{0}' - File names on this file system may not contain the following characters: \r\n\t {1}\r\n\r\nOr be the following file names: \r\n\t{2}", e.NewValue, GetInvalidFileNameChars(fsom), GetInvalidFileNamesStr(fsom)), "Error", MessageDialogButtons.OK, MessageDialogIcon.Error);
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
[EventHandler(nameof(tv), nameof(ListViewControl.CellEdited))]
|
||||
private void tv_CellEdited(object sender, CellEditedEventArgs e)
|
||||
{
|
||||
IFileSystemObject item = e.Row.GetExtraData<IFileSystemObject>("item");
|
||||
if (item != null)
|
||||
{
|
||||
bool changed = item.Name != e.NewValue.ToString();
|
||||
if (changed)
|
||||
{
|
||||
BeginEdit();
|
||||
item.Name = e.NewValue.ToString();
|
||||
EndEdit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[EventHandler(nameof(tv), nameof(ListViewControl.GotFocus))]
|
||||
private void tv_GotFocus(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user