This commit is contained in:
Linrador 2025-05-28 13:38:25 +02:00
parent 54a0652754
commit d768c53703
18 changed files with 34691 additions and 0 deletions

25
WinFormsApp1.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.10.35027.167
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsApp1", "WinFormsApp1\WinFormsApp1.csproj", "{C38BE133-88BA-43F1-B81B-92F9DAC46D66}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C38BE133-88BA-43F1-B81B-92F9DAC46D66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C38BE133-88BA-43F1-B81B-92F9DAC46D66}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C38BE133-88BA-43F1-B81B-92F9DAC46D66}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C38BE133-88BA-43F1-B81B-92F9DAC46D66}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {324530E2-4A24-40AB-95B7-D947529D97F2}
EndGlobalSection
EndGlobal

36
WinFormsApp1/App.config Normal file
View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="WinFormsApp1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<WinFormsApp1.Properties.Settings>
<setting name="RecordingsFolder" serializeAs="String">
<value />
</setting>
<setting name="FinishedFolder" serializeAs="String">
<value />
</setting>
<setting name="KeepFolder" serializeAs="String">
<value />
</setting>
<setting name="database" serializeAs="String">
<value />
</setting>
<setting name="selectedSpeed" serializeAs="String">
<value>2</value>
</setting>
<setting name="thumbnailWidth" serializeAs="String">
<value>192</value>
</setting>
<setting name="archiveFolder" serializeAs="String">
<value />
</setting>
<setting name="streamlinkPath" serializeAs="String">
<value />
</setting>
</WinFormsApp1.Properties.Settings>
</userSettings>
</configuration>

4833
WinFormsApp1/Form1.Designer.cs generated Normal file

File diff suppressed because it is too large Load Diff

15643
WinFormsApp1/Form1.cs Normal file

File diff suppressed because it is too large Load Diff

12206
WinFormsApp1/Form1.resx Normal file

File diff suppressed because it is too large Load Diff

147
WinFormsApp1/Form2.Designer.cs generated Normal file
View File

@ -0,0 +1,147 @@
namespace WinFormsApp1
{
partial class Form2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
form1BindingSource = new BindingSource(components);
label_addMissingURL = new Label();
comboBox_Provider = new ComboBox();
label_Modelname = new Label();
textBox_addMissingURL = new TextBox();
button_addMissingURL_OK = new Button();
button_addMissingURL_Cancel = new Button();
((System.ComponentModel.ISupportInitialize)form1BindingSource).BeginInit();
SuspendLayout();
//
// label_addMissingURL
//
label_addMissingURL.Font = new Font("Microsoft Sans Serif", 11.25F);
label_addMissingURL.Location = new Point(13, 9);
label_addMissingURL.Margin = new Padding(4, 0, 4, 0);
label_addMissingURL.Name = "label_addMissingURL";
label_addMissingURL.Size = new Size(397, 69);
label_addMissingURL.TabIndex = 1;
label_addMissingURL.Text = "Es ist keine URL vorhanden.\r\nBitte wählen Sie einen Anbieter aus.";
label_addMissingURL.TextAlign = ContentAlignment.MiddleCenter;
//
// comboBox_Provider
//
comboBox_Provider.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox_Provider.Font = new Font("Segoe UI", 9.75F);
comboBox_Provider.FormattingEnabled = true;
comboBox_Provider.ItemHeight = 17;
comboBox_Provider.Location = new Point(13, 81);
comboBox_Provider.Margin = new Padding(4, 3, 4, 3);
comboBox_Provider.Name = "comboBox_Provider";
comboBox_Provider.Size = new Size(278, 25);
comboBox_Provider.TabIndex = 1;
comboBox_Provider.SelectedIndexChanged += comboBox_Provider_SelectedIndexChanged;
//
// label_Modelname
//
label_Modelname.AutoSize = true;
label_Modelname.Font = new Font("Segoe UI", 9.75F);
label_Modelname.Location = new Point(299, 84);
label_Modelname.Margin = new Padding(4, 0, 4, 0);
label_Modelname.Name = "label_Modelname";
label_Modelname.Size = new Size(111, 17);
label_Modelname.TabIndex = 6;
label_Modelname.Text = "label_Modelname";
label_Modelname.TextAlign = ContentAlignment.MiddleLeft;
//
// textBox_addMissingURL
//
textBox_addMissingURL.Font = new Font("Segoe UI", 9.75F);
textBox_addMissingURL.Location = new Point(13, 112);
textBox_addMissingURL.Margin = new Padding(4, 3, 4, 3);
textBox_addMissingURL.Name = "textBox_addMissingURL";
textBox_addMissingURL.ReadOnly = true;
textBox_addMissingURL.Size = new Size(397, 25);
textBox_addMissingURL.TabIndex = 7;
//
// button_addMissingURL_OK
//
button_addMissingURL_OK.Location = new Point(13, 143);
button_addMissingURL_OK.Margin = new Padding(4, 3, 4, 3);
button_addMissingURL_OK.Name = "button_addMissingURL_OK";
button_addMissingURL_OK.Size = new Size(194, 31);
button_addMissingURL_OK.TabIndex = 2;
button_addMissingURL_OK.Text = "OK";
button_addMissingURL_OK.UseVisualStyleBackColor = true;
button_addMissingURL_OK.Click += button_addMissingURL_OK_Click;
//
// button_addMissingURL_Cancel
//
button_addMissingURL_Cancel.Location = new Point(215, 143);
button_addMissingURL_Cancel.Margin = new Padding(4, 3, 4, 3);
button_addMissingURL_Cancel.Name = "button_addMissingURL_Cancel";
button_addMissingURL_Cancel.Size = new Size(194, 31);
button_addMissingURL_Cancel.TabIndex = 3;
button_addMissingURL_Cancel.Text = "Abbrechen";
button_addMissingURL_Cancel.UseVisualStyleBackColor = true;
button_addMissingURL_Cancel.Click += button_addMissingURL_Cancel_Click;
//
// Form2
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(422, 185);
ControlBox = false;
Controls.Add(button_addMissingURL_Cancel);
Controls.Add(button_addMissingURL_OK);
Controls.Add(textBox_addMissingURL);
Controls.Add(label_Modelname);
Controls.Add(comboBox_Provider);
Controls.Add(label_addMissingURL);
FormBorderStyle = FormBorderStyle.FixedSingle;
Margin = new Padding(4, 3, 4, 3);
MaximizeBox = false;
MaximumSize = new Size(438, 224);
MinimizeBox = false;
MinimumSize = new Size(438, 224);
Name = "Form2";
StartPosition = FormStartPosition.CenterScreen;
Text = "Form2";
TopMost = true;
Load += Form2_Load;
((System.ComponentModel.ISupportInitialize)form1BindingSource).EndInit();
ResumeLayout(false);
PerformLayout();
}
#endregion
private System.Windows.Forms.BindingSource form1BindingSource;
private Label label_addMissingURL;
private ComboBox comboBox_Provider;
private Label label_Modelname;
public TextBox textBox_addMissingURL;
private Button button_addMissingURL_OK;
private Button button_addMissingURL_Cancel;
}
}

69
WinFormsApp1/Form2.cs Normal file
View File

@ -0,0 +1,69 @@
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;
namespace WinFormsApp1
{
public partial class Form2 : Form
{
public bool cancelled = false;
string modelname = "";
public Form2(string _modelname, Dictionary<string, string[]> validProvider)
{
InitializeComponent();
cancelled = false;
modelname = _modelname;
label_Modelname.Text = _modelname;
this.Text = "URL fehlt - " + modelname;
foreach (string[] provider in validProvider.Values)
{
comboBox_Provider.Items.Add(provider[0]);
}
if (Char.IsUpper(modelname[0]))
{
comboBox_Provider.SelectedIndex = 1;
}
else
{
comboBox_Provider.SelectedIndex = 0;
}
button_addMissingURL_OK.Focus();
}
private void button_addMissingURL_OK_Click(object sender, EventArgs e)
{
cancelled = false;
this.Close();
}
private void button_addMissingURL_Cancel_Click(object sender, EventArgs e)
{
textBox_addMissingURL.Text = "";
cancelled = true;
this.Close();
}
private void comboBox_Provider_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox_Provider.SelectedIndex == 0)
{
textBox_addMissingURL.Text = comboBox_Provider.Text + modelname + "/";
}
else if (comboBox_Provider.SelectedIndex == 1)
{
textBox_addMissingURL.Text = comboBox_Provider.Text + "#" + modelname;
}
}
private void Form2_Load(object sender, EventArgs e)
{
comboBox_Provider.SelectedIndex = 0;
}
}
}

