masscheckin ganz viel kram

This commit is contained in:
2015-11-16 00:10:59 +00:00
parent 8264cbfa7b
commit dfc14d9c36
45 changed files with 1862 additions and 834 deletions
+41 -11
View File
@@ -6,6 +6,8 @@ using System.Threading.Tasks;
using System.Windows.Forms;
using NetMonitorUtils;
using BlubbFish.Utils;
using System.Threading;
using System.Runtime.CompilerServices;
namespace NetMonitorTray.Controller {
public class Tray : OwnController {
@@ -13,12 +15,14 @@ namespace NetMonitorTray.Controller {
private static OpenVpnSetter vpn;
private static NetworkSetter network;
private static Controller.Window window;
private static Thread trayMenuRefresh;
/// <summary>
/// Tray Controller
/// </summary>
public Tray() {
vpn = new OpenVpnSetter("vpn.ini", "config.ini");
network = new NetworkSetter("network.ini", "config.ini");
trayMenuRefresh = new Thread(menuRefresh);
}
/// <summary>
/// Init!
@@ -28,15 +32,38 @@ namespace NetMonitorTray.Controller {
window = new Controller.Window();
tray.setWorkingIcon();
try {
tray.Model.connectedStatus = false;
List<string> vpns = tray.Model.getVpnList();
tray.Model.VpnSelected = vpn.getStatus(vpns);
List<string> adapter = tray.Model.getAdapterList();
tray.Model.NetworkSelected = network.getNetwork(adapter);
updateMenu();
} catch(Exception e) {
tray.showError(e.Message);
tray.Model.connectedStatus = false;
}
trayMenuRefresh.Start();
}
private static void menuRefresh() {
while(true) {
Thread.Sleep(10 * 60 * 1000); //Wait 10 Minutes
updateMenu();
}
}
[MethodImpl(MethodImplOptions.Synchronized)]
private static void updateMenu() {
List<string> adapter = tray.Model.getAdapterList();
tray.Model.NetworkSelected = network.getNetwork(adapter);
List<string> vpns = tray.Model.getVpnList();
tray.Model.VpnSelected = vpn.getStatus(vpns);
checkWorkingIcon();
}
private static void checkWorkingIcon() {
bool w = false;
foreach(KeyValuePair<string, string> item in tray.Model.VpnSelected) {
if(item.Value == "connected") {
w = true;
}
}
tray.Model.connectedStatus = w;
}
/// <summary>
/// User klickt auf den Eintrag Beenden
@@ -44,10 +71,12 @@ namespace NetMonitorTray.Controller {
/// <param name="sender"></param>
/// <param name="e"></param>
internal static void Click_Quit(object sender, EventArgs e) {
trayMenuRefresh.Abort();
while(trayMenuRefresh.ThreadState != ThreadState.Aborted) { Thread.Sleep(100); }
tray.Dispose();
//Application.ExitThread();
Application.Exit();
}
/// <summary>
/// User klick auf einen Eintrag Service Starten/Stoppen
/// </summary>
@@ -55,7 +84,6 @@ namespace NetMonitorTray.Controller {
/// <param name="e"></param>
internal static void Click_Vpn(object sender, EventArgs e) {
tray.setWorkingIcon();
string[] conf = ((ToolStripMenuItem)sender).Name.Split('|');
switch(tray.Model.VpnSelected[conf[1]]) {
case "disconnected":
@@ -74,7 +102,6 @@ namespace NetMonitorTray.Controller {
System.Threading.Thread.Sleep(3000);
}
} catch(Exception ex) {
tray.Model.connectedStatus = false;
tray.showError("Fehler beim starten von Openvpn mit " + conf[1] + ": " + ex.Message);
}
break;
@@ -91,12 +118,13 @@ namespace NetMonitorTray.Controller {
System.Threading.Thread.Sleep(1000);
}
} catch(Exception ex) {
tray.Model.connectedStatus = false;
tray.showError("Fehler beim beenden von Openvpn mit " + conf + ": " + ex.Message);
}
break;
}
checkWorkingIcon();
}
/// <summary>
/// User klickt Doppelt auf das TrayIcon
/// </summary>
@@ -105,13 +133,14 @@ namespace NetMonitorTray.Controller {
internal static void Click_Tray(object sender, EventArgs e) {
Click_Open(sender, e);
}
/// <summary>
/// User klickt auf den Tray-Ballon
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
internal static void Click_Ballon(object sender, EventArgs e) {
throw new NotImplementedException();
Click_Open(sender, e);
}
/// <summary>
/// User klickt auf einen Eintrag Netzwerk
@@ -121,12 +150,13 @@ namespace NetMonitorTray.Controller {
internal static void Click_Network(object sender, EventArgs e) {
tray.setWorkingIcon();
try {
network.setNetwork(((ToolStripMenuItem)sender).Name);
string n = ((ToolStripMenuItem)sender).Name;
network.setNetwork(n.Split('|')[1]);
tray.Model.NetworkSelected[n.Split('|')[0]] = n.Split('|')[1];
} catch(Exception ex) {
tray.showError("Fehler beim setzen des Netzwerks: " + ex.Message);
}
checkWorkingIcon();
}
/// <summary>
/// User klickt auf den Eintrag Öffnen
+59 -26
View File
@@ -7,32 +7,65 @@ using System.Windows.Forms;
using NetMonitorUtils;
using BlubbFish.Utils;
namespace NetMonitorTray.Controller
{
public class Window : OwnController
{
private static View.Window window;
/// <summary>
/// Tray Controller
/// </summary>
public Window()
{
}
namespace NetMonitorTray.Controller {
public class Window : OwnController {
private static View.Window window;
/// <summary>
/// Tray Controller
/// </summary>
public Window() {
override protected void init()
{
window = new View.Window();
}
public static void FormClosed(object sender, FormClosedEventArgs e)
{
window.Dispose();
}
internal static void NetworkSelected(object sender, EventArgs e)
{
MessageBox.Show("Angeklickt!");
}
}
override protected void init() {
window = new View.Window();
}
public static void FormClosed(object sender, FormClosedEventArgs e) {
window.Dispose();
}
internal static void NetworkSelected(object sender, EventArgs e) {
ListView list = sender as ListView;
for(int i = 0; i < list.Items.Count; i++) {
if(list.Items[i].Selected) {
window.networkSelected(i);
}
}
}
internal static void VpnSelected(object sender, EventArgs e) {
ListView list = sender as ListView;
for(int i = 0; i < list.Items.Count; i++) {
if(list.Items[i].Selected) {
window.vpnSelected(i);
}
}
}
private void button2_Click(object sender, EventArgs e) {
}
internal static void ChangeOpenVpnFolder(object sender, EventArgs e) {
window.Folderpicker();
}
internal static void ChangeLogFolder(object sender, EventArgs e) {
window.Folderpicker();
}
internal static void ChangeOpenVpnConfigFile(object sender, EventArgs e) {
window.Filepicker();
}
internal static void NetworkAktivate(object sender, EventArgs e) {
MessageBox.Show("Network Verbinden!");
}
internal static void VpnAktivate(object sender, EventArgs e) {
MessageBox.Show("VPN Verbinden!");
}
}
}