Пример #1
0
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            foreach (UI.Tab.TabItem te in tabControl.Items)
            {
                current = te;
                define();

                // if save == false
                if (te.saved == false)
                {
                    MessageBoxResult output        = System.Windows.MessageBox.Show("ok do you wan't to close without saving ? " + current.fileName, "delete file?", MessageBoxButton.YesNoCancel);
                    string           output_string = output.ToString();
                    if (output_string == "Cancel")
                    {
                        e.Cancel = true;
                        break;
                    }
                    else
                    if (output_string == "No")
                    {
                        FileEdit.Save();
                        define();
                    }
                }
            }
        }
Пример #2
0
 public FileEntryStreamReader(IJSRunner jsRunner, ElementReference elementRef, FileEntry fileEntry, FileEdit fileEdit)
 {
     this.jsRunner   = jsRunner;
     this.elementRef = elementRef;
     this.fileEntry  = fileEntry;
     this.fileEdit   = fileEdit;
 }
Пример #3
0
 /// <summary>
 /// set the is crypted property to false
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void noCode_Click(object sender, RoutedEventArgs e)
 {
     //toCrypt = false;
     current.isCrypt = false;
     FileEdit.Load();
     define();
 }
Пример #4
0
        private void FilesCombo_SelectedIndexChanged(object sender, EventArgs e)
        {
            string filename = Get_Current_Filename();

            if (m_Files.ContainsKey(filename))
            {
                FileEdit.Text = m_Files[filename].m_Text;
            }
            else
            {
                FileEdit.Clear();
            }
        }
Пример #5
0
        // ===== menu Crypt =====
        //      Crypt_crypt
        private void setKey_Click(object sender, RoutedEventArgs e)
        {
            property inputDialog = new property("Please enter augment :", "");

            if (inputDialog.ShowDialog() == true)
            {
                current.isXml           = true;
                current.isCrypt         = true;
                current.augmentKey      = new List <byte>(inputDialog.Answer);
                current.CryptMethod     = inputDialog.Methods;
                current.CryptFileMethod = Method.CryptFileMethod.content;
                define();
                FileEdit.Load();
            }
        }
Пример #6
0
        public async Task WriteToStreamAsync(Stream stream, CancellationToken cancellationToken)
        {
            await FileEdit.UpdateFileStartedAsync(FileEntry);

            long position = 0;

            try
            {
                while (position < FileEntry.Size)
                {
                    cancellationToken.ThrowIfCancellationRequested();

                    var length = Math.Min(maxMessageSize, FileEntry.Size - position);

                    var base64 = await JSRunner.ReadDataAsync(ElementRef, FileEntry.Id, position, length, cancellationToken);

                    var buffer = Convert.FromBase64String(base64);

                    if (length != buffer.Length)
                    {
                        throw new InvalidOperationException($"Requested a maximum of {length}, but received {buffer.Length}");
                    }

                    cancellationToken.ThrowIfCancellationRequested();

                    await stream.WriteAsync(buffer, cancellationToken);

                    position += buffer.Length;

                    // notify of all the changes
                    await Task.WhenAll(
                        FileEdit.UpdateFileWrittenAsync(FileEntry, position, buffer),
                        FileEdit.UpdateFileProgressAsync(FileEntry, buffer.Length));
                }
            }
            catch
            {
                throw;
            }
            finally
            {
                await FileEdit.UpdateFileEndedAsync(FileEntry, position == FileEntry.Size);
            }
        }
Пример #7
0
 private void File_close_Click(object sender, RoutedEventArgs e)
 {
     FileEdit.Close();
 }
Пример #8
0
 private void File_open_Click(object sender, RoutedEventArgs e)
 {
     FileEdit.Open();
 }
Пример #9
0
 // ===================== input menu tab ===========================
 // ===== menu File =====
 private void File_save_Click(object sender, RoutedEventArgs e)
 {
     FileEdit.Save();
 }
Пример #10
0
 private void File_reload_exe(object sender, ExecutedRoutedEventArgs e)
 {
     FileEdit.Load();
 }
Пример #11
0
 private void File_open_exe(object sender, ExecutedRoutedEventArgs e)
 {
     FileEdit.Open();
 }
Пример #12
0
 private void File_close_exe(object sender, ExecutedRoutedEventArgs e)
 {
     FileEdit.Close();
 }
Пример #13
0
 private void File_save_exe(object sender, ExecutedRoutedEventArgs e)
 {
     FileEdit.Save();
 }
Пример #14
0
 /// <summary>
 /// charge les données lorsque la fenetre est chargée
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Window_ContentRendered(object sender, EventArgs e)
 {
     FileEdit.Load();
     define();
 }
Пример #15
0
 public RemoteFileEntryStreamReader(IJSRunner jsRunner, ElementReference elementRef, FileEntry fileEntry, FileEdit fileEdit, int maxMessageSize)
     : base(jsRunner, elementRef, fileEntry, fileEdit)
 {
     this.maxMessageSize = maxMessageSize;
 }