123
WinFormsApp1/Form2.resx Normal file
View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="form1BindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

65
WinFormsApp1/Form3.Designer.cs generated Normal file
View File

@ -0,0 +1,65 @@
namespace WinFormsApp1
{
partial class Form3
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
webBrowser_ModelDetails_AboutMe = new WebBrowser();
SuspendLayout();
//
// webBrowser_ModelDetails_AboutMe
//
webBrowser_ModelDetails_AboutMe.Dock = DockStyle.Fill;
webBrowser_ModelDetails_AboutMe.Location = new Point(0, 0);
webBrowser_ModelDetails_AboutMe.Margin = new Padding(4, 3, 4, 3);
webBrowser_ModelDetails_AboutMe.MinimumSize = new Size(23, 23);
webBrowser_ModelDetails_AboutMe.Name = "webBrowser_ModelDetails_AboutMe";
webBrowser_ModelDetails_AboutMe.Size = new Size(869, 564);
webBrowser_ModelDetails_AboutMe.TabIndex = 0;
//
// Form3
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
AutoScroll = true;
AutoSize = true;
ClientSize = new Size(869, 564);
Controls.Add(webBrowser_ModelDetails_AboutMe);
Margin = new Padding(4, 3, 4, 3);
Name = "Form3";
Text = "Form3";
FormClosing += Form3_FormClosing;
Load += Form3_Load;
ResumeLayout(false);
}
#endregion
private System.Windows.Forms.WebBrowser webBrowser_ModelDetails_AboutMe;
}
}

85
WinFormsApp1/Form3.cs Normal file
View File

