# HG changeset patch
# User StephaneLenclud
# Date 1469294576 -7200
# Node ID 96f8b4dc430063bddf52886b5fcba3f99bf39a55
# Parent 83dd86e7344875b8509f76862ed48290014ba4e7
Adding Events tab.
diff -r 83dd86e73448 -r 96f8b4dc4300 Server/FormEditAction.Designer.cs
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Server/FormEditAction.Designer.cs Sat Jul 23 19:22:56 2016 +0200
@@ -0,0 +1,104 @@
+namespace SharpDisplayManager
+{
+ partial class FormEditAction
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.comboBoxActionType = new System.Windows.Forms.ComboBox();
+ this.labelActionType = new System.Windows.Forms.Label();
+ this.buttonOk = new System.Windows.Forms.Button();
+ this.buttonCancel = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // comboBoxActionType
+ //
+ this.comboBoxActionType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboBoxActionType.FormattingEnabled = true;
+ this.comboBoxActionType.Location = new System.Drawing.Point(55, 12);
+ this.comboBoxActionType.Name = "comboBoxActionType";
+ this.comboBoxActionType.Size = new System.Drawing.Size(333, 21);
+ this.comboBoxActionType.TabIndex = 18;
+ //
+ // labelActionType
+ //
+ this.labelActionType.AutoSize = true;
+ this.labelActionType.Location = new System.Drawing.Point(12, 15);
+ this.labelActionType.Name = "labelActionType";
+ this.labelActionType.Size = new System.Drawing.Size(37, 13);
+ this.labelActionType.TabIndex = 20;
+ this.labelActionType.Text = "Type :";
+ //
+ // buttonOk
+ //
+ this.buttonOk.DialogResult = System.Windows.Forms.DialogResult.OK;
+ this.buttonOk.Location = new System.Drawing.Point(12, 55);
+ this.buttonOk.Name = "buttonOk";
+ this.buttonOk.Size = new System.Drawing.Size(75, 23);
+ this.buttonOk.TabIndex = 21;
+ this.buttonOk.Text = "Ok";
+ this.buttonOk.UseVisualStyleBackColor = true;
+ this.buttonOk.Click += new System.EventHandler(this.buttonOk_Click);
+ //
+ // buttonCancel
+ //
+ this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.buttonCancel.Location = new System.Drawing.Point(93, 55);
+ this.buttonCancel.Name = "buttonCancel";
+ this.buttonCancel.Size = new System.Drawing.Size(75, 23);
+ this.buttonCancel.TabIndex = 22;
+ this.buttonCancel.Text = "Cancel";
+ this.buttonCancel.UseVisualStyleBackColor = true;
+ //
+ // FormEditAction
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(400, 86);
+ this.Controls.Add(this.buttonCancel);
+ this.Controls.Add(this.buttonOk);
+ this.Controls.Add(this.labelActionType);
+ this.Controls.Add(this.comboBoxActionType);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "FormEditAction";
+ this.Text = "Edit action";
+ this.Load += new System.EventHandler(this.FormEditAction_Load);
+ this.Validating += new System.ComponentModel.CancelEventHandler(this.FormEditAction_Validating);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.ComboBox comboBoxActionType;
+ private System.Windows.Forms.Label labelActionType;
+ private System.Windows.Forms.Button buttonOk;
+ private System.Windows.Forms.Button buttonCancel;
+ }
+}
\ No newline at end of file
diff -r 83dd86e73448 -r 96f8b4dc4300 Server/FormEditAction.cs
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Server/FormEditAction.cs Sat Jul 23 19:22:56 2016 +0200
@@ -0,0 +1,45 @@
+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 SharpLib.Ear;
+
+namespace SharpDisplayManager
+{
+ public partial class FormEditAction : Form
+ {
+ public SharpLib.Ear.Action Action = null;
+
+ public FormEditAction()
+ {
+ InitializeComponent();
+ }
+
+ private void FormEditAction_Load(object sender, EventArgs e)
+ {
+ //Populate registered actions
+ foreach (string key in EventActionManager.Current.ActionTypes.Keys)
+ {
+ Type t = EventActionManager.Current.ActionTypes[key];
+ comboBoxActionType.Items.Add(t);
+ }
+
+ comboBoxActionType.SelectedIndex = 0;
+ }
+
+ private void buttonOk_Click(object sender, EventArgs e)
+ {
+ Action = (SharpLib.Ear.Action)Activator.CreateInstance((Type)comboBoxActionType.SelectedItem);
+ }
+
+ private void FormEditAction_Validating(object sender, CancelEventArgs e)
+ {
+
+ }
+ }
+}
diff -r 83dd86e73448 -r 96f8b4dc4300 Server/FormEditAction.resx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Server/FormEditAction.resx Sat Jul 23 19:22:56 2016 +0200
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff -r 83dd86e73448 -r 96f8b4dc4300 Server/MainForm.Designer.cs
--- a/Server/MainForm.Designer.cs Sat Jul 23 16:00:04 2016 +0200
+++ b/Server/MainForm.Designer.cs Sat Jul 23 19:22:56 2016 +0200
@@ -112,6 +112,10 @@
this.checkBoxCecEnabled = new System.Windows.Forms.CheckBox();
this.labelHdmiPort = new System.Windows.Forms.Label();
this.comboBoxHdmiPort = new System.Windows.Forms.ComboBox();
+ this.tabPageEvent = new System.Windows.Forms.TabPage();
+ this.buttonDeleteAction = new System.Windows.Forms.Button();
+ this.buttonAddAction = new System.Windows.Forms.Button();
+ this.iTreeViewEvents = new System.Windows.Forms.TreeView();
this.tabPageApp = new System.Windows.Forms.TabPage();
this.checkBoxStartMinimized = new System.Windows.Forms.CheckBox();
this.checkBoxMinimizeToTray = new System.Windows.Forms.CheckBox();
@@ -138,6 +142,7 @@
((System.ComponentModel.ISupportInitialize)(this.pictureBoxGreenStart)).BeginInit();
this.tabPageCec.SuspendLayout();
this.groupBoxCecLogOptions.SuspendLayout();
+ this.tabPageEvent.SuspendLayout();
this.tabPageApp.SuspendLayout();
this.tabPageLogs.SuspendLayout();
this.SuspendLayout();
@@ -566,6 +571,7 @@
this.tabControl.Controls.Add(this.tabPageAudio);
this.tabControl.Controls.Add(this.tabPageInput);
this.tabControl.Controls.Add(this.tabPageCec);
+ this.tabControl.Controls.Add(this.tabPageEvent);
this.tabControl.Controls.Add(this.tabPageApp);
this.tabControl.Controls.Add(this.tabPageLogs);
this.tabControl.Location = new System.Drawing.Point(12, 125);
@@ -1000,6 +1006,48 @@
this.comboBoxHdmiPort.TabIndex = 19;
this.comboBoxHdmiPort.SelectedIndexChanged += new System.EventHandler(this.comboBoxHdmiPort_SelectedIndexChanged);
//
+ // tabPageEvent
+ //
+ this.tabPageEvent.Controls.Add(this.buttonDeleteAction);
+ this.tabPageEvent.Controls.Add(this.buttonAddAction);
+ this.tabPageEvent.Controls.Add(this.iTreeViewEvents);
+ this.tabPageEvent.Location = new System.Drawing.Point(4, 22);
+ this.tabPageEvent.Name = "tabPageEvent";
+ this.tabPageEvent.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageEvent.Size = new System.Drawing.Size(752, 385);
+ this.tabPageEvent.TabIndex = 9;
+ this.tabPageEvent.Text = "Events";
+ this.tabPageEvent.UseVisualStyleBackColor = true;
+ //
+ // buttonDeleteAction
+ //
+ this.buttonDeleteAction.Location = new System.Drawing.Point(6, 35);
+ this.buttonDeleteAction.Name = "buttonDeleteAction";
+ this.buttonDeleteAction.Size = new System.Drawing.Size(96, 23);
+ this.buttonDeleteAction.TabIndex = 21;
+ this.buttonDeleteAction.Text = "Delete Action";
+ this.buttonDeleteAction.UseVisualStyleBackColor = true;
+ //
+ // buttonAddAction
+ //
+ this.buttonAddAction.Location = new System.Drawing.Point(6, 6);
+ this.buttonAddAction.Name = "buttonAddAction";
+ this.buttonAddAction.Size = new System.Drawing.Size(96, 23);
+ this.buttonAddAction.TabIndex = 20;
+ this.buttonAddAction.Text = "Add Action";
+ this.buttonAddAction.UseVisualStyleBackColor = true;
+ this.buttonAddAction.Click += new System.EventHandler(this.buttonAddAction_Click);
+ //
+ // iTreeViewEvents
+ //
+ this.iTreeViewEvents.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.iTreeViewEvents.Location = new System.Drawing.Point(111, 3);
+ this.iTreeViewEvents.Name = "iTreeViewEvents";
+ this.iTreeViewEvents.Size = new System.Drawing.Size(638, 376);
+ this.iTreeViewEvents.TabIndex = 1;
+ //
// tabPageApp
//
this.tabPageApp.Controls.Add(this.checkBoxStartMinimized);
@@ -1163,6 +1211,7 @@
this.tabPageCec.PerformLayout();
this.groupBoxCecLogOptions.ResumeLayout(false);
this.groupBoxCecLogOptions.PerformLayout();
+ this.tabPageEvent.ResumeLayout(false);
this.tabPageApp.ResumeLayout(false);
this.tabPageApp.PerformLayout();
this.tabPageLogs.ResumeLayout(false);
@@ -1258,6 +1307,10 @@
private System.Windows.Forms.CheckBox checkBoxCecLogNotice;
private System.Windows.Forms.CheckBox checkBoxCecLogTraffic;
private System.Windows.Forms.CheckBox checkBoxCecLogNoPoll;
+ private System.Windows.Forms.TabPage tabPageEvent;
+ private System.Windows.Forms.TreeView iTreeViewEvents;
+ private System.Windows.Forms.Button buttonDeleteAction;
+ private System.Windows.Forms.Button buttonAddAction;
}
}
diff -r 83dd86e73448 -r 96f8b4dc4300 Server/MainForm.cs
--- a/Server/MainForm.cs Sat Jul 23 16:00:04 2016 +0200
+++ b/Server/MainForm.cs Sat Jul 23 19:22:56 2016 +0200
@@ -210,6 +210,8 @@
OnWndProc += iCecManager.OnWndProc;
ResetCec();
+ //Setup Events
+ SetupEvents();
//Setup notification icon
SetupTrayIcon();
@@ -285,6 +287,30 @@
}
+ ///
+ ///
+ ///
+ private void SetupEvents()
+ {
+ //Reset our tree
+ iTreeViewEvents.Nodes.Clear();
+ //Populate registered events
+ foreach (string key in EventActionManager.Current.Events.Keys)
+ {
+ Event e = EventActionManager.Current.Events[key];
+ TreeNode eventNode = iTreeViewEvents.Nodes.Add(key,e.Name);
+ eventNode.Tag = e;
+ eventNode.Nodes.Add(key + ".Description", e.Description);
+ TreeNode actionsNodes = eventNode.Nodes.Add(key + ".Actions", "Actions");
+
+ foreach (SharpLib.Ear.Action a in e.Actions)
+ {
+ actionsNodes.Nodes.Add(a.Name);
+ }
+ }
+
+ }
+
///
/// Called when our display is closed.
///
@@ -2625,5 +2651,23 @@
{
SetupCecLogLevel();
}
+
+ private void buttonAddAction_Click(object sender, EventArgs e)
+ {
+ Event ear = (Event)iTreeViewEvents.SelectedNode.Tag;
+ if (ear == null)
+ {
+ //Must select event node
+ return;
+ }
+
+ FormEditAction ea = new FormEditAction();
+ DialogResult res = CodeProject.Dialog.DlgBox.ShowDialog(ea);
+ if (res == DialogResult.OK)
+ {
+ ear.Actions.Add(ea.Action);
+ SetupEvents();
+ }
+ }
}
}
diff -r 83dd86e73448 -r 96f8b4dc4300 Server/MainForm.resx
--- a/Server/MainForm.resx Sat Jul 23 16:00:04 2016 +0200
+++ b/Server/MainForm.resx Sat Jul 23 19:22:56 2016 +0200
@@ -185,9 +185,6 @@
WSC3/b/CbwiR/gNzbuWksIMBOAAAAABJRU5ErkJggg==
-
- 315, 17
-
405, 17
diff -r 83dd86e73448 -r 96f8b4dc4300 Server/SharpDisplayManager.csproj
--- a/Server/SharpDisplayManager.csproj Sat Jul 23 16:00:04 2016 +0200
+++ b/Server/SharpDisplayManager.csproj Sat Jul 23 19:22:56 2016 +0200
@@ -157,6 +157,12 @@
+
+ Form
+
+
+ FormEditAction.cs
+
UserControl
@@ -193,6 +199,9 @@
+
+ FormEditAction.cs
+
FxControl.cs
diff -r 83dd86e73448 -r 96f8b4dc4300 SharpLibEar/Action.cs
--- a/SharpLibEar/Action.cs Sat Jul 23 16:00:04 2016 +0200
+++ b/SharpLibEar/Action.cs Sat Jul 23 19:22:56 2016 +0200
@@ -12,6 +12,12 @@
{
public abstract void Execute();
+ public string Name {
+ //Get the name of this object action attribute
+ get { return Utils.Reflection.GetAttribute(GetType()).Name; }
+ private set { }
+ }
+
public int CompareTo(object obj)
{
//Sort by action name
diff -r 83dd86e73448 -r 96f8b4dc4300 SharpLibEar/EventActionManager.cs
--- a/SharpLibEar/EventActionManager.cs Sat Jul 23 16:00:04 2016 +0200
+++ b/SharpLibEar/EventActionManager.cs Sat Jul 23 19:22:56 2016 +0200
@@ -14,7 +14,7 @@
{
public static EventActionManager Current = null;
public IDictionary ActionTypes;
- private IDictionary Events;
+ public readonly IDictionary Events;
public EventActionManager()
{
diff -r 83dd86e73448 -r 96f8b4dc4300 SharpLibEar/EventMonitorPowerOff.cs
--- a/SharpLibEar/EventMonitorPowerOff.cs Sat Jul 23 16:00:04 2016 +0200
+++ b/SharpLibEar/EventMonitorPowerOff.cs Sat Jul 23 19:22:56 2016 +0200
@@ -11,7 +11,7 @@
public EventMonitorPowerOff()
{
Name = "Monitor Power Off";
- Description = "";
+ Description = "Windows is powering off your monitor.";
}
}
diff -r 83dd86e73448 -r 96f8b4dc4300 SharpLibEar/EventMonitorPowerOn.cs
--- a/SharpLibEar/EventMonitorPowerOn.cs Sat Jul 23 16:00:04 2016 +0200
+++ b/SharpLibEar/EventMonitorPowerOn.cs Sat Jul 23 19:22:56 2016 +0200
@@ -11,7 +11,7 @@
public EventMonitorPowerOn()
{
Name = "Monitor Power On";
- Description = "";
+ Description = "Windows is powering on your monitor.";
}
}