You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
399 lines
17 KiB
399 lines
17 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using OnDoc.Klassen;
|
|
using Syncfusion.Windows.Forms.Grid;
|
|
using Syncfusion.Windows.Forms.Tools;
|
|
using Syncfusion.WinForms.Controls;
|
|
using System.Xml;
|
|
using System.IO;
|
|
using System.Configuration;
|
|
using System.Xml.Linq;
|
|
using Syncfusion.Compression.Zip;
|
|
using static System.Net.Mime.MediaTypeNames;
|
|
using System.Diagnostics;
|
|
using Microsoft.Office.Interop.Word;
|
|
using Syncfusion.Windows.Forms.HTMLUI;
|
|
|
|
namespace OnDoc.Diverses
|
|
{
|
|
public partial class NativVorlagen : SfForm
|
|
{
|
|
private int TotalKlassifizierung = 0;
|
|
public NativVorlagen()
|
|
{
|
|
InitializeComponent();
|
|
this.Style.TitleBar.BackColor = Theaming.Titelbar();
|
|
this.Style.TitleBar.ForeColor = Theaming.TitelFontColor();
|
|
this.Style.ShadowOpacity = Theaming.ShadowOpacity;
|
|
this.Style.InactiveShadowOpacity = Theaming.InactivShadowOpacity;
|
|
|
|
}
|
|
private void treeView_DrawNode(object sender, DrawTreeNodeEventArgs e)
|
|
{
|
|
if (e.Node == null) return;
|
|
|
|
// if treeview's HideSelection property is "True",
|
|
// this will always returns "False" on unfocused treeview
|
|
var selected = (e.State & TreeNodeStates.Selected) == TreeNodeStates.Selected;
|
|
var unfocused = !e.Node.TreeView.Focused;
|
|
|
|
// we need to do owner drawing only on a selected node
|
|
// and when the treeview is unfocused, else let the OS do it for us
|
|
if (selected && unfocused)
|
|
{
|
|
var font = e.Node.NodeFont ?? e.Node.TreeView.Font;
|
|
e.Graphics.FillRectangle(SystemBrushes.Highlight, e.Bounds);
|
|
TextRenderer.DrawText(e.Graphics, e.Node.Text, font, e.Bounds, SystemColors.HighlightText, TextFormatFlags.GlyphOverhangPadding);
|
|
}
|
|
else
|
|
{
|
|
e.DrawDefault = true;
|
|
}
|
|
}
|
|
public void PopulateTree(string dir, TreeNode node)
|
|
{
|
|
DirectoryInfo directory = new DirectoryInfo(dir);
|
|
foreach (DirectoryInfo d in directory.GetDirectories())
|
|
{
|
|
TreeNode t = new TreeNode(d.Name);
|
|
t.ImageIndex = 3;
|
|
PopulateTree(d.FullName, t);
|
|
node.Nodes.Add(t);
|
|
}
|
|
foreach (FileInfo f in directory.GetFiles())
|
|
{
|
|
TreeNode t = new TreeNode(f.Name);
|
|
string ext = System.IO.Path.GetExtension(f.Name);
|
|
ext = ext.Substring(0, 3).ToUpper();
|
|
t.ImageIndex = 4;
|
|
t.SelectedImageIndex = 4;
|
|
if (ext == ".DO") { t.ImageIndex = 0; t.SelectedImageIndex = 0; };
|
|
if (ext == ".XL") { t.ImageIndex = 1; t.SelectedImageIndex = 1; };
|
|
if (ext == ".PP") { t.ImageIndex = 2; t.SelectedImageIndex = 2; };
|
|
if (ext == ".PD") { t.ImageIndex = 5; t.SelectedImageIndex = 5; };
|
|
t.Tag = f.FullName;
|
|
node.Nodes.Add(t);
|
|
}
|
|
}
|
|
|
|
private void NativVorlagen_Load(object sender, EventArgs e)
|
|
{
|
|
TreeNode root = new TreeNode();
|
|
root.Text = "Vorlagen";
|
|
root.ImageIndex = 3;
|
|
root.SelectedImageIndex = 3;
|
|
treeView.Nodes.Add(root);
|
|
PopulateTree(AppParams.pathNativVorlagen, root);
|
|
treeView.Nodes[0].Expand();
|
|
return;
|
|
string line = "";
|
|
int i = 1;
|
|
//StreamReader sr = new StreamReader(AppParams.pathNativVorlagen+@"\klassifizierung.txt");
|
|
//line = sr.ReadLine();
|
|
//while (line != null)
|
|
//{
|
|
// RadioButton rb = new RadioButton();
|
|
// rb.Name = "rb"+i.ToString();
|
|
// rb.Text = line;
|
|
// rb.Left = label1.Left;
|
|
// rb.Top = label1.Top + (i*25);
|
|
// rb.Width = 180;
|
|
// i++;
|
|
// this.Controls.Add(rb);
|
|
// line = sr.ReadLine();
|
|
//}
|
|
//sr.Close();
|
|
//TotalKlassifizierung = i - 1;
|
|
//try
|
|
//{
|
|
// RadioButton rb = this.Controls.Find("rb1", true).FirstOrDefault() as RadioButton;
|
|
// rb.Checked = true;
|
|
//}
|
|
//catch { }
|
|
|
|
string ext = "";
|
|
DirectoryInfo directoryInfo = new DirectoryInfo(AppParams.pathNativVorlagen);
|
|
if (directoryInfo.Exists)
|
|
{
|
|
try
|
|
{
|
|
TreeNode root1 = new TreeNode();
|
|
root.Text = "Vorlagen";
|
|
root.ImageIndex = 3;
|
|
root.SelectedImageIndex = 3;
|
|
treeView.Nodes.Add(root);
|
|
DirectoryInfo[] directories = directoryInfo.GetDirectories();
|
|
|
|
foreach (FileInfo file in directoryInfo.GetFiles())
|
|
{
|
|
if (file.Exists && file.Name!="Klassifizierung.txt")
|
|
{
|
|
|
|
ext = System.IO.Path.GetExtension(file.Name);
|
|
TreeNode tnnew = new TreeNode();
|
|
tnnew.Text = file.Name;
|
|
tnnew.Tag = file.FullName;
|
|
Logging.Logging.Debug("Load Nativ: " + file.FullName,"OnDoc","");
|
|
tnnew.ImageIndex = 4;
|
|
|
|
if (ext.Length > 2)
|
|
{
|
|
ext = ext.Substring(0, 3).ToUpper();
|
|
tnnew.ImageIndex = 4;
|
|
tnnew.SelectedImageIndex = 4;
|
|
if (ext == ".DO") { tnnew.ImageIndex = 0; tnnew.SelectedImageIndex = 0; };
|
|
if (ext == ".XL") { tnnew.ImageIndex = 1; tnnew.SelectedImageIndex = 1; };
|
|
if (ext == ".PP") { tnnew.ImageIndex = 2; tnnew.SelectedImageIndex = 2; };
|
|
if (ext == ".PD") { tnnew.ImageIndex = 5; tnnew.SelectedImageIndex = 5; };
|
|
}
|
|
else
|
|
{
|
|
tnnew.ImageIndex = 3; tnnew.SelectedImageIndex = 3;
|
|
|
|
}
|
|
TreeNode treeNode = treeView.Nodes[0];
|
|
treeNode.Nodes.Add(tnnew);
|
|
|
|
//TreeNode nodes = treeView.Nodes[0].Nodes.Add(file.Name);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if (directories.Length > 0)
|
|
{
|
|
foreach (DirectoryInfo directory in directories)
|
|
{
|
|
TreeNode node = treeView.Nodes[0].Nodes.Add(directory.Name);
|
|
node.ImageIndex = node.SelectedImageIndex = 3;
|
|
foreach (FileInfo file in directory.GetFiles())
|
|
{
|
|
if (file.Exists && file.Name!="klassifizierung.txt")
|
|
{
|
|
TreeNode tnnew = new TreeNode();
|
|
tnnew.Text = file.Name;
|
|
tnnew.Tag = file.FullName;
|
|
tnnew.ImageIndex = 4;
|
|
ext = System.IO.Path.GetExtension(tnnew.Text);
|
|
if (ext.Length > 2)
|
|
{
|
|
ext = ext.Substring(0, 2).ToUpper();
|
|
tnnew.ImageIndex = 4;
|
|
tnnew.SelectedImageIndex = 4;
|
|
|
|
if (ext == ".D") { tnnew.ImageIndex = 0; tnnew.SelectedImageIndex = 0; };
|
|
if (ext == ".X") { tnnew.ImageIndex = 1; tnnew.SelectedImageIndex = 1; };
|
|
if (ext == ".P") { tnnew.ImageIndex = 2; tnnew.SelectedImageIndex = 2; };
|
|
}
|
|
else
|
|
{
|
|
tnnew.ImageIndex = 3; tnnew.SelectedImageIndex = 3;
|
|
tnnew.Tag = "";
|
|
}
|
|
TreeNode tnnew2 = treeView.Nodes[0].Nodes[node.Index];
|
|
tnnew2.Nodes.Add(tnnew);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
treeView.ExpandAll();
|
|
}
|
|
}
|
|
private static void ListDirectory(TreeViewAdv treeView, string path)
|
|
{
|
|
treeView.Nodes.Clear();
|
|
|
|
var stack = new Stack<TreeNodeAdv>();
|
|
var rootDirectory = new DirectoryInfo(path);
|
|
var node = new TreeNodeAdv(rootDirectory.Name) { Tag = rootDirectory };
|
|
string ext = System.IO.Path.GetExtension(node.Text);
|
|
{ node.RightImageIndices = new int[] { 3 }; }
|
|
stack.Push(node);
|
|
while (stack.Count > 0)
|
|
{
|
|
var currentNode = stack.Pop();
|
|
var directoryInfo = (DirectoryInfo)currentNode.Tag;
|
|
foreach (var directory in directoryInfo.GetDirectories())
|
|
{
|
|
var childDirectoryNode = new TreeNodeAdv(directory.Name) { Tag = directory };
|
|
currentNode.Nodes.Add(childDirectoryNode);
|
|
{ childDirectoryNode.RightImageIndices = new int[] { 3 }; }
|
|
stack.Push(childDirectoryNode);
|
|
|
|
foreach (var file in directoryInfo.GetFiles())
|
|
{
|
|
if (file.Name != "klassifizierung.txt")
|
|
{
|
|
TreeNodeAdv tnnew = new TreeNodeAdv(file.Name);
|
|
ext = System.IO.Path.GetExtension(tnnew.Text);
|
|
if (ext.Length > 2)
|
|
{
|
|
ext = ext.Substring(0, 2).ToUpper();
|
|
if (ext == ".D") { tnnew.LeftImageIndices = new int[] { 0 }; };
|
|
if (ext == ".X") { tnnew.LeftImageIndices = new int[] { 1 }; };
|
|
if (ext == ".P") { tnnew.LeftImageIndices = new int[] { 2 }; };
|
|
}
|
|
else
|
|
{ tnnew.RightImageIndices = new int[] { 3 }; }
|
|
|
|
|
|
currentNode.Nodes.Add(tnnew);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
treeView.Nodes.Add(node);
|
|
}
|
|
|
|
private void treeView_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
|
|
{
|
|
Execute(e.Node);
|
|
|
|
|
|
}
|
|
|
|
private void toolStripButton1_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void toolStripButton2_Click(object sender, EventArgs e)
|
|
{
|
|
Execute(treeView.SelectedNode);
|
|
}
|
|
private void Execute(TreeNode treeNode)
|
|
{
|
|
string klassifizierung = "";
|
|
try
|
|
{
|
|
for (int i = 1; i < TotalKlassifizierung + 1; i++)
|
|
{
|
|
RadioButton rb = this.Controls.Find("rb" + i.ToString(), true).FirstOrDefault() as RadioButton;
|
|
if (rb != null)
|
|
{
|
|
if (rb.Checked)
|
|
{
|
|
klassifizierung = rb.Text;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch { }
|
|
try
|
|
{
|
|
|
|
string tempfilename = treeNode.Tag.ToString();
|
|
Logging.Logging.Debug("Nativ-Vorlage: " + tempfilename, "OnDoc", "");
|
|
if (tempfilename == "") { return; }
|
|
|
|
//string tempdir = AppParams.tempdir + "\nativdoks";
|
|
|
|
string ext = System.IO.Path.GetExtension(tempfilename);
|
|
string tempfilename1 = "";
|
|
ext = ext.Substring(0, 3).ToUpper();
|
|
switch (ext)
|
|
{
|
|
case ".DO":
|
|
System.Diagnostics.Process.Start("winword.exe", "/t" + tempfilename);
|
|
//MessageBox.Show(tempfilename);
|
|
break;
|
|
case ".XL":
|
|
System.Diagnostics.Process.Start("excel.exe", " /t " + tempfilename);
|
|
break;
|
|
case ".PP":
|
|
System.Diagnostics.Process.Start("POWERPNT.EXE", " /N " + tempfilename);
|
|
break;
|
|
default:
|
|
tempfilename1 = System.IO.Path.GetFileName(tempfilename);
|
|
tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1;
|
|
|
|
System.IO.File.Copy(tempfilename, tempfilename1, true);
|
|
Process.Start(tempfilename1);
|
|
break;
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
// Logging.Logging.Debug("Native-Vorlage erstellen", "OnDoc", tempfilename);
|
|
// string tempfilename1 = "";
|
|
// tempfilename1 = System.IO.Path.GetFileName(tempfilename);
|
|
// tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1;
|
|
|
|
// System.IO.File.Copy(tempfilename, tempfilename1, true);
|
|
// Process.Start(tempfilename1);
|
|
// if (ext.Length > 2)
|
|
// {
|
|
// ext = ext.Substring(0, 2).ToUpper();
|
|
// string tempfilename1 = "";
|
|
// switch (ext)
|
|
// {
|
|
// case ".D":
|
|
//// DOCGEN.Klassen.SyncFWord sf = new DOCGEN.Klassen.SyncFWord("","");
|
|
// tempfilename1 = System.IO.Path.GetFileName(tempfilename);
|
|
// tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1;
|
|
// System.IO.File.Copy(tempfilename,tempfilename1,true);
|
|
|
|
// // Logging.Logging.Debug("sfcreate.native", "OnDoc", tempfilename1);
|
|
// // sf.create_nativ("Klassifizierung", klassifizierung, "", tempfilename, tempfilename1);
|
|
// System.Diagnostics.Process.Start("winword.exe", " /t" + tempfilename1);
|
|
|
|
// //System.Diagnostics.Process.Start("winword.exe", " /t" + tempfilename);
|
|
// break;
|
|
// case ".X":
|
|
// //DOCGEN.Klassen.SyncFExcel ef = new DOCGEN.Klassen.SyncFExcel();
|
|
// tempfilename1 = System.IO.Path.GetFileName(tempfilename);
|
|
// tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1;
|
|
// System.IO.File.Copy(tempfilename,tempfilename1,true);
|
|
|
|
// //ef.create_nativ("Klassifizierung", klassifizierung, "", tempfilename, tempfilename1);
|
|
|
|
// System.Diagnostics.Process.Start("excel.exe", " /t " + tempfilename1);
|
|
// break;
|
|
// case ".P":
|
|
|
|
// //DOCGEN.Klassen.SyncFPowerPoint pf = new DOCGEN.Klassen.SyncFPowerPoint();
|
|
// tempfilename1 = System.IO.Path.GetFileName(tempfilename);
|
|
// tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1;
|
|
// System.IO.File.Copy(tempfilename, tempfilename1,true);
|
|
// //pf.create_nativ("Klassifizierung", klassifizierung,"",tempfilename,tempfilename1);
|
|
// System.Diagnostics.Process.Start("POWERPNT.EXE", " /N " + tempfilename1);
|
|
// break;
|
|
// default:
|
|
// tempfilename1 = System.IO.Path.GetFileName(tempfilename);
|
|
// tempfilename1 = AppParams.tempdir+ "" + DateTime.Now.ToString("yyyyMMddhhmmss") +tempfilename1;
|
|
|
|
// System.IO.File.Copy(tempfilename,tempfilename1, true);
|
|
// Process.Start(tempfilename1);
|
|
// break;
|
|
// }
|
|
|
|
// }
|
|
// }
|
|
// catch (Exception e) {
|
|
// Logging.Logging.Debug("Start Nativ: " + e.Message, "OnDoc", "");
|
|
// }
|
|
//}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
Execute(this.treeView.SelectedNode);
|
|
}
|
|
}
|
|
|
|
}
|