@ -0,0 +1,85 @@
using CefSharp;
using CefSharp.WinForms;
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 System.IO;
namespace WinFormsApp1
{
public partial class Form3 : Form
{
ChromiumWebBrowser? chromiumWebBrowser1;
string modelname = "";
string aboutMeInfo = "";
public Form3(string _modelname, string _aboutMeInfo)
{
try
{
modelname = _modelname;
aboutMeInfo = _aboutMeInfo;
InitializeComponent();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Form3_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
chromiumWebBrowser1!.Dispose(); // Chromium-Browser freigeben
Cef.Shutdown(); // Chromium beenden
base.OnFormClosing(e);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Form3_Load(object sender, EventArgs e)
{
try
{
if ((bool)!Cef.IsInitialized)
{
CefSettings settings = new CefSettings();
settings.CachePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CefSharp\\Cache");
settings.BrowserSubprocessPath = Environment.ProcessPath;
Cef.Initialize(settings, performDependencyCheck: false, browserProcessHandler: null);
}
this.Text = "About me - " + modelname;
BrowserSettings browserSettings = new BrowserSettings()
{
DefaultEncoding = "UTF-8"
};
chromiumWebBrowser1 = new ChromiumWebBrowser("about:blank")
{
Dock = DockStyle.Fill,
BrowserSettings = browserSettings
};
this.Controls.Add(chromiumWebBrowser1);
chromiumWebBrowser1.LoadHtml(aboutMeInfo);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}

120
WinFormsApp1/Form3.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

145
WinFormsApp1/Program.cs Normal file
View File

@ -0,0 +1,145 @@
using CefSharp.DevTools.IndexedDB;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinFormsApp1
{
internal static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main(string[] args)
{
try
{
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
DriveInfo drive = new DriveInfo(Path.GetPathRoot(Environment.ProcessPath)!);
if (drive.IsReady && drive.AvailableFreeSpace >= 1000000000) // 1GB
{
string tmpDir = AppDomain.CurrentDomain.BaseDirectory;
string[] resources = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames();
if (!System.IO.File.Exists(Path.Combine(tmpDir, "CefSharp.BrowserSubprocess.exe")))
{
if (resources.Contains("WinFormsApp1.Resources.CefSharp.BrowserSubprocess.exe"))
{
ExtractFile("WinFormsApp1.Resources.CefSharp.BrowserSubprocess.exe");
}
}
if (!System.IO.Directory.Exists(Path.Combine(tmpDir, "Streamlink")))
{
if (!System.IO.File.Exists(Path.Combine(tmpDir, "Streamlink.zip")))
{
if (resources.Contains("WinFormsApp1.Resources.Streamlink.zip"))
{
Task.Run(() => ExtractFile("WinFormsApp1.Resources.Streamlink.zip"));
Task.Run(() => installStreamlink());
}
}
else
{
Task.Run(() => installStreamlink());
}
}
if (!System.IO.File.Exists(Path.Combine(tmpDir, "ffmpeg.exe")) || !System.IO.File.Exists(Path.Combine(tmpDir, "ffprobe.exe")) || !System.IO.Directory.Exists(Path.Combine(tmpDir, "Resources")))
{
if (!System.IO.File.Exists(Path.Combine(tmpDir, "ffmpeg.zip")))
{
if (resources.Contains("WinFormsApp1.Resources.ffmpeg.zip"))
{
Task.Run(() => ExtractFile("WinFormsApp1.Resources.ffmpeg.zip"));
Task.Run(() => installFFmpeg());
}
}
else
{
Task.Run(() => installFFmpeg());
}
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1(args));
}
else
{
MessageBox.Show("Nicht genügend Speicherplatz vorhanden auf " + drive.Name + " !");
Application.Exit();
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message, "Main");
}
}
static void ExtractFile(string file)
{
try
{
string tmpDir = AppDomain.CurrentDomain.BaseDirectory;
string[] resources = Assembly.GetExecutingAssembly().GetManifestResourceNames();
if (resources.Contains(file))
{
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(file)!)
{
using (FileStream bw = new FileStream(Path.Combine(tmpDir, file.Replace("WinFormsApp1.Resources.", "")), System.IO.FileMode.Create))
{
//read until we reach the end of the file
while (stream!.Position < stream.Length)
{
//byte array to hold file bytes
byte[] bits = new byte[stream.Length];
//read in the bytes
stream.Read(bits, 0, (int)stream.Length);
//write out the bytes
bw.Write(bits, 0, (int)stream.Length);
}
}
stream.Close();
}
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message, "ExtractFile");
}
}
static async Task installFFmpeg()
{
string tmpDir = AppDomain.CurrentDomain.BaseDirectory;
if (System.IO.File.Exists(Path.Combine(tmpDir, "ffmpeg.zip")))
{
await Task.Run(() => ZipFile.ExtractToDirectory(Path.Combine(tmpDir, "ffmpeg.zip"), AppDomain.CurrentDomain.BaseDirectory, true));
System.IO.File.Delete(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ffmpeg.zip"));
}
}
static async Task installStreamlink()
{
string tmpDir = AppDomain.CurrentDomain.BaseDirectory;
if (System.IO.File.Exists(Path.Combine(tmpDir, "Streamlink.zip")))
{
await Task.Run(() => ZipFile.ExtractToDirectory(Path.Combine(tmpDir, "Streamlink.zip"), AppDomain.CurrentDomain.BaseDirectory, true));
System.IO.File.Delete(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Streamlink.zip"));
}
}
}
}

View File

@ -0,0 +1,782 @@
namespace WinFormsApp1
{
partial class UserControl_newModelTab
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Komponenten-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
splitContainer_ArchiveDownloads = new SplitContainer();
splitContainer_ArchiveDownloads_ModelDetails = new SplitContainer();
tableLayoutPanel_Modeldetails = new TableLayoutPanel();
label_ModelDetail_Tags = new Label();
label_ModelDetail_SecondsOnline_Value = new Label();
label_ModelDetail_SecondsOnline = new Label();
label_ModelDetail_Subject_Value = new Label();
label_ModelDetail_Subject = new Label();
label_ModelDetail_LastUpdate_Value = new Label();
label_ModelDetail_LastUpdate = new Label();
label_ModelDetail_LastBroadcastTimeAgo_Value = new Label();
button_ModelDetail_AddToDownload = new Button();
label_ModelDetail_FavLikesIcon = new Label();
label_ModelDetail_Name = new Label();
button_Reload_ModelDetails = new Button();
label_ModelDetail_Bodytype_Value = new Label();
label_ModelDetail_RealName = new Label();
label_ModelDetail_RealName_Value = new Label();
label_ModelDetail_Location = new Label();
label_ModelDetail_Location_Value = new Label();
label_ModelDetail_Bodytype = new Label();
label_ModelDetail_Age = new Label();
label_ModelDetail_Age_Value = new Label();
label_ModelDetail_Status = new Label();
label_ModelDetail_Status_Value = new Label();
label_ModelDetail_LastBroadcast = new Label();
label_ModelDetail_LastBroadcast_Value = new Label();
label_ModelDetail_Languages = new Label();
label_ModelDetail_AboutMe = new Label();
label_ModelDetail_Languages_Value = new Label();
label_ModelDetail_Sex = new Label();
label_ModelDetail_Sex_Value = new Label();
button_ModelDetail_AboutMe = new Button();
pictureBox_ModelDetail_Preview = new PictureBox();
richTextBox_ModelDetail_Tags = new RichTextBox();
listView_ArchivedDownloads = new ListView();
archive_Icon = new ColumnHeader();
archive_Modelname = new ColumnHeader();
archive_Filename = new ColumnHeader();
archive_Filesize = new ColumnHeader();
archive_Filedate = new ColumnHeader();
archive_lastStream = new ColumnHeader();
archive_Filepath = new ColumnHeader();
button_ArchivedDownloadsMoveToArchive = new Button();
trackBar_ArchivedDownloadsTileSize = new TrackBar();
label_completedDownloadsView = new Label();
comboBox_ArchivedDownloadsView = new ComboBox();
button_ArchivedDownloadsDeleteNonHOTFiles = new Button();
button_ReloadArchivedDownloads = new Button();
((System.ComponentModel.ISupportInitialize)splitContainer_ArchiveDownloads).BeginInit();
splitContainer_ArchiveDownloads.Panel1.SuspendLayout();
splitContainer_ArchiveDownloads.Panel2.SuspendLayout();
splitContainer_ArchiveDownloads.SuspendLayout();
((System.ComponentModel.ISupportInitialize)splitContainer_ArchiveDownloads_ModelDetails).BeginInit();
splitContainer_ArchiveDownloads_ModelDetails.Panel1.SuspendLayout();
splitContainer_ArchiveDownloads_ModelDetails.Panel2.SuspendLayout();
splitContainer_ArchiveDownloads_ModelDetails.SuspendLayout();
tableLayoutPanel_Modeldetails.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureBox_ModelDetail_Preview).BeginInit();
((System.ComponentModel.ISupportInitialize)trackBar_ArchivedDownloadsTileSize).BeginInit();
SuspendLayout();
//
// splitContainer_ArchiveDownloads
//
splitContainer_ArchiveDownloads.Dock = DockStyle.Fill;
splitContainer_ArchiveDownloads.FixedPanel = FixedPanel.Panel2;
splitContainer_ArchiveDownloads.IsSplitterFixed = true;
splitContainer_ArchiveDownloads.Location = new Point(0, 0);
splitContainer_ArchiveDownloads.Margin = new Padding(4, 3, 4, 3);
splitContainer_ArchiveDownloads.Name = "splitContainer_ArchiveDownloads";
splitContainer_ArchiveDownloads.Orientation = Orientation.Horizontal;
//
// splitContainer_ArchiveDownloads.Panel1
//
splitContainer_ArchiveDownloads.Panel1.Controls.Add(splitContainer_ArchiveDownloads_ModelDetails);
//
// splitContainer_ArchiveDownloads.Panel2
//
splitContainer_ArchiveDownloads.Panel2.Controls.Add(button_ArchivedDownloadsMoveToArchive);
splitContainer_ArchiveDownloads.Panel2.Controls.Add(trackBar_ArchivedDownloadsTileSize);
splitContainer_ArchiveDownloads.Panel2.Controls.Add(label_completedDownloadsView);
splitContainer_ArchiveDownloads.Panel2.Controls.Add(comboBox_ArchivedDownloadsView);
splitContainer_ArchiveDownloads.Panel2.Controls.Add(button_ArchivedDownloadsDeleteNonHOTFiles);
splitContainer_ArchiveDownloads.Panel2.Controls.Add(button_ReloadArchivedDownloads);
splitContainer_ArchiveDownloads.Size = new Size(905, 506);
splitContainer_ArchiveDownloads.SplitterDistance = 457;
splitContainer_ArchiveDownloads.SplitterWidth = 5;
splitContainer_ArchiveDownloads.TabIndex = 1;
//
// splitContainer_ArchiveDownloads_ModelDetails
//
splitContainer_ArchiveDownloads_ModelDetails.Dock = DockStyle.Fill;
splitContainer_ArchiveDownloads_ModelDetails.FixedPanel = FixedPanel.Panel1;
splitContainer_ArchiveDownloads_ModelDetails.IsSplitterFixed = true;
splitContainer_ArchiveDownloads_ModelDetails.Location = new Point(0, 0);
splitContainer_ArchiveDownloads_ModelDetails.Margin = new Padding(4, 3, 4, 3);
splitContainer_ArchiveDownloads_ModelDetails.Name = "splitContainer_ArchiveDownloads_ModelDetails";
splitContainer_ArchiveDownloads_ModelDetails.Orientation = Orientation.Horizontal;
//
// splitContainer_ArchiveDownloads_ModelDetails.Panel1
//
splitContainer_ArchiveDownloads_ModelDetails.Panel1.Controls.Add(tableLayoutPanel_Modeldetails);
//
// splitContainer_ArchiveDownloads_ModelDetails.Panel2
//
splitContainer_ArchiveDownloads_ModelDetails.Panel2.Controls.Add(listView_ArchivedDownloads);
splitContainer_ArchiveDownloads_ModelDetails.Size = new Size(905, 457);
splitContainer_ArchiveDownloads_ModelDetails.SplitterDistance = 225;
splitContainer_ArchiveDownloads_ModelDetails.SplitterWidth = 5;
splitContainer_ArchiveDownloads_ModelDetails.TabIndex = 6;
//
// tableLayoutPanel_Modeldetails
//
tableLayoutPanel_Modeldetails.ColumnCount = 11;
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 31F));
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 5.95629835F));
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 11.8859987F));
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 9.032252F));
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 9.012103F));
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 10.0965939F));
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 10.0965939F));
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 10.09581F));
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 13.628293F));
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 10.0965939F));
tableLayoutPanel_Modeldetails.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 10.0994654F));
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Tags, 4, 7);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_SecondsOnline_Value, 9, 3);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_SecondsOnline, 8, 3);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Subject_Value, 5, 1);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Subject, 4, 1);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_LastUpdate_Value, 2, 8);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_LastUpdate, 0, 8);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_LastBroadcastTimeAgo_Value, 9, 2);
tableLayoutPanel_Modeldetails.Controls.Add(button_ModelDetail_AddToDownload, 7, 0);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_FavLikesIcon, 0, 0);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Name, 1, 0);
tableLayoutPanel_Modeldetails.Controls.Add(button_Reload_ModelDetails, 9, 0);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Bodytype_Value, 5, 6);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_RealName, 4, 3);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_RealName_Value, 5, 3);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Location, 4, 4);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Location_Value, 5, 4);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Bodytype, 4, 6);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Age, 4, 5);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Age_Value, 5, 5);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Status, 4, 2);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Status_Value, 5, 2);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_LastBroadcast, 8, 1);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_LastBroadcast_Value, 9, 1);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Languages, 8, 5);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_AboutMe, 8, 6);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Languages_Value, 9, 5);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Sex, 8, 4);
tableLayoutPanel_Modeldetails.Controls.Add(label_ModelDetail_Sex_Value, 9, 4);
tableLayoutPanel_Modeldetails.Controls.Add(button_ModelDetail_AboutMe, 9, 6);
tableLayoutPanel_Modeldetails.Controls.Add(pictureBox_ModelDetail_Preview, 0, 1);
tableLayoutPanel_Modeldetails.Controls.Add(richTextBox_ModelDetail_Tags, 5, 7);
tableLayoutPanel_Modeldetails.Dock = DockStyle.Fill;
tableLayoutPanel_Modeldetails.Location = new Point(0, 0);
tableLayoutPanel_Modeldetails.Margin = new Padding(4, 3, 4, 3);
tableLayoutPanel_Modeldetails.Name = "tableLayoutPanel_Modeldetails";
tableLayoutPanel_Modeldetails.RowCount = 9;
tableLayoutPanel_Modeldetails.RowStyles.Add(new RowStyle(SizeType.Absolute, 35F));
tableLayoutPanel_Modeldetails.RowStyles.Add(new RowStyle(SizeType.Absolute, 23F));
tableLayoutPanel_Modeldetails.RowStyles.Add(new RowStyle(SizeType.Absolute, 23F));
tableLayoutPanel_Modeldetails.RowStyles.Add(new RowStyle(SizeType.Absolute, 23F));
tableLayoutPanel_Modeldetails.RowStyles.Add(new RowStyle(SizeType.Absolute, 23F));
tableLayoutPanel_Modeldetails.RowStyles.Add(new RowStyle(SizeType.Absolute, 23F));
tableLayoutPanel_Modeldetails.RowStyles.Add(new RowStyle(SizeType.Absolute, 23F));
tableLayoutPanel_Modeldetails.RowStyles.Add(new RowStyle(SizeType.Absolute, 23F));
tableLayoutPanel_Modeldetails.RowStyles.Add(new RowStyle(SizeType.Absolute, 23F));
tableLayoutPanel_Modeldetails.Size = new Size(905, 225);
tableLayoutPanel_Modeldetails.TabIndex = 0;
//
// label_ModelDetail_Tags
//
label_ModelDetail_Tags.AutoSize = true;
label_ModelDetail_Tags.Dock = DockStyle.Fill;
label_ModelDetail_Tags.Location = new Point(268, 173);
label_ModelDetail_Tags.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Tags.Name = "label_ModelDetail_Tags";
label_ModelDetail_Tags.Size = new Size(70, 23);
label_ModelDetail_Tags.TabIndex = 33;
label_ModelDetail_Tags.Text = "Tags:";
label_ModelDetail_Tags.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_SecondsOnline_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_SecondsOnline_Value, 2);
label_ModelDetail_SecondsOnline_Value.Dock = DockStyle.Fill;
label_ModelDetail_SecondsOnline_Value.Location = new Point(729, 81);
label_ModelDetail_SecondsOnline_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_SecondsOnline_Value.Name = "label_ModelDetail_SecondsOnline_Value";
label_ModelDetail_SecondsOnline_Value.Size = new Size(172, 23);
label_ModelDetail_SecondsOnline_Value.TabIndex = 32;
label_ModelDetail_SecondsOnline_Value.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_SecondsOnline
//
label_ModelDetail_SecondsOnline.AutoSize = true;
label_ModelDetail_SecondsOnline.Dock = DockStyle.Fill;
label_ModelDetail_SecondsOnline.Location = new Point(610, 81);
label_ModelDetail_SecondsOnline.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_SecondsOnline.Name = "label_ModelDetail_SecondsOnline";
label_ModelDetail_SecondsOnline.Size = new Size(111, 23);
label_ModelDetail_SecondsOnline.TabIndex = 31;
label_ModelDetail_SecondsOnline.Text = "Online seit:";
label_ModelDetail_SecondsOnline.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Subject_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_Subject_Value, 3);
label_ModelDetail_Subject_Value.Dock = DockStyle.Fill;
label_ModelDetail_Subject_Value.Location = new Point(346, 35);
label_ModelDetail_Subject_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Subject_Value.Name = "label_ModelDetail_Subject_Value";
label_ModelDetail_Subject_Value.Size = new Size(256, 23);
label_ModelDetail_Subject_Value.TabIndex = 30;
label_ModelDetail_Subject_Value.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Subject
//
label_ModelDetail_Subject.AutoSize = true;
label_ModelDetail_Subject.Dock = DockStyle.Fill;
label_ModelDetail_Subject.Location = new Point(268, 35);
label_ModelDetail_Subject.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Subject.Name = "label_ModelDetail_Subject";
label_ModelDetail_Subject.Size = new Size(70, 23);
label_ModelDetail_Subject.TabIndex = 29;
label_ModelDetail_Subject.Text = "Titel:";
label_ModelDetail_Subject.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_LastUpdate_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_LastUpdate_Value, 6);
label_ModelDetail_LastUpdate_Value.Dock = DockStyle.Fill;
label_ModelDetail_LastUpdate_Value.Location = new Point(87, 196);
label_ModelDetail_LastUpdate_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_LastUpdate_Value.Name = "label_ModelDetail_LastUpdate_Value";
label_ModelDetail_LastUpdate_Value.Size = new Size(515, 29);
label_ModelDetail_LastUpdate_Value.TabIndex = 28;
label_ModelDetail_LastUpdate_Value.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_LastUpdate
//
label_ModelDetail_LastUpdate.AutoSize = true;
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_LastUpdate, 2);
label_ModelDetail_LastUpdate.Dock = DockStyle.Fill;
label_ModelDetail_LastUpdate.Location = new Point(4, 196);
label_ModelDetail_LastUpdate.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_LastUpdate.Name = "label_ModelDetail_LastUpdate";
label_ModelDetail_LastUpdate.Size = new Size(75, 29);
label_ModelDetail_LastUpdate.TabIndex = 27;
label_ModelDetail_LastUpdate.Text = "Aktualisiert:";
label_ModelDetail_LastUpdate.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_LastBroadcastTimeAgo_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_LastBroadcastTimeAgo_Value, 2);
label_ModelDetail_LastBroadcastTimeAgo_Value.Dock = DockStyle.Fill;
label_ModelDetail_LastBroadcastTimeAgo_Value.Location = new Point(729, 58);
label_ModelDetail_LastBroadcastTimeAgo_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_LastBroadcastTimeAgo_Value.Name = "label_ModelDetail_LastBroadcastTimeAgo_Value";
label_ModelDetail_LastBroadcastTimeAgo_Value.Size = new Size(172, 23);
label_ModelDetail_LastBroadcastTimeAgo_Value.TabIndex = 26;
//
// button_ModelDetail_AddToDownload
//
button_ModelDetail_AddToDownload.BackgroundImageLayout = ImageLayout.Zoom;
tableLayoutPanel_Modeldetails.SetColumnSpan(button_ModelDetail_AddToDownload, 2);
button_ModelDetail_AddToDownload.Dock = DockStyle.Fill;
button_ModelDetail_AddToDownload.Location = new Point(522, 3);
button_ModelDetail_AddToDownload.Margin = new Padding(4, 3, 4, 3);
button_ModelDetail_AddToDownload.Name = "button_ModelDetail_AddToDownload";
button_ModelDetail_AddToDownload.Size = new Size(199, 29);
button_ModelDetail_AddToDownload.TabIndex = 25;
button_ModelDetail_AddToDownload.Text = "Zum Download hinzufügen";
button_ModelDetail_AddToDownload.TextImageRelation = TextImageRelation.ImageBeforeText;
button_ModelDetail_AddToDownload.UseVisualStyleBackColor = true;
//
// label_ModelDetail_FavLikesIcon
//
label_ModelDetail_FavLikesIcon.AutoSize = true;
label_ModelDetail_FavLikesIcon.Dock = DockStyle.Fill;
label_ModelDetail_FavLikesIcon.Font = new Font("Segoe UI", 15.75F);
label_ModelDetail_FavLikesIcon.Location = new Point(0, 0);
label_ModelDetail_FavLikesIcon.Margin = new Padding(0);
label_ModelDetail_FavLikesIcon.Name = "label_ModelDetail_FavLikesIcon";
label_ModelDetail_FavLikesIcon.Size = new Size(31, 35);
label_ModelDetail_FavLikesIcon.TabIndex = 6;
//
// label_ModelDetail_Name
//
label_ModelDetail_Name.AutoSize = true;
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_Name, 4);
label_ModelDetail_Name.Dock = DockStyle.Fill;
label_ModelDetail_Name.Font = new Font("Microsoft Sans Serif", 12F);
label_ModelDetail_Name.Location = new Point(35, 0);
label_ModelDetail_Name.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Name.Name = "label_ModelDetail_Name";
label_ModelDetail_Name.Size = new Size(303, 35);
label_ModelDetail_Name.TabIndex = 0;
label_ModelDetail_Name.Text = "Modelname";
label_ModelDetail_Name.TextAlign = ContentAlignment.MiddleLeft;
//
// button_Reload_ModelDetails
//
tableLayoutPanel_Modeldetails.SetColumnSpan(button_Reload_ModelDetails, 2);
button_Reload_ModelDetails.Dock = DockStyle.Fill;
button_Reload_ModelDetails.Location = new Point(729, 3);
button_Reload_ModelDetails.Margin = new Padding(4, 3, 4, 3);
button_Reload_ModelDetails.Name = "button_Reload_ModelDetails";
button_Reload_ModelDetails.Size = new Size(172, 29);
button_Reload_ModelDetails.TabIndex = 5;
button_Reload_ModelDetails.Text = "Infos neu laden";
button_Reload_ModelDetails.UseVisualStyleBackColor = true;
//
// label_ModelDetail_Bodytype_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_Bodytype_Value, 3);
label_ModelDetail_Bodytype_Value.Dock = DockStyle.Fill;
label_ModelDetail_Bodytype_Value.Location = new Point(346, 150);
label_ModelDetail_Bodytype_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Bodytype_Value.Name = "label_ModelDetail_Bodytype_Value";
label_ModelDetail_Bodytype_Value.Size = new Size(256, 23);
label_ModelDetail_Bodytype_Value.TabIndex = 12;
label_ModelDetail_Bodytype_Value.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_RealName
//
label_ModelDetail_RealName.AutoSize = true;
label_ModelDetail_RealName.Dock = DockStyle.Fill;
label_ModelDetail_RealName.Location = new Point(268, 81);
label_ModelDetail_RealName.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_RealName.Name = "label_ModelDetail_RealName";
label_ModelDetail_RealName.Size = new Size(70, 23);
label_ModelDetail_RealName.TabIndex = 7;
label_ModelDetail_RealName.Text = "Name:";
label_ModelDetail_RealName.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_RealName_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_RealName_Value, 3);
label_ModelDetail_RealName_Value.Dock = DockStyle.Fill;
label_ModelDetail_RealName_Value.Location = new Point(346, 81);
label_ModelDetail_RealName_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_RealName_Value.Name = "label_ModelDetail_RealName_Value";
label_ModelDetail_RealName_Value.Size = new Size(256, 23);
label_ModelDetail_RealName_Value.TabIndex = 8;
label_ModelDetail_RealName_Value.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Location
//
label_ModelDetail_Location.AutoSize = true;
label_ModelDetail_Location.Dock = DockStyle.Fill;
label_ModelDetail_Location.Location = new Point(268, 104);
label_ModelDetail_Location.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Location.Name = "label_ModelDetail_Location";
label_ModelDetail_Location.Size = new Size(70, 23);
label_ModelDetail_Location.TabIndex = 9;
label_ModelDetail_Location.Text = "Ort:";
label_ModelDetail_Location.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Location_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_Location_Value, 3);
label_ModelDetail_Location_Value.Dock = DockStyle.Fill;
label_ModelDetail_Location_Value.Location = new Point(346, 104);
label_ModelDetail_Location_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Location_Value.Name = "label_ModelDetail_Location_Value";
label_ModelDetail_Location_Value.Size = new Size(256, 23);
label_ModelDetail_Location_Value.TabIndex = 10;
label_ModelDetail_Location_Value.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Bodytype
//
label_ModelDetail_Bodytype.AutoSize = true;
label_ModelDetail_Bodytype.Dock = DockStyle.Fill;
label_ModelDetail_Bodytype.Location = new Point(268, 150);
label_ModelDetail_Bodytype.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Bodytype.Name = "label_ModelDetail_Bodytype";
label_ModelDetail_Bodytype.Size = new Size(70, 23);
label_ModelDetail_Bodytype.TabIndex = 11;
label_ModelDetail_Bodytype.Text = "Körpertyp:";
label_ModelDetail_Bodytype.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Age
//
label_ModelDetail_Age.AutoSize = true;
label_ModelDetail_Age.Dock = DockStyle.Fill;
label_ModelDetail_Age.Location = new Point(268, 127);
label_ModelDetail_Age.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Age.Name = "label_ModelDetail_Age";
label_ModelDetail_Age.Size = new Size(70, 23);
label_ModelDetail_Age.TabIndex = 13;
label_ModelDetail_Age.Text = "Alter:";
label_ModelDetail_Age.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Age_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_Age_Value, 3);
label_ModelDetail_Age_Value.Dock = DockStyle.Fill;
label_ModelDetail_Age_Value.Location = new Point(346, 127);
label_ModelDetail_Age_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Age_Value.Name = "label_ModelDetail_Age_Value";
label_ModelDetail_Age_Value.Size = new Size(256, 23);
label_ModelDetail_Age_Value.TabIndex = 14;
label_ModelDetail_Age_Value.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Status
//
label_ModelDetail_Status.AutoSize = true;
label_ModelDetail_Status.Dock = DockStyle.Fill;
label_ModelDetail_Status.Location = new Point(268, 58);
label_ModelDetail_Status.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Status.Name = "label_ModelDetail_Status";
label_ModelDetail_Status.Size = new Size(70, 23);
label_ModelDetail_Status.TabIndex = 1;
label_ModelDetail_Status.Text = "Status:";
label_ModelDetail_Status.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Status_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_Status_Value, 3);
label_ModelDetail_Status_Value.Dock = DockStyle.Fill;
label_ModelDetail_Status_Value.Location = new Point(346, 58);
label_ModelDetail_Status_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Status_Value.Name = "label_ModelDetail_Status_Value";
label_ModelDetail_Status_Value.Size = new Size(256, 23);
label_ModelDetail_Status_Value.TabIndex = 2;
label_ModelDetail_Status_Value.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_LastBroadcast
//
label_ModelDetail_LastBroadcast.AutoSize = true;
label_ModelDetail_LastBroadcast.Dock = DockStyle.Fill;
label_ModelDetail_LastBroadcast.Location = new Point(610, 35);
label_ModelDetail_LastBroadcast.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_LastBroadcast.Name = "label_ModelDetail_LastBroadcast";
tableLayoutPanel_Modeldetails.SetRowSpan(label_ModelDetail_LastBroadcast, 2);
label_ModelDetail_LastBroadcast.Size = new Size(111, 46);
label_ModelDetail_LastBroadcast.TabIndex = 3;
label_ModelDetail_LastBroadcast.Text = "Zuletzt online:";
label_ModelDetail_LastBroadcast.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_LastBroadcast_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_LastBroadcast_Value, 2);
label_ModelDetail_LastBroadcast_Value.Dock = DockStyle.Fill;
label_ModelDetail_LastBroadcast_Value.Location = new Point(729, 35);
label_ModelDetail_LastBroadcast_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_LastBroadcast_Value.Name = "label_ModelDetail_LastBroadcast_Value";
label_ModelDetail_LastBroadcast_Value.Size = new Size(172, 23);
label_ModelDetail_LastBroadcast_Value.TabIndex = 4;
label_ModelDetail_LastBroadcast_Value.TextAlign = ContentAlignment.BottomLeft;
//
// label_ModelDetail_Languages
//
label_ModelDetail_Languages.AutoSize = true;
label_ModelDetail_Languages.Dock = DockStyle.Fill;
label_ModelDetail_Languages.Location = new Point(610, 127);
label_ModelDetail_Languages.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Languages.Name = "label_ModelDetail_Languages";
label_ModelDetail_Languages.Size = new Size(111, 23);
label_ModelDetail_Languages.TabIndex = 16;
label_ModelDetail_Languages.Text = "Sprachen:";
label_ModelDetail_Languages.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_AboutMe
//
label_ModelDetail_AboutMe.AutoSize = true;
label_ModelDetail_AboutMe.Dock = DockStyle.Fill;
label_ModelDetail_AboutMe.Location = new Point(610, 150);
label_ModelDetail_AboutMe.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_AboutMe.Name = "label_ModelDetail_AboutMe";
tableLayoutPanel_Modeldetails.SetRowSpan(label_ModelDetail_AboutMe, 2);
label_ModelDetail_AboutMe.Size = new Size(111, 46);
label_ModelDetail_AboutMe.TabIndex = 15;
label_ModelDetail_AboutMe.Text = "About Me:";
label_ModelDetail_AboutMe.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Languages_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_Languages_Value, 2);
label_ModelDetail_Languages_Value.Dock = DockStyle.Fill;
label_ModelDetail_Languages_Value.Location = new Point(729, 127);
label_ModelDetail_Languages_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Languages_Value.Name = "label_ModelDetail_Languages_Value";
label_ModelDetail_Languages_Value.Size = new Size(172, 23);
label_ModelDetail_Languages_Value.TabIndex = 17;
label_ModelDetail_Languages_Value.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Sex
//
label_ModelDetail_Sex.AutoSize = true;
label_ModelDetail_Sex.Dock = DockStyle.Fill;
label_ModelDetail_Sex.Location = new Point(610, 104);
label_ModelDetail_Sex.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Sex.Name = "label_ModelDetail_Sex";
label_ModelDetail_Sex.Size = new Size(111, 23);
label_ModelDetail_Sex.TabIndex = 18;
label_ModelDetail_Sex.Text = "Geschlecht:";
label_ModelDetail_Sex.TextAlign = ContentAlignment.MiddleLeft;
//
// label_ModelDetail_Sex_Value
//
tableLayoutPanel_Modeldetails.SetColumnSpan(label_ModelDetail_Sex_Value, 2);
label_ModelDetail_Sex_Value.Dock = DockStyle.Fill;
label_ModelDetail_Sex_Value.Location = new Point(729, 104);
label_ModelDetail_Sex_Value.Margin = new Padding(4, 0, 4, 0);
label_ModelDetail_Sex_Value.Name = "label_ModelDetail_Sex_Value";
label_ModelDetail_Sex_Value.Size = new Size(172, 23);
label_ModelDetail_Sex_Value.TabIndex = 19;
label_ModelDetail_Sex_Value.TextAlign = ContentAlignment.MiddleLeft;
//
// button_ModelDetail_AboutMe
//
tableLayoutPanel_Modeldetails.SetColumnSpan(button_ModelDetail_AboutMe, 2);
button_ModelDetail_AboutMe.Dock = DockStyle.Fill;
button_ModelDetail_AboutMe.Location = new Point(729, 153);
button_ModelDetail_AboutMe.Margin = new Padding(4, 3, 4, 3);
button_ModelDetail_AboutMe.Name = "button_ModelDetail_AboutMe";
tableLayoutPanel_Modeldetails.SetRowSpan(button_ModelDetail_AboutMe, 2);
button_ModelDetail_AboutMe.Size = new Size(172, 40);
button_ModelDetail_AboutMe.TabIndex = 20;
button_ModelDetail_AboutMe.Text = "Anzeigen";
button_ModelDetail_AboutMe.UseVisualStyleBackColor = true;
//
// pictureBox_ModelDetail_Preview
//
tableLayoutPanel_Modeldetails.SetColumnSpan(pictureBox_ModelDetail_Preview, 4);
pictureBox_ModelDetail_Preview.Dock = DockStyle.Fill;
pictureBox_ModelDetail_Preview.ErrorImage = Properties.Resources.no_image;
pictureBox_ModelDetail_Preview.Image = Properties.Resources.no_image;
pictureBox_ModelDetail_Preview.InitialImage = Properties.Resources.no_image;
pictureBox_ModelDetail_Preview.Location = new Point(4, 38);
pictureBox_ModelDetail_Preview.Margin = new Padding(4, 3, 4, 3);
pictureBox_ModelDetail_Preview.Name = "pictureBox_ModelDetail_Preview";
tableLayoutPanel_Modeldetails.SetRowSpan(pictureBox_ModelDetail_Preview, 7);
pictureBox_ModelDetail_Preview.Size = new Size(256, 155);
pictureBox_ModelDetail_Preview.SizeMode = PictureBoxSizeMode.Zoom;
pictureBox_ModelDetail_Preview.TabIndex = 21;
pictureBox_ModelDetail_Preview.TabStop = false;
//
// richTextBox_ModelDetail_Tags
//
richTextBox_ModelDetail_Tags.BorderStyle = BorderStyle.None;
tableLayoutPanel_Modeldetails.SetColumnSpan(richTextBox_ModelDetail_Tags, 3);
richTextBox_ModelDetail_Tags.DetectUrls = false;
richTextBox_ModelDetail_Tags.Dock = DockStyle.Fill;
richTextBox_ModelDetail_Tags.Location = new Point(345, 176);
richTextBox_ModelDetail_Tags.Name = "richTextBox_ModelDetail_Tags";
richTextBox_ModelDetail_Tags.ReadOnly = true;
richTextBox_ModelDetail_Tags.ScrollBars = RichTextBoxScrollBars.None;
richTextBox_ModelDetail_Tags.Size = new Size(258, 17);
richTextBox_ModelDetail_Tags.TabIndex = 34;
richTextBox_ModelDetail_Tags.Text = "";
//
// listView_ArchivedDownloads
//
listView_ArchivedDownloads.Columns.AddRange(new ColumnHeader[] { archive_Icon, archive_Modelname, archive_Filename, archive_Filesize, archive_Filedate, archive_lastStream, archive_Filepath });
listView_ArchivedDownloads.Dock = DockStyle.Fill;
listView_ArchivedDownloads.FullRowSelect = true;
listView_ArchivedDownloads.GridLines = true;
listView_ArchivedDownloads.Location = new Point(0, 0);
listView_ArchivedDownloads.Margin = new Padding(4, 3, 4, 3);
listView_ArchivedDownloads.Name = "listView_ArchivedDownloads";
listView_ArchivedDownloads.Size = new Size(905, 227);
listView_ArchivedDownloads.TabIndex = 6;
listView_ArchivedDownloads.TileSize = new Size(300, 118);
listView_ArchivedDownloads.UseCompatibleStateImageBehavior = false;
listView_ArchivedDownloads.View = View.Details;
//
// archive_Icon
//
archive_Icon.Text = "";
archive_Icon.Width = 20;
//
// archive_Modelname
//
archive_Modelname.Text = "Modelname";
archive_Modelname.Width = 180;
//
// archive_Filename
//
archive_Filename.Text = "Dateiname";
archive_Filename.Width = 200;
//
// archive_Filesize
//
archive_Filesize.Text = "Dateigröße";
archive_Filesize.Width = 80;
//
// archive_Filedate
//
archive_Filedate.Text = "Streamdatum";
archive_Filedate.Width = 130;
//
// archive_lastStream
//
archive_lastStream.Text = "Letzter Stream";
archive_lastStream.Width = 130;
//
// archive_Filepath
//
archive_Filepath.Text = "Dateipfad";
archive_Filepath.Width = 600;
//
// button_ArchivedDownloadsMoveToArchive
//
button_ArchivedDownloadsMoveToArchive.Location = new Point(259, 2);
button_ArchivedDownloadsMoveToArchive.Margin = new Padding(4, 3, 4, 3);
button_ArchivedDownloadsMoveToArchive.Name = "button_ArchivedDownloadsMoveToArchive";
button_ArchivedDownloadsMoveToArchive.Size = new Size(156, 31);
button_ArchivedDownloadsMoveToArchive.TabIndex = 19;
button_ArchivedDownloadsMoveToArchive.Text = "Ins Archiv verschieben";
button_ArchivedDownloadsMoveToArchive.UseVisualStyleBackColor = true;
//
// trackBar_ArchivedDownloadsTileSize
//
trackBar_ArchivedDownloadsTileSize.AutoSize = false;
trackBar_ArchivedDownloadsTileSize.BackColor = SystemColors.Control;
trackBar_ArchivedDownloadsTileSize.Location = new Point(790, 3);
trackBar_ArchivedDownloadsTileSize.Margin = new Padding(4, 3, 4, 3);
trackBar_ArchivedDownloadsTileSize.Maximum = 144;
trackBar_ArchivedDownloadsTileSize.Minimum = 50;
trackBar_ArchivedDownloadsTileSize.Name = "trackBar_ArchivedDownloadsTileSize";
trackBar_ArchivedDownloadsTileSize.Size = new Size(112, 24);
trackBar_ArchivedDownloadsTileSize.TabIndex = 18;
trackBar_ArchivedDownloadsTileSize.TickStyle = TickStyle.None;
trackBar_ArchivedDownloadsTileSize.Value = 97;
trackBar_ArchivedDownloadsTileSize.Visible = false;
//
// label_completedDownloadsView
//
label_completedDownloadsView.AutoSize = true;
label_completedDownloadsView.Location = new Point(579, 8);
label_completedDownloadsView.Margin = new Padding(4, 0, 4, 0);
label_completedDownloadsView.Name = "label_completedDownloadsView";
label_completedDownloadsView.Size = new Size(50, 15);
label_completedDownloadsView.TabIndex = 17;
label_completedDownloadsView.Text = "Ansicht:";
//
// comboBox_ArchivedDownloadsView
//
comboBox_ArchivedDownloadsView.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox_ArchivedDownloadsView.FormattingEnabled = true;
comboBox_ArchivedDownloadsView.Items.AddRange(new object[] { "Details", "Vorschau" });
comboBox_ArchivedDownloadsView.Location = new Point(642, 3);
comboBox_ArchivedDownloadsView.Margin = new Padding(4, 3, 4, 3);
comboBox_ArchivedDownloadsView.Name = "comboBox_ArchivedDownloadsView";
comboBox_ArchivedDownloadsView.Size = new Size(140, 23);
comboBox_ArchivedDownloadsView.TabIndex = 16;
//
// button_ArchivedDownloadsDeleteNonHOTFiles
//
button_ArchivedDownloadsDeleteNonHOTFiles.Location = new Point(112, 2);
button_ArchivedDownloadsDeleteNonHOTFiles.Margin = new Padding(4, 3, 4, 3);
button_ArchivedDownloadsDeleteNonHOTFiles.Name = "button_ArchivedDownloadsDeleteNonHOTFiles";
button_ArchivedDownloadsDeleteNonHOTFiles.Size = new Size(140, 31);
button_ArchivedDownloadsDeleteNonHOTFiles.TabIndex = 15;
button_ArchivedDownloadsDeleteNonHOTFiles.Text = "Nicht HOT löschen";
button_ArchivedDownloadsDeleteNonHOTFiles.UseVisualStyleBackColor = true;
//
// button_ReloadArchivedDownloads
//
button_ReloadArchivedDownloads.Location = new Point(6, 2);
button_ReloadArchivedDownloads.Margin = new Padding(4, 3, 4, 3);
button_ReloadArchivedDownloads.Name = "button_ReloadArchivedDownloads";
button_ReloadArchivedDownloads.Size = new Size(99, 31);
button_ReloadArchivedDownloads.TabIndex = 0;
button_ReloadArchivedDownloads.Text = "Aktualisieren";
button_ReloadArchivedDownloads.UseVisualStyleBackColor = true;
//
// UserControl_newModelTab
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
Controls.Add(splitContainer_ArchiveDownloads);
Margin = new Padding(4, 3, 4, 3);
Name = "UserControl_newModelTab";
Size = new Size(905, 506);
Load += UserControl_newModelTab_Load;
splitContainer_ArchiveDownloads.Panel1.ResumeLayout(false);
splitContainer_ArchiveDownloads.Panel2.ResumeLayout(false);
splitContainer_ArchiveDownloads.Panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)splitContainer_ArchiveDownloads).EndInit();
splitContainer_ArchiveDownloads.ResumeLayout(false);
splitContainer_ArchiveDownloads_ModelDetails.Panel1.ResumeLayout(false);
splitContainer_ArchiveDownloads_ModelDetails.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)splitContainer_ArchiveDownloads_ModelDetails).EndInit();
splitContainer_ArchiveDownloads_ModelDetails.ResumeLayout(false);
tableLayoutPanel_Modeldetails.ResumeLayout(false);
tableLayoutPanel_Modeldetails.PerformLayout();
((System.ComponentModel.ISupportInitialize)pictureBox_ModelDetail_Preview).EndInit();
((System.ComponentModel.ISupportInitialize)trackBar_ArchivedDownloadsTileSize).EndInit();
ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer_ArchiveDownloads;
private System.Windows.Forms.TrackBar trackBar_ArchivedDownloadsTileSize;
private System.Windows.Forms.Label label_completedDownloadsView;
private System.Windows.Forms.ComboBox comboBox_ArchivedDownloadsView;
private System.Windows.Forms.Button button_ArchivedDownloadsDeleteNonHOTFiles;
private System.Windows.Forms.Button button_ReloadArchivedDownloads;
private System.Windows.Forms.Button button_ArchivedDownloadsMoveToArchive;
private System.Windows.Forms.SplitContainer splitContainer_ArchiveDownloads_ModelDetails;
public System.Windows.Forms.ListView listView_ArchivedDownloads;
private System.Windows.Forms.ColumnHeader archive_Icon;
private System.Windows.Forms.ColumnHeader archive_Modelname;
private System.Windows.Forms.ColumnHeader archive_Filename;
private System.Windows.Forms.ColumnHeader archive_Filesize;
private System.Windows.Forms.ColumnHeader archive_Filedate;
private System.Windows.Forms.ColumnHeader archive_lastStream;
private System.Windows.Forms.ColumnHeader archive_Filepath;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_Modeldetails;
private System.Windows.Forms.Label label_ModelDetail_Name;
private System.Windows.Forms.Label label_ModelDetail_Status;
private System.Windows.Forms.Label label_ModelDetail_Status_Value;
private System.Windows.Forms.Label label_ModelDetail_LastBroadcast;
private System.Windows.Forms.Label label_ModelDetail_LastBroadcast_Value;
private System.Windows.Forms.Button button_Reload_ModelDetails;
private System.Windows.Forms.Label label_ModelDetail_FavLikesIcon;
private System.Windows.Forms.Label label_ModelDetail_RealName;
private System.Windows.Forms.Label label_ModelDetail_RealName_Value;
private System.Windows.Forms.Label label_ModelDetail_Location;
private System.Windows.Forms.Label label_ModelDetail_Location_Value;
private System.Windows.Forms.Label label_ModelDetail_Bodytype;
private System.Windows.Forms.Label label_ModelDetail_Bodytype_Value;
private System.Windows.Forms.Label label_ModelDetail_Age;
private System.Windows.Forms.Label label_ModelDetail_Age_Value;
private System.Windows.Forms.Label label_ModelDetail_AboutMe;
private System.Windows.Forms.Label label_ModelDetail_Languages;
private System.Windows.Forms.Label label_ModelDetail_Languages_Value;
private System.Windows.Forms.Label label_ModelDetail_Sex;
private System.Windows.Forms.Label label_ModelDetail_Sex_Value;
private System.Windows.Forms.Button button_ModelDetail_AboutMe;
private System.Windows.Forms.PictureBox pictureBox_ModelDetail_Preview;
private System.Windows.Forms.Button button_ModelDetail_AddToDownload;
private System.Windows.Forms.Label label_ModelDetail_LastBroadcastTimeAgo_Value;
private System.Windows.Forms.Label label_ModelDetail_LastUpdate;
private System.Windows.Forms.Label label_ModelDetail_LastUpdate_Value;
private Label label_ModelDetail_Subject;
private Label label_ModelDetail_Subject_Value;
private Label label_ModelDetail_SecondsOnline_Value;
private Label label_ModelDetail_SecondsOnline;
private Label label_ModelDetail_Tags;
private RichTextBox richTextBox_ModelDetail_Tags;
}
}

View File

@ -0,0 +1,25 @@
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;
namespace WinFormsApp1
{
public partial class UserControl_newModelTab : UserControl
{
public UserControl_newModelTab()
{
InitializeComponent();
}
private void UserControl_newModelTab_Load(object sender, EventArgs e)
{
this.Dock = DockStyle.Fill;
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,168 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<PlatformTarget>x64</PlatformTarget>
<StartupObject>WinFormsApp1.Program</StartupObject>
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<None Remove="Resources\back.png" />
<None Remove="Resources\bin.png" />
<None Remove="Resources\broken-heart.png" />
<None Remove="Resources\CefSharp.BrowserSubprocess.exe" />
<None Remove="Resources\checkmark.png" />
<None Remove="Resources\color-wheel.png" />
<None Remove="Resources\diskette.png" />
<None Remove="Resources\down.png" />
<None Remove="Resources\download.png" />
<None Remove="Resources\download_small.png" />
<None Remove="Resources\empty.png" />
<None Remove="Resources\explorer.png" />
<None Remove="Resources\export.png" />
<None Remove="Resources\favorite.png" />
<None Remove="Resources\ffmpeg.zip" />
<None Remove="Resources\fire.png" />
<None Remove="Resources\fullscreen.png" />
<None Remove="Resources\green.png" />
<None Remove="Resources\import.png" />
<None Remove="Resources\likes.png" />
<None Remove="Resources\mute.png" />
<None Remove="Resources\next.png" />
<None Remove="Resources\no-image.png" />
<None Remove="Resources\no-stopping.png" />
<None Remove="Resources\no_picture_cb.png" />
<None Remove="Resources\no_picture_mfc.png" />
<None Remove="Resources\paste.png" />
<None Remove="Resources\pause.png" />
<None Remove="Resources\pin.png" />
<None Remove="Resources\play.png" />
<None Remove="Resources\plus.png" />
<None Remove="Resources\red.png" />
<None Remove="Resources\scissors.png" />
<None Remove="Resources\search.png" />
<None Remove="Resources\snowflake.png" />
<None Remove="Resources\stop-favorite.png" />
<None Remove="Resources\stop-likes.png" />
<None Remove="Resources\stop.png" />
<None Remove="Resources\Streamlink.zip" />
<None Remove="Resources\trash-can.png" />
<None Remove="Resources\up.png" />
<None Remove="Resources\volume.png" />
<None Remove="Resources\warning.png" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\CefSharp.BrowserSubprocess.exe" />
<EmbeddedResource Include="Resources\ffmpeg.zip" />
<EmbeddedResource Include="Resources\Streamlink.zip" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CefSharp.Common" Version="135.0.170" />
<PackageReference Include="CefSharp.WinForms.NETCore" Version="135.0.170" />
<PackageReference Include="FlyleafLib" Version="3.8.3" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.4" />
<PackageReference Include="Microsoft.NETCore.Platforms" Version="7.0.4" />
<PackageReference Include="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.3" />
<PackageReference Include="Microsoft.VisualBasic" Version="10.3.0" />
<PackageReference Include="NsfwSpy" Version="3.5.0" />
<PackageReference Include="System.Drawing.Common" Version="9.0.4" />
</ItemGroup>
<ItemGroup>
<Reference Include="ObjectListView">
<HintPath>..\..\..\..\Downloads\ObjectListView.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\back.png" />
<Resource Include="Resources\bin.png" />
<Resource Include="Resources\broken-heart.png" />
<Resource Include="Resources\checkmark.png" />
<Resource Include="Resources\color-wheel.png" />
<Resource Include="Resources\diskette.png" />
<Resource Include="Resources\down.png" />
<Resource Include="Resources\download.png" />
<Resource Include="Resources\download_small.png" />
<Resource Include="Resources\empty.png" />
<Resource Include="Resources\explorer.png" />
<Resource Include="Resources\export.png" />
<Resource Include="Resources\favorite.png" />
<Resource Include="Resources\fire.png" />
<Resource Include="Resources\fullscreen.png" />
<Resource Include="Resources\green.png" />
<Resource Include="Resources\import.png" />
<Resource Include="Resources\likes.png" />
<Resource Include="Resources\mute.png" />
<Resource Include="Resources\next.png" />
<Resource Include="Resources\no-image.png" />
<Resource Include="Resources\no-stopping.png" />
<Resource Include="Resources\no_picture_cb.png" />
<Resource Include="Resources\no_picture_mfc.png" />
<Resource Include="Resources\paste.png" />
<Resource Include="Resources\pause.png" />
<Resource Include="Resources\pin.png" />
<Resource Include="Resources\play.png" />
<Resource Include="Resources\plus.png" />
<Resource Include="Resources\red.png" />
<Resource Include="Resources\scissors.png" />
<Resource Include="Resources\search.png" />
<Resource Include="Resources\snowflake.png" />
<Resource Include="Resources\stop-favorite.png" />
<Resource Include="Resources\stop-likes.png" />
<Resource Include="Resources\stop.png" />
<Resource Include="Resources\trash-can.png" />
<Resource Include="Resources\up.png" />
<Resource Include="Resources\volume.png" />
<Resource Include="Resources\warning.png" />
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Update="Properties\Settings.Designer.cs">
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Update="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Update="chromiumembeddedframework.runtime.win-arm64" Version="135.0.17" />
</ItemGroup>
<ItemGroup>
<PackageReference Update="chromiumembeddedframework.runtime.win-x64" Version="135.0.17" />
</ItemGroup>
<ItemGroup>
<PackageReference Update="chromiumembeddedframework.runtime.win-x86" Version="135.0.17" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_LastSelectedProfileId>C:\Users\Rother\source\repos\WinFormsApp1\WinFormsApp1\Properties\PublishProfiles\FolderProfile.pubxml</_LastSelectedProfileId>
</PropertyGroup>
<ItemGroup>
<Compile Update="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form2.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form3.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="UserControl_newModelTab.cs">
<SubType>UserControl</SubType>
</Compile>
</ItemGroup>
</Project>

79
WinFormsApp1/app.manifest Normal file
View File

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel element will disable file and registry virtualization.
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config.
Makes the application long-path aware. See https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
-->
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>