├── screentshot_1.jpg
├── screentshot_2.jpg
├── PowercutGadget
├── ceb.ico
├── ceb (1).ico
├── Resources
│ ├── ceb.ico
│ ├── sync.png
│ ├── top bar.png
│ ├── background.png
│ ├── close btn.png
│ ├── sync hower.png
│ ├── background 2.png
│ ├── setting btn.png
│ ├── setting btn1.png
│ ├── close btn hover.png
│ ├── top back color.png
│ ├── AlertNotofication.png
│ ├── AlertNotofication1.png
│ ├── button-png-172003.png
│ ├── setting btn hower.png
│ ├── setting btn hower1.png
│ ├── background non trans.png
│ └── 360_F_283136113_b3VRHNiOPFMOluzYJPpfuoH8Czh9c743.jpg
├── App.config
├── packages.config
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── TimeSlot.cs
├── Program.cs
├── Settings.cs
├── SyncedData.cs
├── ConfigFactory.cs
├── AlertNotification.cs
├── AlertNotification.Designer.cs
├── Settings.resx
├── AlertNotification.resx
├── Settings.Designer.cs
├── PowercutGadget.csproj
├── Form1.Designer.cs
└── Form1.cs
├── README.md
├── PowercutGadget.sln
├── .gitattributes
├── .gitignore
└── PowecuGadgettSetup
└── PowecuGadgettSetup.vdproj
/screentshot_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/screentshot_1.jpg
--------------------------------------------------------------------------------
/screentshot_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/screentshot_2.jpg
--------------------------------------------------------------------------------
/PowercutGadget/ceb.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/ceb.ico
--------------------------------------------------------------------------------
/PowercutGadget/ceb (1).ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/ceb (1).ico
--------------------------------------------------------------------------------
/PowercutGadget/Resources/ceb.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/ceb.ico
--------------------------------------------------------------------------------
/PowercutGadget/Resources/sync.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/sync.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/top bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/top bar.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/background.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/close btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/close btn.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/sync hower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/sync hower.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/background 2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/background 2.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/setting btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/setting btn.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/setting btn1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/setting btn1.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/close btn hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/close btn hover.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/top back color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/top back color.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/AlertNotofication.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/AlertNotofication.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/AlertNotofication1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/AlertNotofication1.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/button-png-172003.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/button-png-172003.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/setting btn hower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/setting btn hower.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/setting btn hower1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/setting btn hower1.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/background non trans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/background non trans.png
--------------------------------------------------------------------------------
/PowercutGadget/Resources/360_F_283136113_b3VRHNiOPFMOluzYJPpfuoH8Czh9c743.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tirancm/Powercut-Widget/HEAD/PowercutGadget/Resources/360_F_283136113_b3VRHNiOPFMOluzYJPpfuoH8Czh9c743.jpg
--------------------------------------------------------------------------------
/PowercutGadget/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/PowercutGadget/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/PowercutGadget/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | PowercutWidget
2 |
3 | PowercutWidget
4 | is a windows desktop widget, made to view scheduled powercuts of CEB.
5 |
6 | ## Download executable file
7 | [Download](https://app.box.com/s/lqrgis9psk2q28qi839gd52aqu7u3re8)
8 |
9 | ## Screenshots
10 | 
11 | 
12 |
13 | ## Steps to setup source code
14 | 1. Clone the Repository or Download source code.
15 | 2. Open the folder with Visual Studio 2015 or newer version. (Make sure c# windows application develoment available in your Visual Studio).
16 | - please do not spam or make unnecessary traffic on CEB Endpoints.
17 |
--------------------------------------------------------------------------------
/PowercutGadget/TimeSlot.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace PowercutGadget
8 | {
9 | class TimeSlot
10 | {
11 | private DateTime startTime;
12 | private DateTime endTime;
13 |
14 | public DateTime StartTime
15 | {
16 | get { return startTime; }
17 | set { startTime = value; }
18 | }
19 |
20 | public DateTime EndTime
21 | {
22 | get { return endTime; }
23 | set { endTime = value; }
24 | }
25 |
26 | public TimeSlot(DateTime start,DateTime end)
27 | {
28 | this.startTime = start;
29 | this.endTime = end;
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/PowercutGadget/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading;
5 | using System.Threading.Tasks;
6 | using System.Windows.Forms;
7 |
8 | namespace PowercutGadget
9 | {
10 | static class Program
11 | {
12 | private static Mutex mutex = null;
13 | ///
14 | /// The main entry point for the application.
15 | ///
16 | [STAThread]
17 | static void Main()
18 | {
19 | const string appName = "PowercutGadget";
20 | bool createdNew;
21 |
22 | mutex = new Mutex(true, appName, out createdNew);
23 |
24 | if (!createdNew)
25 | {
26 | //app is already running! Exiting the application
27 | MessageBox.Show("A Instance of the application is already running..");
28 | return;
29 | }
30 |
31 | Application.EnableVisualStyles();
32 | Application.SetCompatibleTextRenderingDefault(false);
33 | Application.Run(new Form1());
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/PowercutGadget/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace PowercutGadget.Properties
12 | {
13 |
14 |
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 | {
19 |
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 |
22 | public static Settings Default
23 | {
24 | get
25 | {
26 | return defaultInstance;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/PowercutGadget/Settings.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 |
11 | namespace PowercutGadget
12 | {
13 | public partial class Settings : Form
14 | {
15 | public Settings()
16 | {
17 | InitializeComponent();
18 | }
19 |
20 | private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
21 | {
22 |
23 | }
24 |
25 | private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
26 | {
27 | System.Diagnostics.Process.Start("https://cebcare.ceb.lk/Incognito/DemandMgmtSchedule");
28 | }
29 |
30 | private void button1_Click(object sender, EventArgs e)
31 | {
32 | ConfigFactory.writeSheduleGroup(comboBox1.Text);
33 | Application.Restart();
34 | Environment.Exit(0);
35 | }
36 |
37 | private void Settings_Load(object sender, EventArgs e)
38 | {
39 | comboBox1.Text=ConfigFactory.getSheduleGroup();
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/PowercutGadget/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("PowercutGadget")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("PowercutGadget")]
13 | [assembly: AssemblyCopyright("Copyright © 2022")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("72d1af1e-b18d-4ff7-acb7-9065907093ad")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/PowercutGadget.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.24720.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PowercutGadget", "PowercutGadget\PowercutGadget.csproj", "{72D1AF1E-B18D-4FF7-ACB7-9065907093AD}"
7 | EndProject
8 | Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "PowecutGadgetSetup", "PowecuGadgettSetup\PowecuGadgettSetup.vdproj", "{A2A181D0-2E2A-40FD-839E-521AC843A516}"
9 | EndProject
10 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Screentshots", "Screentshots", "{EF183D98-F198-462E-8D32-616C72059705}"
11 | ProjectSection(SolutionItems) = preProject
12 | ..\..\..\..\Desktop\screentshot_1.jpg = ..\..\..\..\Desktop\screentshot_1.jpg
13 | ..\..\..\..\Desktop\screentshot_2.jpg = ..\..\..\..\Desktop\screentshot_2.jpg
14 | EndProjectSection
15 | EndProject
16 | Global
17 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
18 | Debug|Any CPU = Debug|Any CPU
19 | Release|Any CPU = Release|Any CPU
20 | EndGlobalSection
21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 | {72D1AF1E-B18D-4FF7-ACB7-9065907093AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
23 | {72D1AF1E-B18D-4FF7-ACB7-9065907093AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
24 | {72D1AF1E-B18D-4FF7-ACB7-9065907093AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
25 | {72D1AF1E-B18D-4FF7-ACB7-9065907093AD}.Release|Any CPU.Build.0 = Release|Any CPU
26 | {A2A181D0-2E2A-40FD-839E-521AC843A516}.Debug|Any CPU.ActiveCfg = Debug
27 | {A2A181D0-2E2A-40FD-839E-521AC843A516}.Release|Any CPU.ActiveCfg = Release
28 | EndGlobalSection
29 | GlobalSection(SolutionProperties) = preSolution
30 | HideSolutionNode = FALSE
31 | EndGlobalSection
32 | EndGlobal
33 |
--------------------------------------------------------------------------------
/PowercutGadget/SyncedData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace PowercutGadget
8 | {
9 | static class SyncedData
10 | {
11 | static private List timeSlots = new List();
12 | static private DateTime lastSyncDateTime;
13 |
14 |
15 | static public DateTime LastSyncDateTime
16 | {
17 | get { return lastSyncDateTime; }
18 | }
19 | static public List TimeSlots
20 | {
21 | get { return timeSlots; }
22 | set {
23 | timeSlots = value;
24 | lastSyncDateTime = DateTime.Now;
25 | }
26 | }
27 |
28 | static public Boolean isSynced()
29 | {
30 | if (timeSlots.Count > 0 && lastSyncDateTime!=null && lastSyncDateTime.Date==DateTime.Now.Date)
31 | {
32 | return true;
33 | }
34 |
35 | return false;
36 | }
37 |
38 | static public int timeSlotCount()
39 | {
40 | return timeSlots.Count;
41 | }
42 |
43 | //return -2 for failed or all timeslots are expired
44 | //teturn -1 when there is a ongoing time slot
45 | static public int getIndexOfNearestTimeSlotIndex()
46 | {
47 | if (isSynced())
48 | {
49 | int i = 0;
50 |
51 | foreach (TimeSlot t in timeSlots)
52 | {
53 | if (DateTime.Now <= t.EndTime && DateTime.Now>=t.StartTime){
54 | return -1;
55 | }
56 |
57 | if (t.StartTime > DateTime.Now)
58 | {
59 | return i;
60 | }
61 |
62 | i++;
63 | }
64 |
65 | }
66 |
67 | return -2;
68 | }
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/PowercutGadget/ConfigFactory.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 | using System.Windows;
8 |
9 | namespace PowercutGadget
10 | {
11 | class ConfigFactory
12 | {
13 | public static String writeSheduleGroup(String group)
14 | {
15 | string file = group;
16 | string filePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\powercut_gadget_config.txt";
17 | FileStream FS = new FileStream(filePath, FileMode.Create);
18 | StreamWriter SR = new StreamWriter(FS);
19 | SR.Write(file);
20 | SR.Close();
21 |
22 | return file;
23 | }
24 |
25 | public static String getSheduleGroup()
26 | {
27 | string file = "";
28 | string filePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+ "\\powercut_gadget_config.txt";
29 | FileStream FS = new FileStream(filePath, FileMode.OpenOrCreate);
30 | StreamReader SR = new StreamReader(FS);
31 |
32 | try
33 | {
34 | file = SR.ReadLine().Trim();
35 | SR.Close();
36 | }
37 | catch (Exception)
38 | {
39 | SR.Close();
40 | writeSheduleGroup("A");
41 | MessageBox.Show("Your powercut group is set to Group 'A' by default. You can change it in settings.");
42 | return "A";
43 | }
44 |
45 | if (file.Length == 1 && file.All(Char.IsLetter)){
46 | return file.ToUpper();
47 | }
48 | else
49 | {
50 | writeSheduleGroup("A");
51 | MessageBox.Show("Your powercut group is set to Group 'A' by default. You can change it in settings.");
52 | return "A";
53 | }
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/PowercutGadget/AlertNotification.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 |
11 | namespace PowercutGadget
12 | {
13 | public partial class AlertNotification : Form
14 | {
15 | int timeslotIndex;
16 | int stayed = 0;
17 |
18 | public AlertNotification()
19 | {
20 | InitializeComponent();
21 | }
22 |
23 | public AlertNotification(int timeslotIndex)
24 | {
25 | this.timeslotIndex = timeslotIndex;
26 | InitializeComponent();
27 | }
28 |
29 | private void AlertNotification_Load(object sender, EventArgs e)
30 | {
31 | double inititialLocX = System.Windows.SystemParameters.FullPrimaryScreenWidth - Size.Width-2;
32 | double initialLocY = System.Windows.SystemParameters.FullPrimaryScreenHeight-Size.Height-8;
33 | this.Location = new Point((int)inititialLocX, (int)initialLocY);
34 |
35 | this.Activate();
36 | }
37 |
38 | private void label1_Click(object sender, EventArgs e)
39 | {
40 |
41 | }
42 |
43 | private void timer1_Tick(object sender, EventArgs e)
44 | {
45 | label2.Text=SyncedData.TimeSlots[timeslotIndex].StartTime.Subtract(DateTime.Now).ToString("hh':'mm");
46 | stayed++;
47 |
48 | if (stayed >= 60)
49 | {
50 | this.Close();
51 | }
52 | }
53 |
54 | private void pictureBox1_MouseHover(object sender, EventArgs e)
55 | {
56 | pictureBox1.Image = Properties.Resources.close_btn_hover;
57 | }
58 |
59 | private void pictureBox1_MouseLeave(object sender, EventArgs e)
60 | {
61 | pictureBox1.Image = Properties.Resources.close_btn;
62 | }
63 |
64 | private void pictureBox1_Click(object sender, EventArgs e)
65 | {
66 | Close();
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]elease/
17 | [Rr]eleases/
18 | x64/
19 | x86/
20 | build/
21 | bld/
22 | [Bb]in/
23 | [Oo]bj/
24 |
25 | # Visual Studio 2015 cache/options directory
26 | .vs/
27 |
28 | # MSTest test Results
29 | [Tt]est[Rr]esult*/
30 | [Bb]uild[Ll]og.*
31 |
32 | # NUNIT
33 | *.VisualState.xml
34 | TestResult.xml
35 |
36 | # Build Results of an ATL Project
37 | [Dd]ebugPS/
38 | [Rr]eleasePS/
39 | dlldata.c
40 |
41 | # DNX
42 | project.lock.json
43 | artifacts/
44 |
45 | *_i.c
46 | *_p.c
47 | *_i.h
48 | *.ilk
49 | *.meta
50 | *.obj
51 | *.pch
52 | *.pdb
53 | *.pgc
54 | *.pgd
55 | *.rsp
56 | *.sbr
57 | *.tlb
58 | *.tli
59 | *.tlh
60 | *.tmp
61 | *.tmp_proj
62 | *.log
63 | *.vspscc
64 | *.vssscc
65 | .builds
66 | *.pidb
67 | *.svclog
68 | *.scc
69 |
70 | # Chutzpah Test files
71 | _Chutzpah*
72 |
73 | # Visual C++ cache files
74 | ipch/
75 | *.aps
76 | *.ncb
77 | *.opensdf
78 | *.sdf
79 | *.cachefile
80 |
81 | # Visual Studio profiler
82 | *.psess
83 | *.vsp
84 | *.vspx
85 |
86 | # TFS 2012 Local Workspace
87 | $tf/
88 |
89 | # Guidance Automation Toolkit
90 | *.gpState
91 |
92 | # ReSharper is a .NET coding add-in
93 | _ReSharper*/
94 | *.[Rr]e[Ss]harper
95 | *.DotSettings.user
96 |
97 | # JustCode is a .NET coding add-in
98 | .JustCode
99 |
100 | # TeamCity is a build add-in
101 | _TeamCity*
102 |
103 | # DotCover is a Code Coverage Tool
104 | *.dotCover
105 |
106 | # NCrunch
107 | _NCrunch_*
108 | .*crunch*.local.xml
109 |
110 | # MightyMoose
111 | *.mm.*
112 | AutoTest.Net/
113 |
114 | # Web workbench (sass)
115 | .sass-cache/
116 |
117 | # Installshield output folder
118 | [Ee]xpress/
119 |
120 | # DocProject is a documentation generator add-in
121 | DocProject/buildhelp/
122 | DocProject/Help/*.HxT
123 | DocProject/Help/*.HxC
124 | DocProject/Help/*.hhc
125 | DocProject/Help/*.hhk
126 | DocProject/Help/*.hhp
127 | DocProject/Help/Html2
128 | DocProject/Help/html
129 |
130 | # Click-Once directory
131 | publish/
132 |
133 | # Publish Web Output
134 | *.[Pp]ublish.xml
135 | *.azurePubxml
136 | ## TODO: Comment the next line if you want to checkin your
137 | ## web deploy settings but do note that will include unencrypted
138 | ## passwords
139 | #*.pubxml
140 |
141 | *.publishproj
142 |
143 | # NuGet Packages
144 | *.nupkg
145 | # The packages folder can be ignored because of Package Restore
146 | **/packages/*
147 | # except build/, which is used as an MSBuild target.
148 | !**/packages/build/
149 | # Uncomment if necessary however generally it will be regenerated when needed
150 | #!**/packages/repositories.config
151 |
152 | # Windows Azure Build Output
153 | csx/
154 | *.build.csdef
155 |
156 | # Windows Store app package directory
157 | AppPackages/
158 |
159 | # Visual Studio cache files
160 | # files ending in .cache can be ignored
161 | *.[Cc]ache
162 | # but keep track of directories ending in .cache
163 | !*.[Cc]ache/
164 |
165 | # Others
166 | ClientBin/
167 | [Ss]tyle[Cc]op.*
168 | ~$*
169 | *~
170 | *.dbmdl
171 | *.dbproj.schemaview
172 | *.pfx
173 | *.publishsettings
174 | node_modules/
175 | orleans.codegen.cs
176 |
177 | # RIA/Silverlight projects
178 | Generated_Code/
179 |
180 | # Backup & report files from converting an old project file
181 | # to a newer Visual Studio version. Backup files are not needed,
182 | # because we have git ;-)
183 | _UpgradeReport_Files/
184 | Backup*/
185 | UpgradeLog*.XML
186 | UpgradeLog*.htm
187 |
188 | # SQL Server files
189 | *.mdf
190 | *.ldf
191 |
192 | # Business Intelligence projects
193 | *.rdl.data
194 | *.bim.layout
195 | *.bim_*.settings
196 |
197 | # Microsoft Fakes
198 | FakesAssemblies/
199 |
200 | # Node.js Tools for Visual Studio
201 | .ntvs_analysis.dat
202 |
203 | # Visual Studio 6 build log
204 | *.plg
205 |
206 | # Visual Studio 6 workspace options file
207 | *.opt
208 |
209 | # LightSwitch generated files
210 | GeneratedArtifacts/
211 | _Pvt_Extensions/
212 | ModelManifest.xml
213 |
--------------------------------------------------------------------------------
/PowercutGadget/AlertNotification.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace PowercutGadget
2 | {
3 | partial class AlertNotification
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | this.pictureBox1 = new System.Windows.Forms.PictureBox();
33 | this.label1 = new System.Windows.Forms.Label();
34 | this.label2 = new System.Windows.Forms.Label();
35 | this.timer1 = new System.Windows.Forms.Timer(this.components);
36 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
37 | this.SuspendLayout();
38 | //
39 | // pictureBox1
40 | //
41 | this.pictureBox1.BackColor = System.Drawing.Color.Transparent;
42 | this.pictureBox1.Cursor = System.Windows.Forms.Cursors.Hand;
43 | this.pictureBox1.Image = global::PowercutGadget.Properties.Resources.close_btn;
44 | this.pictureBox1.Location = new System.Drawing.Point(203, 12);
45 | this.pictureBox1.Name = "pictureBox1";
46 | this.pictureBox1.Size = new System.Drawing.Size(16, 16);
47 | this.pictureBox1.TabIndex = 0;
48 | this.pictureBox1.TabStop = false;
49 | this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
50 | this.pictureBox1.MouseLeave += new System.EventHandler(this.pictureBox1_MouseLeave);
51 | this.pictureBox1.MouseHover += new System.EventHandler(this.pictureBox1_MouseHover);
52 | //
53 | // label1
54 | //
55 | this.label1.AutoSize = true;
56 | this.label1.BackColor = System.Drawing.Color.Transparent;
57 | this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
58 | this.label1.Location = new System.Drawing.Point(12, 48);
59 | this.label1.Name = "label1";
60 | this.label1.Size = new System.Drawing.Size(164, 16);
61 | this.label1.TabIndex = 1;
62 | this.label1.Text = "Next powercut happens in ";
63 | this.label1.Click += new System.EventHandler(this.label1_Click);
64 | //
65 | // label2
66 | //
67 | this.label2.AutoSize = true;
68 | this.label2.BackColor = System.Drawing.Color.Transparent;
69 | this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
70 | this.label2.Location = new System.Drawing.Point(81, 84);
71 | this.label2.Name = "label2";
72 | this.label2.Size = new System.Drawing.Size(51, 20);
73 | this.label2.TabIndex = 2;
74 | this.label2.Text = "label2";
75 | //
76 | // timer1
77 | //
78 | this.timer1.Enabled = true;
79 | this.timer1.Interval = 1000;
80 | this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
81 | //
82 | // AlertNotification
83 | //
84 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
85 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
86 | this.BackgroundImage = global::PowercutGadget.Properties.Resources.AlertNotofication1;
87 | this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
88 | this.ClientSize = new System.Drawing.Size(231, 124);
89 | this.Controls.Add(this.label2);
90 | this.Controls.Add(this.label1);
91 | this.Controls.Add(this.pictureBox1);
92 | this.DoubleBuffered = true;
93 | this.ForeColor = System.Drawing.Color.White;
94 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
95 | this.Name = "AlertNotification";
96 | this.ShowIcon = false;
97 | this.ShowInTaskbar = false;
98 | this.Text = "AlertNotification";
99 | this.Load += new System.EventHandler(this.AlertNotification_Load);
100 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
101 | this.ResumeLayout(false);
102 | this.PerformLayout();
103 |
104 | }
105 |
106 | #endregion
107 |
108 | private System.Windows.Forms.PictureBox pictureBox1;
109 | private System.Windows.Forms.Label label1;
110 | private System.Windows.Forms.Label label2;
111 | private System.Windows.Forms.Timer timer1;
112 | }
113 | }
--------------------------------------------------------------------------------
/PowercutGadget/Settings.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/PowercutGadget/AlertNotification.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
--------------------------------------------------------------------------------
/PowercutGadget/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace PowercutGadget
2 | {
3 | partial class Settings
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.comboBox1 = new System.Windows.Forms.ComboBox();
32 | this.linkLabel1 = new System.Windows.Forms.LinkLabel();
33 | this.label1 = new System.Windows.Forms.Label();
34 | this.label2 = new System.Windows.Forms.Label();
35 | this.button1 = new System.Windows.Forms.Button();
36 | this.SuspendLayout();
37 | //
38 | // comboBox1
39 | //
40 | this.comboBox1.FormattingEnabled = true;
41 | this.comboBox1.Items.AddRange(new object[] {
42 | "A",
43 | "B",
44 | "C",
45 | "D",
46 | "E",
47 | "F",
48 | "G",
49 | "H",
50 | "I",
51 | "J",
52 | "K",
53 | "L",
54 | "M",
55 | "N",
56 | "O",
57 | "P",
58 | "Q",
59 | "R",
60 | "S",
61 | "T",
62 | "U",
63 | "V",
64 | "W",
65 | "X",
66 | "Y",
67 | "Z"});
68 | this.comboBox1.Location = new System.Drawing.Point(202, 19);
69 | this.comboBox1.Name = "comboBox1";
70 | this.comboBox1.Size = new System.Drawing.Size(53, 21);
71 | this.comboBox1.TabIndex = 0;
72 | this.comboBox1.Text = "D";
73 | this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
74 | //
75 | // linkLabel1
76 | //
77 | this.linkLabel1.AutoSize = true;
78 | this.linkLabel1.BackColor = System.Drawing.Color.Transparent;
79 | this.linkLabel1.LinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(255)))));
80 | this.linkLabel1.Location = new System.Drawing.Point(22, 99);
81 | this.linkLabel1.Name = "linkLabel1";
82 | this.linkLabel1.Size = new System.Drawing.Size(168, 26);
83 | this.linkLabel1.TabIndex = 1;
84 | this.linkLabel1.TabStop = true;
85 | this.linkLabel1.Text = "https://cebcare.ceb.lk/Incognito/\r\nDemandMgmtSchedule";
86 | this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
87 | //
88 | // label1
89 | //
90 | this.label1.AutoSize = true;
91 | this.label1.BackColor = System.Drawing.Color.Transparent;
92 | this.label1.ForeColor = System.Drawing.Color.White;
93 | this.label1.Location = new System.Drawing.Point(22, 61);
94 | this.label1.Name = "label1";
95 | this.label1.Size = new System.Drawing.Size(244, 26);
96 | this.label1.TabIndex = 2;
97 | this.label1.Text = "If you don\'t know the powercut group. please visit \r\nthis website and find it.";
98 | //
99 | // label2
100 | //
101 | this.label2.AutoSize = true;
102 | this.label2.BackColor = System.Drawing.Color.Transparent;
103 | this.label2.ForeColor = System.Drawing.Color.White;
104 | this.label2.Location = new System.Drawing.Point(22, 22);
105 | this.label2.Name = "label2";
106 | this.label2.Size = new System.Drawing.Size(140, 13);
107 | this.label2.TabIndex = 2;
108 | this.label2.Text = "Select your Powercut Group";
109 | //
110 | // button1
111 | //
112 | this.button1.ForeColor = System.Drawing.Color.Black;
113 | this.button1.Location = new System.Drawing.Point(188, 169);
114 | this.button1.Name = "button1";
115 | this.button1.Size = new System.Drawing.Size(81, 34);
116 | this.button1.TabIndex = 3;
117 | this.button1.Text = "Save";
118 | this.button1.UseVisualStyleBackColor = true;
119 | this.button1.Click += new System.EventHandler(this.button1_Click);
120 | //
121 | // Settings
122 | //
123 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
124 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
125 | this.BackgroundImage = global::PowercutGadget.Properties.Resources.AlertNotofication;
126 | this.ClientSize = new System.Drawing.Size(281, 215);
127 | this.Controls.Add(this.button1);
128 | this.Controls.Add(this.label2);
129 | this.Controls.Add(this.label1);
130 | this.Controls.Add(this.linkLabel1);
131 | this.Controls.Add(this.comboBox1);
132 | this.ForeColor = System.Drawing.Color.White;
133 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
134 | this.Name = "Settings";
135 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
136 | this.Text = "Settings";
137 | this.Load += new System.EventHandler(this.Settings_Load);
138 | this.ResumeLayout(false);
139 | this.PerformLayout();
140 |
141 | }
142 |
143 | #endregion
144 |
145 | private System.Windows.Forms.ComboBox comboBox1;
146 | private System.Windows.Forms.LinkLabel linkLabel1;
147 | private System.Windows.Forms.Label label1;
148 | private System.Windows.Forms.Label label2;
149 | private System.Windows.Forms.Button button1;
150 | }
151 | }
--------------------------------------------------------------------------------
/PowercutGadget/PowercutGadget.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {72D1AF1E-B18D-4FF7-ACB7-9065907093AD}
8 | WinExe
9 | Properties
10 | PowercutGadget
11 | PowercutGadget
12 | v4.5.2
13 | 512
14 | true
15 |
16 |
17 | AnyCPU
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 |
26 |
27 | AnyCPU
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 |
35 |
36 | ceb.ico
37 |
38 |
39 |
40 | ..\packages\HtmlAgilityPack.1.11.43\lib\Net45\HtmlAgilityPack.dll
41 | True
42 |
43 |
44 | ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll
45 | True
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 | Form
63 |
64 |
65 | AlertNotification.cs
66 |
67 |
68 |
69 | Form
70 |
71 |
72 | Form1.cs
73 |
74 |
75 |
76 |
77 | Form
78 |
79 |
80 | Settings.cs
81 |
82 |
83 |
84 |
85 | AlertNotification.cs
86 |
87 |
88 | Form1.cs
89 |
90 |
91 | ResXFileCodeGenerator
92 | Resources.Designer.cs
93 | Designer
94 |
95 |
96 | True
97 | Resources.resx
98 | True
99 |
100 |
101 | Settings.cs
102 |
103 |
104 |
105 | SettingsSingleFileGenerator
106 | Settings.Designer.cs
107 |
108 |
109 | True
110 | Settings.settings
111 | True
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
171 |
--------------------------------------------------------------------------------
/PowercutGadget/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace PowercutGadget.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PowercutGadget.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Looks up a localized resource of type System.Drawing.Bitmap.
65 | ///
66 | internal static System.Drawing.Bitmap _360_F_283136113_b3VRHNiOPFMOluzYJPpfuoH8Czh9c743 {
67 | get {
68 | object obj = ResourceManager.GetObject("360_F_283136113_b3VRHNiOPFMOluzYJPpfuoH8Czh9c743", resourceCulture);
69 | return ((System.Drawing.Bitmap)(obj));
70 | }
71 | }
72 |
73 | ///
74 | /// Looks up a localized resource of type System.Drawing.Bitmap.
75 | ///
76 | internal static System.Drawing.Bitmap AlertNotofication {
77 | get {
78 | object obj = ResourceManager.GetObject("AlertNotofication", resourceCulture);
79 | return ((System.Drawing.Bitmap)(obj));
80 | }
81 | }
82 |
83 | ///
84 | /// Looks up a localized resource of type System.Drawing.Bitmap.
85 | ///
86 | internal static System.Drawing.Bitmap AlertNotofication1 {
87 | get {
88 | object obj = ResourceManager.GetObject("AlertNotofication1", resourceCulture);
89 | return ((System.Drawing.Bitmap)(obj));
90 | }
91 | }
92 |
93 | ///
94 | /// Looks up a localized resource of type System.Drawing.Bitmap.
95 | ///
96 | internal static System.Drawing.Bitmap background {
97 | get {
98 | object obj = ResourceManager.GetObject("background", resourceCulture);
99 | return ((System.Drawing.Bitmap)(obj));
100 | }
101 | }
102 |
103 | ///
104 | /// Looks up a localized resource of type System.Drawing.Bitmap.
105 | ///
106 | internal static System.Drawing.Bitmap background_2 {
107 | get {
108 | object obj = ResourceManager.GetObject("background 2", resourceCulture);
109 | return ((System.Drawing.Bitmap)(obj));
110 | }
111 | }
112 |
113 | ///
114 | /// Looks up a localized resource of type System.Drawing.Bitmap.
115 | ///
116 | internal static System.Drawing.Bitmap background_non_trans {
117 | get {
118 | object obj = ResourceManager.GetObject("background non trans", resourceCulture);
119 | return ((System.Drawing.Bitmap)(obj));
120 | }
121 | }
122 |
123 | ///
124 | /// Looks up a localized resource of type System.Drawing.Bitmap.
125 | ///
126 | internal static System.Drawing.Bitmap button_png_172003 {
127 | get {
128 | object obj = ResourceManager.GetObject("button-png-172003", resourceCulture);
129 | return ((System.Drawing.Bitmap)(obj));
130 | }
131 | }
132 |
133 | ///
134 | /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
135 | ///
136 | internal static System.Drawing.Icon ceb {
137 | get {
138 | object obj = ResourceManager.GetObject("ceb", resourceCulture);
139 | return ((System.Drawing.Icon)(obj));
140 | }
141 | }
142 |
143 | ///
144 | /// Looks up a localized resource of type System.Drawing.Bitmap.
145 | ///
146 | internal static System.Drawing.Bitmap close_btn {
147 | get {
148 | object obj = ResourceManager.GetObject("close btn", resourceCulture);
149 | return ((System.Drawing.Bitmap)(obj));
150 | }
151 | }
152 |
153 | ///
154 | /// Looks up a localized resource of type System.Drawing.Bitmap.
155 | ///
156 | internal static System.Drawing.Bitmap close_btn_hover {
157 | get {
158 | object obj = ResourceManager.GetObject("close btn hover", resourceCulture);
159 | return ((System.Drawing.Bitmap)(obj));
160 | }
161 | }
162 |
163 | ///
164 | /// Looks up a localized resource of type System.Drawing.Bitmap.
165 | ///
166 | internal static System.Drawing.Bitmap setting_btn {
167 | get {
168 | object obj = ResourceManager.GetObject("setting btn", resourceCulture);
169 | return ((System.Drawing.Bitmap)(obj));
170 | }
171 | }
172 |
173 | ///
174 | /// Looks up a localized resource of type System.Drawing.Bitmap.
175 | ///
176 | internal static System.Drawing.Bitmap setting_btn_hower {
177 | get {
178 | object obj = ResourceManager.GetObject("setting btn hower", resourceCulture);
179 | return ((System.Drawing.Bitmap)(obj));
180 | }
181 | }
182 |
183 | ///
184 | /// Looks up a localized resource of type System.Drawing.Bitmap.
185 | ///
186 | internal static System.Drawing.Bitmap setting_btn_hower1 {
187 | get {
188 | object obj = ResourceManager.GetObject("setting btn hower1", resourceCulture);
189 | return ((System.Drawing.Bitmap)(obj));
190 | }
191 | }
192 |
193 | ///
194 | /// Looks up a localized resource of type System.Drawing.Bitmap.
195 | ///
196 | internal static System.Drawing.Bitmap setting_btn1 {
197 | get {
198 | object obj = ResourceManager.GetObject("setting btn1", resourceCulture);
199 | return ((System.Drawing.Bitmap)(obj));
200 | }
201 | }
202 |
203 | ///
204 | /// Looks up a localized resource of type System.Drawing.Bitmap.
205 | ///
206 | internal static System.Drawing.Bitmap sync {
207 | get {
208 | object obj = ResourceManager.GetObject("sync", resourceCulture);
209 | return ((System.Drawing.Bitmap)(obj));
210 | }
211 | }
212 |
213 | ///
214 | /// Looks up a localized resource of type System.Drawing.Bitmap.
215 | ///
216 | internal static System.Drawing.Bitmap sync_hower {
217 | get {
218 | object obj = ResourceManager.GetObject("sync hower", resourceCulture);
219 | return ((System.Drawing.Bitmap)(obj));
220 | }
221 | }
222 |
223 | ///
224 | /// Looks up a localized resource of type System.Drawing.Bitmap.
225 | ///
226 | internal static System.Drawing.Bitmap top_back_color {
227 | get {
228 | object obj = ResourceManager.GetObject("top back color", resourceCulture);
229 | return ((System.Drawing.Bitmap)(obj));
230 | }
231 | }
232 |
233 | ///
234 | /// Looks up a localized resource of type System.Drawing.Bitmap.
235 | ///
236 | internal static System.Drawing.Bitmap top_bar {
237 | get {
238 | object obj = ResourceManager.GetObject("top bar", resourceCulture);
239 | return ((System.Drawing.Bitmap)(obj));
240 | }
241 | }
242 | }
243 | }
244 |
--------------------------------------------------------------------------------
/PowercutGadget/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\Resources\360_F_283136113_b3VRHNiOPFMOluzYJPpfuoH8Czh9c743.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
125 | ..\Resources\setting btn hower.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
126 |
127 |
128 | ..\Resources\background 2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
129 |
130 |
131 | ..\Resources\setting btn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
132 |
133 |
134 | ..\Resources\ceb.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
135 |
136 |
137 | ..\Resources\AlertNotofication1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
138 |
139 |
140 | ..\Resources\close btn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
141 |
142 |
143 | ..\Resources\AlertNotofication.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
144 |
145 |
146 | ..\Resources\sync.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
147 |
148 |
149 | ..\Resources\top bar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
150 |
151 |
152 | ..\Resources\background.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
153 |
154 |
155 | ..\Resources\setting btn1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
156 |
157 |
158 | ..\Resources\top back color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
159 |
160 |
161 | ..\Resources\background non trans.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
162 |
163 |
164 | ..\Resources\sync hower.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
165 |
166 |
167 | ..\Resources\close btn hover.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
168 |
169 |
170 | ..\Resources\button-png-172003.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
171 |
172 |
173 | ..\Resources\setting btn hower1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
174 |
175 |
--------------------------------------------------------------------------------
/PowercutGadget/Form1.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace PowercutGadget
2 | {
3 | partial class Form1
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
33 | this.pictureBox1 = new System.Windows.Forms.PictureBox();
34 | this.pictureBox2 = new System.Windows.Forms.PictureBox();
35 | this.closeBtn = new System.Windows.Forms.PictureBox();
36 | this.settingBtn = new System.Windows.Forms.PictureBox();
37 | this.label1 = new System.Windows.Forms.Label();
38 | this.lbl_timeslot1 = new System.Windows.Forms.Label();
39 | this.lbl_timeslot2 = new System.Windows.Forms.Label();
40 | this.lbl_timeslot3 = new System.Windows.Forms.Label();
41 | this.lastSynced = new System.Windows.Forms.Label();
42 | this.timer1 = new System.Windows.Forms.Timer(this.components);
43 | this.timer2 = new System.Windows.Forms.Timer(this.components);
44 | this.blockUiPanel = new System.Windows.Forms.Panel();
45 | this.label3 = new System.Windows.Forms.Label();
46 | this.label2 = new System.Windows.Forms.Label();
47 | this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
48 | this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
49 | this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
50 | this.quitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
51 | this.notifyIcon2 = new System.Windows.Forms.NotifyIcon(this.components);
52 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
53 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
54 | ((System.ComponentModel.ISupportInitialize)(this.closeBtn)).BeginInit();
55 | ((System.ComponentModel.ISupportInitialize)(this.settingBtn)).BeginInit();
56 | this.blockUiPanel.SuspendLayout();
57 | this.contextMenuStrip1.SuspendLayout();
58 | this.SuspendLayout();
59 | //
60 | // pictureBox1
61 | //
62 | this.pictureBox1.BackColor = System.Drawing.Color.Transparent;
63 | this.pictureBox1.BackgroundImage = global::PowercutGadget.Properties.Resources.sync;
64 | this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
65 | this.pictureBox1.Cursor = System.Windows.Forms.Cursors.Hand;
66 | this.pictureBox1.Location = new System.Drawing.Point(188, 153);
67 | this.pictureBox1.Name = "pictureBox1";
68 | this.pictureBox1.Size = new System.Drawing.Size(37, 22);
69 | this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
70 | this.pictureBox1.TabIndex = 0;
71 | this.pictureBox1.TabStop = false;
72 | this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
73 | this.pictureBox1.MouseLeave += new System.EventHandler(this.pictureBox1_MouseLeave);
74 | this.pictureBox1.MouseHover += new System.EventHandler(this.pictureBox1_MouseHover);
75 | //
76 | // pictureBox2
77 | //
78 | this.pictureBox2.BackgroundImage = global::PowercutGadget.Properties.Resources.top_bar;
79 | this.pictureBox2.Cursor = System.Windows.Forms.Cursors.Hand;
80 | this.pictureBox2.Location = new System.Drawing.Point(0, 0);
81 | this.pictureBox2.Name = "pictureBox2";
82 | this.pictureBox2.Size = new System.Drawing.Size(240, 41);
83 | this.pictureBox2.TabIndex = 1;
84 | this.pictureBox2.TabStop = false;
85 | this.pictureBox2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pictureBox2_MouseDown);
86 | //
87 | // closeBtn
88 | //
89 | this.closeBtn.BackColor = System.Drawing.Color.Transparent;
90 | this.closeBtn.BackgroundImage = global::PowercutGadget.Properties.Resources.top_back_color;
91 | this.closeBtn.Cursor = System.Windows.Forms.Cursors.Hand;
92 | this.closeBtn.Image = global::PowercutGadget.Properties.Resources.close_btn;
93 | this.closeBtn.Location = new System.Drawing.Point(212, 12);
94 | this.closeBtn.Name = "closeBtn";
95 | this.closeBtn.Size = new System.Drawing.Size(16, 16);
96 | this.closeBtn.TabIndex = 2;
97 | this.closeBtn.TabStop = false;
98 | this.closeBtn.Click += new System.EventHandler(this.closeBtn_Click);
99 | this.closeBtn.MouseLeave += new System.EventHandler(this.closeBtn_MouseLeave);
100 | this.closeBtn.MouseHover += new System.EventHandler(this.closeBtn_MouseHover);
101 | //
102 | // settingBtn
103 | //
104 | this.settingBtn.BackColor = System.Drawing.Color.Transparent;
105 | this.settingBtn.BackgroundImage = global::PowercutGadget.Properties.Resources.top_back_color;
106 | this.settingBtn.Cursor = System.Windows.Forms.Cursors.Hand;
107 | this.settingBtn.Image = global::PowercutGadget.Properties.Resources.setting_btn1;
108 | this.settingBtn.Location = new System.Drawing.Point(12, 12);
109 | this.settingBtn.Name = "settingBtn";
110 | this.settingBtn.Size = new System.Drawing.Size(16, 16);
111 | this.settingBtn.TabIndex = 2;
112 | this.settingBtn.TabStop = false;
113 | this.settingBtn.Click += new System.EventHandler(this.settingBtn_Click);
114 | this.settingBtn.MouseLeave += new System.EventHandler(this.settingBtn_MouseLeave);
115 | this.settingBtn.MouseHover += new System.EventHandler(this.settingBtn_MouseHover);
116 | //
117 | // label1
118 | //
119 | this.label1.AutoSize = true;
120 | this.label1.BackColor = System.Drawing.Color.Transparent;
121 | this.label1.Font = new System.Drawing.Font("Georgia", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
122 | this.label1.ForeColor = System.Drawing.Color.White;
123 | this.label1.Image = global::PowercutGadget.Properties.Resources.top_bar;
124 | this.label1.Location = new System.Drawing.Point(49, 12);
125 | this.label1.Name = "label1";
126 | this.label1.Size = new System.Drawing.Size(126, 16);
127 | this.label1.TabIndex = 3;
128 | this.label1.Text = "Powercut Schedule";
129 | //
130 | // lbl_timeslot1
131 | //
132 | this.lbl_timeslot1.AutoSize = true;
133 | this.lbl_timeslot1.BackColor = System.Drawing.Color.Transparent;
134 | this.lbl_timeslot1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
135 | this.lbl_timeslot1.ForeColor = System.Drawing.Color.White;
136 | this.lbl_timeslot1.Location = new System.Drawing.Point(12, 52);
137 | this.lbl_timeslot1.Name = "lbl_timeslot1";
138 | this.lbl_timeslot1.Size = new System.Drawing.Size(67, 16);
139 | this.lbl_timeslot1.TabIndex = 4;
140 | this.lbl_timeslot1.Text = "1. syncing";
141 | //
142 | // lbl_timeslot2
143 | //
144 | this.lbl_timeslot2.AutoSize = true;
145 | this.lbl_timeslot2.BackColor = System.Drawing.Color.Transparent;
146 | this.lbl_timeslot2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
147 | this.lbl_timeslot2.ForeColor = System.Drawing.Color.White;
148 | this.lbl_timeslot2.Location = new System.Drawing.Point(12, 87);
149 | this.lbl_timeslot2.Name = "lbl_timeslot2";
150 | this.lbl_timeslot2.Size = new System.Drawing.Size(67, 16);
151 | this.lbl_timeslot2.TabIndex = 4;
152 | this.lbl_timeslot2.Text = "2. syncing";
153 | //
154 | // lbl_timeslot3
155 | //
156 | this.lbl_timeslot3.AutoSize = true;
157 | this.lbl_timeslot3.BackColor = System.Drawing.Color.Transparent;
158 | this.lbl_timeslot3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
159 | this.lbl_timeslot3.ForeColor = System.Drawing.Color.White;
160 | this.lbl_timeslot3.Location = new System.Drawing.Point(12, 122);
161 | this.lbl_timeslot3.Name = "lbl_timeslot3";
162 | this.lbl_timeslot3.Size = new System.Drawing.Size(67, 16);
163 | this.lbl_timeslot3.TabIndex = 4;
164 | this.lbl_timeslot3.Text = "3. syncing";
165 | //
166 | // lastSynced
167 | //
168 | this.lastSynced.AutoSize = true;
169 | this.lastSynced.BackColor = System.Drawing.Color.Transparent;
170 | this.lastSynced.Location = new System.Drawing.Point(21, 158);
171 | this.lastSynced.Name = "lastSynced";
172 | this.lastSynced.Size = new System.Drawing.Size(43, 13);
173 | this.lastSynced.TabIndex = 5;
174 | this.lastSynced.Text = "syncing";
175 | //
176 | // timer1
177 | //
178 | this.timer1.Enabled = true;
179 | this.timer1.Interval = 2000;
180 | this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
181 | //
182 | // timer2
183 | //
184 | this.timer2.Enabled = true;
185 | this.timer2.Interval = 1000;
186 | this.timer2.Tick += new System.EventHandler(this.timer2_Tick);
187 | //
188 | // blockUiPanel
189 | //
190 | this.blockUiPanel.BackColor = System.Drawing.Color.Transparent;
191 | this.blockUiPanel.Controls.Add(this.label3);
192 | this.blockUiPanel.Controls.Add(this.label2);
193 | this.blockUiPanel.Location = new System.Drawing.Point(0, 47);
194 | this.blockUiPanel.Name = "blockUiPanel";
195 | this.blockUiPanel.Size = new System.Drawing.Size(240, 100);
196 | this.blockUiPanel.TabIndex = 6;
197 | this.blockUiPanel.Visible = false;
198 | this.blockUiPanel.Paint += new System.Windows.Forms.PaintEventHandler(this.blockUiPanel_Paint);
199 | //
200 | // label3
201 | //
202 | this.label3.AutoSize = true;
203 | this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
204 | this.label3.Location = new System.Drawing.Point(9, 40);
205 | this.label3.Name = "label3";
206 | this.label3.Size = new System.Drawing.Size(223, 45);
207 | this.label3.TabIndex = 1;
208 | this.label3.Text = "Click the Sync button to retry.. \r\nMake sure your Computer is connected \r\nto the " +
209 | "internet.";
210 | this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
211 | //
212 | // label2
213 | //
214 | this.label2.AutoSize = true;
215 | this.label2.Font = new System.Drawing.Font("Georgia", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
216 | this.label2.Location = new System.Drawing.Point(23, 6);
217 | this.label2.Name = "label2";
218 | this.label2.Size = new System.Drawing.Size(189, 18);
219 | this.label2.TabIndex = 0;
220 | this.label2.Text = "Failed to connect server";
221 | //
222 | // notifyIcon1
223 | //
224 | this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1;
225 | this.notifyIcon1.Text = "Powecut Shedule";
226 | this.notifyIcon1.Visible = true;
227 | this.notifyIcon1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseDoubleClick);
228 | //
229 | // contextMenuStrip1
230 | //
231 | this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
232 | this.openToolStripMenuItem,
233 | this.quitToolStripMenuItem});
234 | this.contextMenuStrip1.Name = "contextMenuStrip1";
235 | this.contextMenuStrip1.Size = new System.Drawing.Size(145, 48);
236 | //
237 | // openToolStripMenuItem
238 | //
239 | this.openToolStripMenuItem.Name = "openToolStripMenuItem";
240 | this.openToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
241 | this.openToolStripMenuItem.Text = "Open Gadget";
242 | this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
243 | //
244 | // quitToolStripMenuItem
245 | //
246 | this.quitToolStripMenuItem.Name = "quitToolStripMenuItem";
247 | this.quitToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
248 | this.quitToolStripMenuItem.Text = "Quit Gadget";
249 | this.quitToolStripMenuItem.Click += new System.EventHandler(this.quitToolStripMenuItem_Click);
250 | //
251 | // notifyIcon2
252 | //
253 | this.notifyIcon2.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Warning;
254 | this.notifyIcon2.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon2.Icon")));
255 | this.notifyIcon2.Text = "Powecut Shedule";
256 | this.notifyIcon2.Visible = true;
257 | //
258 | // Form1
259 | //
260 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
261 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
262 | this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
263 | this.BackgroundImage = global::PowercutGadget.Properties.Resources.background_2;
264 | this.ClientSize = new System.Drawing.Size(240, 180);
265 | this.Controls.Add(this.blockUiPanel);
266 | this.Controls.Add(this.lastSynced);
267 | this.Controls.Add(this.lbl_timeslot3);
268 | this.Controls.Add(this.lbl_timeslot2);
269 | this.Controls.Add(this.lbl_timeslot1);
270 | this.Controls.Add(this.label1);
271 | this.Controls.Add(this.settingBtn);
272 | this.Controls.Add(this.closeBtn);
273 | this.Controls.Add(this.pictureBox2);
274 | this.Controls.Add(this.pictureBox1);
275 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
276 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
277 | this.Name = "Form1";
278 | this.ShowInTaskbar = false;
279 | this.Text = "Form1";
280 | this.TransparencyKey = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
281 | this.Load += new System.EventHandler(this.Form1_Load);
282 | this.ResizeEnd += new System.EventHandler(this.Form1_ResizeEnd);
283 | this.Resize += new System.EventHandler(this.Form1_Resize);
284 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
285 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
286 | ((System.ComponentModel.ISupportInitialize)(this.closeBtn)).EndInit();
287 | ((System.ComponentModel.ISupportInitialize)(this.settingBtn)).EndInit();
288 | this.blockUiPanel.ResumeLayout(false);
289 | this.blockUiPanel.PerformLayout();
290 | this.contextMenuStrip1.ResumeLayout(false);
291 | this.ResumeLayout(false);
292 | this.PerformLayout();
293 |
294 | }
295 |
296 | #endregion
297 |
298 | private System.Windows.Forms.PictureBox pictureBox1;
299 | private System.Windows.Forms.PictureBox pictureBox2;
300 | private System.Windows.Forms.PictureBox closeBtn;
301 | private System.Windows.Forms.PictureBox settingBtn;
302 | private System.Windows.Forms.Label label1;
303 | private System.Windows.Forms.Label lbl_timeslot1;
304 | private System.Windows.Forms.Label lbl_timeslot2;
305 | private System.Windows.Forms.Label lbl_timeslot3;
306 | private System.Windows.Forms.Label lastSynced;
307 | private System.Windows.Forms.Timer timer1;
308 | private System.Windows.Forms.Timer timer2;
309 | private System.Windows.Forms.Panel blockUiPanel;
310 | private System.Windows.Forms.Label label3;
311 | private System.Windows.Forms.Label label2;
312 | private System.Windows.Forms.NotifyIcon notifyIcon1;
313 | private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
314 | private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem;
315 | private System.Windows.Forms.ToolStripMenuItem quitToolStripMenuItem;
316 | private System.Windows.Forms.NotifyIcon notifyIcon2;
317 | }
318 | }
319 |
320 |
--------------------------------------------------------------------------------
/PowercutGadget/Form1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.IO;
7 | using System.Linq;
8 | using System.Net;
9 | using System.Text;
10 | using System.Threading.Tasks;
11 | using System.Windows.Forms;
12 | using HtmlAgilityPack;
13 | using System.Net.Http;
14 | using Newtonsoft.Json.Linq;
15 | using Microsoft.Win32;
16 |
17 | namespace PowercutGadget
18 | {
19 | public partial class Form1 : Form
20 | {
21 |
22 | public const int WM_NCLBUTTONDOWN = 0xA1;
23 | public const int HT_CAPTION = 0x2;
24 |
25 | [System.Runtime.InteropServices.DllImport("user32.dll")]
26 | public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
27 | [System.Runtime.InteropServices.DllImport("user32.dll")]
28 | public static extern bool ReleaseCapture();
29 |
30 | private CookieContainer cookieContainer = new CookieContainer();
31 | HttpClient client = new HttpClient();
32 |
33 | int apiRequestRetryCount = 0;
34 | bool onANotification = false;
35 |
36 |
37 | public Form1()
38 | {
39 | InitializeComponent();
40 | ServicePointManager.Expect100Continue = true;
41 | ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
42 |
43 | }
44 |
45 | private void pictureBox1_Click(object sender, EventArgs e)
46 | {
47 |
48 | Console.WriteLine(getVerificationToken());
49 | String json=GetLoadSheddingEvents(getVerificationToken());
50 |
51 | if (!json.Equals(""))
52 | {
53 | getTimeSlots(json, ConfigFactory.getSheduleGroup());
54 | updateTimeslotLabels();
55 | }
56 | else {
57 | }
58 |
59 | }
60 |
61 | String getVerificationToken()
62 | {
63 | try
64 | {
65 | string urlAddress = "https://cebcare.ceb.lk/Incognito/DemandMgmtSchedule";
66 |
67 | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
68 | request.CookieContainer = cookieContainer;
69 | HttpWebResponse response = (HttpWebResponse)request.GetResponse();
70 |
71 | if (response.StatusCode == HttpStatusCode.OK)
72 | {
73 | Stream receiveStream = response.GetResponseStream();
74 | StreamReader readStream = null;
75 | if (String.IsNullOrWhiteSpace(response.CharacterSet))
76 | readStream = new StreamReader(receiveStream);
77 | else
78 | readStream = new StreamReader(receiveStream,
79 | Encoding.GetEncoding(response.CharacterSet));
80 | string data = readStream.ReadToEnd();
81 | response.Close();
82 | readStream.Close();
83 |
84 | var doc = new HtmlAgilityPack.HtmlDocument();
85 | doc.LoadHtml(data);
86 |
87 | var node = doc.DocumentNode.SelectSingleNode("//input[@name='__RequestVerificationToken']");
88 |
89 | return node.Attributes["value"].Value;
90 |
91 | }
92 | }
93 | catch (Exception){
94 | }
95 |
96 | return "";
97 | }
98 |
99 | string GetLoadSheddingEvents(String reqAuthToken)
100 | {
101 | try
102 | {
103 | String cookieString = getCookieStringForSite(cookieContainer, "https://cebcare.ceb.lk");
104 |
105 | var url = "https://cebcare.ceb.lk/Incognito/GetLoadSheddingEvents";
106 | var data = "StartTime="+DateTime.Now.Date.ToString("yyyy-MM-dd") + "&EndTime="+ DateTime.Now.Date.AddDays(1).ToString("yyyy-MM-dd");
107 | Console.WriteLine(data);
108 | byte[] contentBytes = Encoding.ASCII.GetBytes(data);
109 |
110 | var httpRequest = (HttpWebRequest)WebRequest.Create(url);
111 | httpRequest.Method = "POST";
112 |
113 | httpRequest.ContentType = "application/x-www-form-urlencoded";
114 | httpRequest.Headers.Add("RequestVerificationToken", getVerificationToken());
115 | httpRequest.Headers.Add("Cookie", cookieString);
116 | //httpRequest.Headers.Add("Host", "cebcare.ceb.lk");
117 | httpRequest.Host = "cebcare.ceb.lk";
118 | httpRequest.ContentLength = contentBytes.Length;
119 |
120 | Console.WriteLine(httpRequest.ContentLength);
121 |
122 |
123 | using (var streamWriter = new StreamWriter(httpRequest.GetRequestStream()))
124 | {
125 | streamWriter.Write(data);
126 | }
127 |
128 | var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
129 | using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
130 | {
131 | var result = streamReader.ReadToEnd();
132 |
133 | return result;
134 | }
135 |
136 | }
137 | catch (Exception)
138 | {
139 | }
140 |
141 | return "";
142 | }
143 |
144 | String getCookieStringForSite(CookieContainer container,String site)
145 | {
146 | String cookieString = "";
147 | foreach (var cookie in cookieContainer.GetCookies(new Uri(site)))
148 | {
149 | //Console.WriteLine(cookie.ToString()); // test=testValue
150 | cookieString = cookieString + cookie.ToString() + ";";
151 | }
152 |
153 | return cookieString;
154 | }
155 |
156 | private void closeBtn_MouseHover(object sender, EventArgs e)
157 | {
158 | closeBtn.Image = Properties.Resources.close_btn_hover;
159 | }
160 |
161 | private void settingBtn_MouseHover(object sender, EventArgs e)
162 | {
163 | settingBtn.Image = Properties.Resources.setting_btn_hower1;
164 | ToolTip tt = new ToolTip();
165 | tt.SetToolTip(this.settingBtn, "Open Settings");
166 | }
167 |
168 | private void settingBtn_MouseLeave(object sender, EventArgs e)
169 | {
170 | settingBtn.Image = Properties.Resources.setting_btn1;
171 | }
172 |
173 | private void closeBtn_MouseLeave(object sender, EventArgs e)
174 | {
175 | closeBtn.Image = Properties.Resources.close_btn;
176 | }
177 |
178 | private void closeBtn_Click(object sender, EventArgs e)
179 | {
180 | //Application.Exit();
181 |
182 | WindowState = FormWindowState.Minimized;
183 | }
184 |
185 | private void pictureBox2_MouseDown(object sender, MouseEventArgs e)
186 | {
187 | if (e.Button == MouseButtons.Left)
188 | {
189 | ReleaseCapture();
190 | SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
191 | }
192 | }
193 |
194 | private void Form1_Load(object sender, EventArgs e)
195 | {
196 | RegisterInStartup(true);
197 | Console.WriteLine(ConfigFactory.getSheduleGroup());
198 |
199 | notifyIcon1.Icon=Properties.Resources.ceb;
200 |
201 | double inititialLocX = System.Windows.SystemParameters.FullPrimaryScreenWidth - Size.Width - 15;
202 | double initialLocY = 15;
203 | this.Location = new Point((int)inititialLocX, (int)initialLocY);
204 |
205 |
206 | //load data for the first time
207 | Task.Run(() => tryLoadData());
208 | updateTimeslotLabels();
209 | }
210 |
211 | async void tryLoadData()
212 | {
213 | String json = GetLoadSheddingEvents(getVerificationToken());
214 |
215 | if (!json.Equals(""))
216 | {
217 | getTimeSlots(json, ConfigFactory.getSheduleGroup());
218 |
219 | if (SyncedData.isSynced())
220 | {
221 | apiRequestRetryCount = 0;
222 | }
223 | else {
224 | apiRequestRetryCount++;
225 | }
226 | }
227 | else {
228 | apiRequestRetryCount++;
229 | }
230 | }
231 |
232 | async void getTimeSlots(String json, String group)
233 | {
234 | List timeslots = new List();
235 |
236 | try
237 | {
238 | JArray textArray = JArray.Parse(json);
239 |
240 | List powercutTimeSlots = new List();
241 |
242 | foreach (JObject item in textArray)
243 | {
244 | string loadshed = item.GetValue("loadShedGroupId").ToString();
245 |
246 | if (loadshed.Equals(group))
247 | {
248 | String startT = item.GetValue("startTime").ToString();
249 | String endT = item.GetValue("endTime").ToString();
250 |
251 | timeslots.Add(new TimeSlot(DateTime.Parse(startT),
252 | DateTime.Parse(endT)));
253 |
254 | }
255 | }
256 | List SortedList = timeslots.OrderBy(o => o.StartTime).ToList();
257 | SyncedData.TimeSlots = SortedList;
258 |
259 | }
260 | catch (Exception e){
261 | }
262 | }
263 |
264 |
265 | void updateTimeslotLabels()
266 | {
267 | if (SyncedData.isSynced())
268 | {
269 | blockUiPanel.Visible = false;
270 |
271 | int nearestTimeslotIndex = SyncedData.getIndexOfNearestTimeSlotIndex();
272 | String suffix = " ";
273 |
274 | if (nearestTimeslotIndex == -2)
275 | {
276 | }
277 | else if (nearestTimeslotIndex == -1)
278 | {
279 | int i = 0;
280 | foreach (TimeSlot t in SyncedData.TimeSlots)
281 | {
282 | if (DateTime.Now <= t.EndTime && DateTime.Now >= t.StartTime)
283 | {
284 | nearestTimeslotIndex = i;
285 | break;
286 | }
287 |
288 | i++;
289 | }
290 | suffix = " ongoing";
291 | }
292 | else {
293 | String defference = SyncedData.TimeSlots[nearestTimeslotIndex].StartTime.Subtract(DateTime.Now).ToString("hh':'mm");
294 | suffix = " - happens in (" + defference + ")";
295 |
296 | int minutes = (Int32)SyncedData.TimeSlots[nearestTimeslotIndex].StartTime.Subtract(DateTime.Now).TotalMinutes;
297 |
298 |
299 | createNotification(nearestTimeslotIndex,60);
300 | createNotification(nearestTimeslotIndex,30);
301 | createNotification(nearestTimeslotIndex, 15);
302 | createNotification(nearestTimeslotIndex, 5);
303 | createNotification(nearestTimeslotIndex, 2);
304 |
305 | }
306 |
307 | //updating labels
308 | if (SyncedData.timeSlotCount() > 0)
309 | {
310 | String s = "";
311 | if (nearestTimeslotIndex == 0)
312 | {
313 | s = suffix;
314 | lbl_timeslot1.ForeColor = Color.YellowGreen;
315 | }
316 | else
317 | {
318 | lbl_timeslot1.ForeColor = Color.White;
319 | }
320 | lbl_timeslot1.Text = "1. " + SyncedData.TimeSlots[0].StartTime.ToString("HH:mm") + " to " + SyncedData.TimeSlots[0].EndTime.ToString("HH:mm") + s;
321 | }
322 | else {
323 | lbl_timeslot1.Text = "-";
324 | lbl_timeslot2.Text = "-";
325 | lbl_timeslot3.Text = "-";
326 | }
327 |
328 | if (SyncedData.timeSlotCount() > 1)
329 | {
330 | String s = "";
331 | if (nearestTimeslotIndex == 1)
332 | {
333 | s = suffix;
334 | lbl_timeslot2.ForeColor = Color.YellowGreen;
335 | }
336 | else
337 | {
338 | lbl_timeslot2.ForeColor = Color.White;
339 | }
340 |
341 | lbl_timeslot2.Text = "2. " + SyncedData.TimeSlots[1].StartTime.ToString("HH:mm") + " to " + SyncedData.TimeSlots[1].EndTime.ToString("HH:mm") + s;
342 | }
343 | else {
344 | lbl_timeslot2.Text = "-";
345 | lbl_timeslot3.Text = "-";
346 | }
347 |
348 | if (SyncedData.timeSlotCount() > 2)
349 | {
350 | String s = "";
351 | if (nearestTimeslotIndex == 2)
352 | {
353 | s = suffix;
354 | lbl_timeslot3.ForeColor = Color.YellowGreen;
355 | }
356 | else
357 | {
358 | lbl_timeslot3.ForeColor = Color.White;
359 | }
360 |
361 | lbl_timeslot3.Text = "3. " + SyncedData.TimeSlots[2].StartTime.ToString("HH:mm") + " to " + SyncedData.TimeSlots[2].EndTime.ToString("HH:mm") + s;
362 | }
363 | else {
364 | lbl_timeslot3.Text = "-";
365 | }
366 | lastSynced.Text = "Updated " + SyncedData.LastSyncDateTime.ToString("HH:mm");
367 | }
368 | else
369 | {
370 | timer2.Enabled = true;
371 | }
372 | }
373 |
374 | private void pictureBox1_MouseHover(object sender, EventArgs e)
375 | {
376 | pictureBox1.BackgroundImage = Properties.Resources.sync_hower;
377 | }
378 |
379 | private void pictureBox1_MouseLeave(object sender, EventArgs e)
380 | {
381 | pictureBox1.BackgroundImage = Properties.Resources.sync;
382 | }
383 |
384 | private void timer1_Tick(object sender, EventArgs e)
385 | {
386 | updateTimeslotLabels();
387 | }
388 |
389 | private void timer2_Tick(object sender, EventArgs e)
390 | {
391 | if (SyncedData.isSynced())
392 | {
393 | apiRequestRetryCount = 0;
394 | timer2.Enabled = false;
395 | }
396 | else if (apiRequestRetryCount < 5)
397 | {
398 | Task.Run(() => tryLoadData());
399 | Console.WriteLine("retring to get response..");
400 | }
401 | else
402 | {
403 | blockUiPanel.Visible = true;
404 | Console.WriteLine("failed 5 times to get response");
405 | }
406 | }
407 |
408 | void createNotification(int timeslotIndex,int minute)
409 | {
410 | int minutes = (Int32)SyncedData.TimeSlots[timeslotIndex].StartTime.Subtract(DateTime.Now).TotalMinutes;
411 |
412 | if (onANotification == false && minutes <= minute && minutes >= minute)
413 | {
414 | onANotification = true;
415 |
416 | notifyIcon2.BalloonTipTitle = "Powercut Alert!!";
417 | notifyIcon2.BalloonTipText = "Next powercut happens in : " + SyncedData.TimeSlots[timeslotIndex].StartTime.Subtract(DateTime.Now).ToString("hh':'mm");
418 | notifyIcon2.Visible = true;
419 | notifyIcon2.ShowBalloonTip(500);
420 |
421 | new AlertNotification(timeslotIndex).Show();
422 | }
423 |
424 | if (minutes == minute-1 )
425 | {
426 | onANotification = false;
427 | }
428 |
429 | }
430 |
431 | private void blockUiPanel_Paint(object sender, PaintEventArgs e)
432 | {
433 |
434 | }
435 |
436 | private void Form1_ResizeEnd(object sender, EventArgs e)
437 | {
438 |
439 | }
440 |
441 |
442 |
443 | private void Form1_Resize(object sender, EventArgs e)
444 | {
445 | notifyIcon1.BalloonTipTitle = "Minimized";
446 | notifyIcon1.BalloonTipText = "PowecutShedule App was successfully minimized to tray.";
447 |
448 | if (FormWindowState.Minimized == this.WindowState)
449 | {
450 | notifyIcon1.Visible = true;
451 | notifyIcon1.ShowBalloonTip(100);
452 | this.Hide();
453 | }
454 | else if (FormWindowState.Normal == this.WindowState)
455 | {
456 | notifyIcon1.Visible = false;
457 | }
458 | }
459 |
460 | private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
461 | {
462 | this.Show();
463 | this.WindowState = FormWindowState.Normal;
464 | }
465 |
466 | private void openToolStripMenuItem_Click(object sender, EventArgs e)
467 | {
468 | this.Show();
469 | WindowState = FormWindowState.Normal;
470 | }
471 |
472 | private void quitToolStripMenuItem_Click(object sender, EventArgs e)
473 | {
474 | Application.Exit();
475 | }
476 |
477 | private void settingBtn_Click(object sender, EventArgs e)
478 | {
479 | new Settings().ShowDialog();
480 | }
481 |
482 | private void RegisterInStartup(bool isChecked)
483 | {
484 | RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
485 | ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
486 | if (isChecked)
487 | {
488 | registryKey.SetValue("ApplicationName", Application.ExecutablePath);
489 | }
490 | else
491 | {
492 | registryKey.DeleteValue("ApplicationName");
493 | }
494 | }
495 | }
496 | }
497 |
--------------------------------------------------------------------------------
/PowecuGadgettSetup/PowecuGadgettSetup.vdproj:
--------------------------------------------------------------------------------
1 | "DeployProject"
2 | {
3 | "VSVersion" = "3:800"
4 | "ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
5 | "IsWebType" = "8:FALSE"
6 | "ProjectName" = "8:PowecutGadgetSetup"
7 | "LanguageId" = "3:1033"
8 | "CodePage" = "3:1252"
9 | "UILanguageId" = "3:1033"
10 | "SccProjectName" = "8:"
11 | "SccLocalPath" = "8:"
12 | "SccAuxPath" = "8:"
13 | "SccProvider" = "8:"
14 | "Hierarchy"
15 | {
16 | "Entry"
17 | {
18 | "MsmKey" = "8:_2AFEF59DF57647AC9E332D89B4282557"
19 | "OwnerKey" = "8:_UNDEFINED"
20 | "MsmSig" = "8:_UNDEFINED"
21 | }
22 | "Entry"
23 | {
24 | "MsmKey" = "8:_2ED837A1C8E94843B9D1650D27DB1849"
25 | "OwnerKey" = "8:_UNDEFINED"
26 | "MsmSig" = "8:_UNDEFINED"
27 | }
28 | "Entry"
29 | {
30 | "MsmKey" = "8:_40CFEDEEF84B4E79B19106B4328562C5"
31 | "OwnerKey" = "8:_UNDEFINED"
32 | "MsmSig" = "8:_UNDEFINED"
33 | }
34 | "Entry"
35 | {
36 | "MsmKey" = "8:_434F1362A7594B089F1E2C7C85F8BB6D"
37 | "OwnerKey" = "8:_UNDEFINED"
38 | "MsmSig" = "8:_UNDEFINED"
39 | }
40 | "Entry"
41 | {
42 | "MsmKey" = "8:_6D0B0979545540CAB246AD6647B82160"
43 | "OwnerKey" = "8:_UNDEFINED"
44 | "MsmSig" = "8:_UNDEFINED"
45 | }
46 | "Entry"
47 | {
48 | "MsmKey" = "8:_74D768EC1DC54905BB6743CC388C7FC9"
49 | "OwnerKey" = "8:_UNDEFINED"
50 | "MsmSig" = "8:_UNDEFINED"
51 | }
52 | "Entry"
53 | {
54 | "MsmKey" = "8:_8133F16A6F80B2007E835CFF9E4127EC"
55 | "OwnerKey" = "8:_2ED837A1C8E94843B9D1650D27DB1849"
56 | "MsmSig" = "8:_UNDEFINED"
57 | }
58 | "Entry"
59 | {
60 | "MsmKey" = "8:_A9417C5BD1BA4CE686CA90BC4B791899"
61 | "OwnerKey" = "8:_UNDEFINED"
62 | "MsmSig" = "8:_UNDEFINED"
63 | }
64 | "Entry"
65 | {
66 | "MsmKey" = "8:_BAF955CAD7AC60D107D53342EED67546"
67 | "OwnerKey" = "8:_74D768EC1DC54905BB6743CC388C7FC9"
68 | "MsmSig" = "8:_UNDEFINED"
69 | }
70 | "Entry"
71 | {
72 | "MsmKey" = "8:_BAF955CAD7AC60D107D53342EED67546"
73 | "OwnerKey" = "8:_2ED837A1C8E94843B9D1650D27DB1849"
74 | "MsmSig" = "8:_UNDEFINED"
75 | }
76 | "Entry"
77 | {
78 | "MsmKey" = "8:_BAF955CAD7AC60D107D53342EED67546"
79 | "OwnerKey" = "8:_CE3663E2DD721E1E616911981CC759C6"
80 | "MsmSig" = "8:_UNDEFINED"
81 | }
82 | "Entry"
83 | {
84 | "MsmKey" = "8:_CE3663E2DD721E1E616911981CC759C6"
85 | "OwnerKey" = "8:_2ED837A1C8E94843B9D1650D27DB1849"
86 | "MsmSig" = "8:_UNDEFINED"
87 | }
88 | "Entry"
89 | {
90 | "MsmKey" = "8:_DCE045C3DFF24DBDAF1C9E9FE95EF6BB"
91 | "OwnerKey" = "8:_UNDEFINED"
92 | "MsmSig" = "8:_UNDEFINED"
93 | }
94 | "Entry"
95 | {
96 | "MsmKey" = "8:_UNDEFINED"
97 | "OwnerKey" = "8:_BAF955CAD7AC60D107D53342EED67546"
98 | "MsmSig" = "8:_UNDEFINED"
99 | }
100 | "Entry"
101 | {
102 | "MsmKey" = "8:_UNDEFINED"
103 | "OwnerKey" = "8:_2ED837A1C8E94843B9D1650D27DB1849"
104 | "MsmSig" = "8:_UNDEFINED"
105 | }
106 | "Entry"
107 | {
108 | "MsmKey" = "8:_UNDEFINED"
109 | "OwnerKey" = "8:_8133F16A6F80B2007E835CFF9E4127EC"
110 | "MsmSig" = "8:_UNDEFINED"
111 | }
112 | "Entry"
113 | {
114 | "MsmKey" = "8:_UNDEFINED"
115 | "OwnerKey" = "8:_CE3663E2DD721E1E616911981CC759C6"
116 | "MsmSig" = "8:_UNDEFINED"
117 | }
118 | "Entry"
119 | {
120 | "MsmKey" = "8:_UNDEFINED"
121 | "OwnerKey" = "8:_A9417C5BD1BA4CE686CA90BC4B791899"
122 | "MsmSig" = "8:_UNDEFINED"
123 | }
124 | "Entry"
125 | {
126 | "MsmKey" = "8:_UNDEFINED"
127 | "OwnerKey" = "8:_74D768EC1DC54905BB6743CC388C7FC9"
128 | "MsmSig" = "8:_UNDEFINED"
129 | }
130 | }
131 | "Configurations"
132 | {
133 | "Debug"
134 | {
135 | "DisplayName" = "8:Debug"
136 | "IsDebugOnly" = "11:TRUE"
137 | "IsReleaseOnly" = "11:FALSE"
138 | "OutputFilename" = "8:Debug\\PowecuGadgettSetup.msi"
139 | "PackageFilesAs" = "3:2"
140 | "PackageFileSize" = "3:-2147483648"
141 | "CabType" = "3:1"
142 | "Compression" = "3:2"
143 | "SignOutput" = "11:FALSE"
144 | "CertificateFile" = "8:"
145 | "PrivateKeyFile" = "8:"
146 | "TimeStampServer" = "8:"
147 | "InstallerBootstrapper" = "3:2"
148 | "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
149 | {
150 | "Enabled" = "11:TRUE"
151 | "PromptEnabled" = "11:TRUE"
152 | "PrerequisitesLocation" = "2:1"
153 | "Url" = "8:"
154 | "ComponentsUrl" = "8:"
155 | }
156 | }
157 | "Release"
158 | {
159 | "DisplayName" = "8:Release"
160 | "IsDebugOnly" = "11:FALSE"
161 | "IsReleaseOnly" = "11:TRUE"
162 | "OutputFilename" = "8:Release\\PowecuGadgettSetup.msi"
163 | "PackageFilesAs" = "3:2"
164 | "PackageFileSize" = "3:-2147483648"
165 | "CabType" = "3:1"
166 | "Compression" = "3:2"
167 | "SignOutput" = "11:FALSE"
168 | "CertificateFile" = "8:"
169 | "PrivateKeyFile" = "8:"
170 | "TimeStampServer" = "8:"
171 | "InstallerBootstrapper" = "3:2"
172 | "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
173 | {
174 | "Enabled" = "11:TRUE"
175 | "PromptEnabled" = "11:TRUE"
176 | "PrerequisitesLocation" = "2:1"
177 | "Url" = "8:"
178 | "ComponentsUrl" = "8:"
179 | "Items"
180 | {
181 | "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.5"
182 | {
183 | "Name" = "8:Microsoft .NET Framework 4.5 (x86 and x64)"
184 | "ProductCode" = "8:.NETFramework,Version=v4.5"
185 | }
186 | }
187 | }
188 | }
189 | }
190 | "Deployable"
191 | {
192 | "CustomAction"
193 | {
194 | }
195 | "DefaultFeature"
196 | {
197 | "Name" = "8:DefaultFeature"
198 | "Title" = "8:"
199 | "Description" = "8:"
200 | }
201 | "ExternalPersistence"
202 | {
203 | "LaunchCondition"
204 | {
205 | "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_DE8C11212039414E941DFC19AED13784"
206 | {
207 | "Name" = "8:.NET Framework"
208 | "Message" = "8:[VSDNETMSG]"
209 | "FrameworkVersion" = "8:.NETFramework,Version=v4.5"
210 | "AllowLaterVersions" = "11:FALSE"
211 | "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=395269"
212 | }
213 | }
214 | }
215 | "File"
216 | {
217 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2AFEF59DF57647AC9E332D89B4282557"
218 | {
219 | "SourcePath" = "8:..\\PowercutGadget\\bin\\Release\\HtmlAgilityPack.xml"
220 | "TargetName" = "8:HtmlAgilityPack.xml"
221 | "Tag" = "8:"
222 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
223 | "Condition" = "8:"
224 | "Transitive" = "11:FALSE"
225 | "Vital" = "11:TRUE"
226 | "ReadOnly" = "11:FALSE"
227 | "Hidden" = "11:FALSE"
228 | "System" = "11:FALSE"
229 | "Permanent" = "11:FALSE"
230 | "SharedLegacy" = "11:FALSE"
231 | "PackageAs" = "3:1"
232 | "Register" = "3:1"
233 | "Exclude" = "11:FALSE"
234 | "IsDependency" = "11:FALSE"
235 | "IsolateTo" = "8:"
236 | }
237 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2ED837A1C8E94843B9D1650D27DB1849"
238 | {
239 | "AssemblyRegister" = "3:1"
240 | "AssemblyIsInGAC" = "11:FALSE"
241 | "AssemblyAsmDisplayName" = "8:PowercutGadget, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"
242 | "ScatterAssemblies"
243 | {
244 | "_2ED837A1C8E94843B9D1650D27DB1849"
245 | {
246 | "Name" = "8:PowercutGadget.exe"
247 | "Attributes" = "3:512"
248 | }
249 | }
250 | "SourcePath" = "8:..\\PowercutGadget\\bin\\Release\\PowercutGadget.exe"
251 | "TargetName" = "8:"
252 | "Tag" = "8:"
253 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
254 | "Condition" = "8:"
255 | "Transitive" = "11:FALSE"
256 | "Vital" = "11:TRUE"
257 | "ReadOnly" = "11:FALSE"
258 | "Hidden" = "11:FALSE"
259 | "System" = "11:FALSE"
260 | "Permanent" = "11:FALSE"
261 | "SharedLegacy" = "11:FALSE"
262 | "PackageAs" = "3:1"
263 | "Register" = "3:1"
264 | "Exclude" = "11:FALSE"
265 | "IsDependency" = "11:FALSE"
266 | "IsolateTo" = "8:"
267 | }
268 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_40CFEDEEF84B4E79B19106B4328562C5"
269 | {
270 | "SourcePath" = "8:..\\PowercutGadget\\bin\\Release\\Newtonsoft.Json.xml"
271 | "TargetName" = "8:Newtonsoft.Json.xml"
272 | "Tag" = "8:"
273 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
274 | "Condition" = "8:"
275 | "Transitive" = "11:FALSE"
276 | "Vital" = "11:TRUE"
277 | "ReadOnly" = "11:FALSE"
278 | "Hidden" = "11:FALSE"
279 | "System" = "11:FALSE"
280 | "Permanent" = "11:FALSE"
281 | "SharedLegacy" = "11:FALSE"
282 | "PackageAs" = "3:1"
283 | "Register" = "3:1"
284 | "Exclude" = "11:FALSE"
285 | "IsDependency" = "11:FALSE"
286 | "IsolateTo" = "8:"
287 | }
288 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_434F1362A7594B089F1E2C7C85F8BB6D"
289 | {
290 | "SourcePath" = "8:..\\PowercutGadget\\bin\\Release\\PowercutGadget.exe.config"
291 | "TargetName" = "8:PowercutGadget.exe.config"
292 | "Tag" = "8:"
293 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
294 | "Condition" = "8:"
295 | "Transitive" = "11:FALSE"
296 | "Vital" = "11:TRUE"
297 | "ReadOnly" = "11:FALSE"
298 | "Hidden" = "11:FALSE"
299 | "System" = "11:FALSE"
300 | "Permanent" = "11:FALSE"
301 | "SharedLegacy" = "11:FALSE"
302 | "PackageAs" = "3:1"
303 | "Register" = "3:1"
304 | "Exclude" = "11:FALSE"
305 | "IsDependency" = "11:FALSE"
306 | "IsolateTo" = "8:"
307 | }
308 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6D0B0979545540CAB246AD6647B82160"
309 | {
310 | "SourcePath" = "8:..\\PowercutGadget\\bin\\Release\\HtmlAgilityPack.pdb"
311 | "TargetName" = "8:HtmlAgilityPack.pdb"
312 | "Tag" = "8:"
313 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
314 | "Condition" = "8:"
315 | "Transitive" = "11:FALSE"
316 | "Vital" = "11:TRUE"
317 | "ReadOnly" = "11:FALSE"
318 | "Hidden" = "11:FALSE"
319 | "System" = "11:FALSE"
320 | "Permanent" = "11:FALSE"
321 | "SharedLegacy" = "11:FALSE"
322 | "PackageAs" = "3:1"
323 | "Register" = "3:1"
324 | "Exclude" = "11:FALSE"
325 | "IsDependency" = "11:FALSE"
326 | "IsolateTo" = "8:"
327 | }
328 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_74D768EC1DC54905BB6743CC388C7FC9"
329 | {
330 | "AssemblyRegister" = "3:1"
331 | "AssemblyIsInGAC" = "11:FALSE"
332 | "AssemblyAsmDisplayName" = "8:HtmlAgilityPack, Version=1.11.43.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL"
333 | "ScatterAssemblies"
334 | {
335 | "_74D768EC1DC54905BB6743CC388C7FC9"
336 | {
337 | "Name" = "8:HtmlAgilityPack.dll"
338 | "Attributes" = "3:512"
339 | }
340 | }
341 | "SourcePath" = "8:..\\PowercutGadget\\bin\\Release\\HtmlAgilityPack.dll"
342 | "TargetName" = "8:"
343 | "Tag" = "8:"
344 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
345 | "Condition" = "8:"
346 | "Transitive" = "11:FALSE"
347 | "Vital" = "11:TRUE"
348 | "ReadOnly" = "11:FALSE"
349 | "Hidden" = "11:FALSE"
350 | "System" = "11:FALSE"
351 | "Permanent" = "11:FALSE"
352 | "SharedLegacy" = "11:FALSE"
353 | "PackageAs" = "3:1"
354 | "Register" = "3:1"
355 | "Exclude" = "11:FALSE"
356 | "IsDependency" = "11:FALSE"
357 | "IsolateTo" = "8:"
358 | }
359 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_8133F16A6F80B2007E835CFF9E4127EC"
360 | {
361 | "AssemblyRegister" = "3:1"
362 | "AssemblyIsInGAC" = "11:FALSE"
363 | "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"
364 | "ScatterAssemblies"
365 | {
366 | "_8133F16A6F80B2007E835CFF9E4127EC"
367 | {
368 | "Name" = "8:Newtonsoft.Json.DLL"
369 | "Attributes" = "3:512"
370 | }
371 | }
372 | "SourcePath" = "8:Newtonsoft.Json.DLL"
373 | "TargetName" = "8:"
374 | "Tag" = "8:"
375 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
376 | "Condition" = "8:"
377 | "Transitive" = "11:FALSE"
378 | "Vital" = "11:TRUE"
379 | "ReadOnly" = "11:FALSE"
380 | "Hidden" = "11:FALSE"
381 | "System" = "11:FALSE"
382 | "Permanent" = "11:FALSE"
383 | "SharedLegacy" = "11:FALSE"
384 | "PackageAs" = "3:1"
385 | "Register" = "3:1"
386 | "Exclude" = "11:FALSE"
387 | "IsDependency" = "11:TRUE"
388 | "IsolateTo" = "8:"
389 | }
390 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A9417C5BD1BA4CE686CA90BC4B791899"
391 | {
392 | "AssemblyRegister" = "3:1"
393 | "AssemblyIsInGAC" = "11:FALSE"
394 | "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"
395 | "ScatterAssemblies"
396 | {
397 | "_A9417C5BD1BA4CE686CA90BC4B791899"
398 | {
399 | "Name" = "8:Newtonsoft.Json.dll"
400 | "Attributes" = "3:512"
401 | }
402 | }
403 | "SourcePath" = "8:..\\PowercutGadget\\bin\\Release\\Newtonsoft.Json.dll"
404 | "TargetName" = "8:"
405 | "Tag" = "8:"
406 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
407 | "Condition" = "8:"
408 | "Transitive" = "11:FALSE"
409 | "Vital" = "11:TRUE"
410 | "ReadOnly" = "11:FALSE"
411 | "Hidden" = "11:FALSE"
412 | "System" = "11:FALSE"
413 | "Permanent" = "11:FALSE"
414 | "SharedLegacy" = "11:FALSE"
415 | "PackageAs" = "3:1"
416 | "Register" = "3:1"
417 | "Exclude" = "11:FALSE"
418 | "IsDependency" = "11:FALSE"
419 | "IsolateTo" = "8:"
420 | }
421 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BAF955CAD7AC60D107D53342EED67546"
422 | {
423 | "AssemblyRegister" = "3:1"
424 | "AssemblyIsInGAC" = "11:TRUE"
425 | "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
426 | "ScatterAssemblies"
427 | {
428 | "_BAF955CAD7AC60D107D53342EED67546"
429 | {
430 | "Name" = "8:System.Net.Http.dll"
431 | "Attributes" = "3:512"
432 | }
433 | }
434 | "SourcePath" = "8:System.Net.Http.dll"
435 | "TargetName" = "8:"
436 | "Tag" = "8:"
437 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
438 | "Condition" = "8:"
439 | "Transitive" = "11:FALSE"
440 | "Vital" = "11:TRUE"
441 | "ReadOnly" = "11:FALSE"
442 | "Hidden" = "11:FALSE"
443 | "System" = "11:FALSE"
444 | "Permanent" = "11:FALSE"
445 | "SharedLegacy" = "11:FALSE"
446 | "PackageAs" = "3:1"
447 | "Register" = "3:1"
448 | "Exclude" = "11:FALSE"
449 | "IsDependency" = "11:TRUE"
450 | "IsolateTo" = "8:"
451 | }
452 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_CE3663E2DD721E1E616911981CC759C6"
453 | {
454 | "AssemblyRegister" = "3:1"
455 | "AssemblyIsInGAC" = "11:FALSE"
456 | "AssemblyAsmDisplayName" = "8:HtmlAgilityPack, Version=1.11.43.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL"
457 | "ScatterAssemblies"
458 | {
459 | "_CE3663E2DD721E1E616911981CC759C6"
460 | {
461 | "Name" = "8:HtmlAgilityPack.DLL"
462 | "Attributes" = "3:512"
463 | }
464 | }
465 | "SourcePath" = "8:HtmlAgilityPack.DLL"
466 | "TargetName" = "8:"
467 | "Tag" = "8:"
468 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
469 | "Condition" = "8:"
470 | "Transitive" = "11:FALSE"
471 | "Vital" = "11:TRUE"
472 | "ReadOnly" = "11:FALSE"
473 | "Hidden" = "11:FALSE"
474 | "System" = "11:FALSE"
475 | "Permanent" = "11:FALSE"
476 | "SharedLegacy" = "11:FALSE"
477 | "PackageAs" = "3:1"
478 | "Register" = "3:1"
479 | "Exclude" = "11:FALSE"
480 | "IsDependency" = "11:TRUE"
481 | "IsolateTo" = "8:"
482 | }
483 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DCE045C3DFF24DBDAF1C9E9FE95EF6BB"
484 | {
485 | "SourcePath" = "8:..\\PowercutGadget\\ceb.ico"
486 | "TargetName" = "8:ceb.ico"
487 | "Tag" = "8:"
488 | "Folder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
489 | "Condition" = "8:"
490 | "Transitive" = "11:FALSE"
491 | "Vital" = "11:TRUE"
492 | "ReadOnly" = "11:FALSE"
493 | "Hidden" = "11:FALSE"
494 | "System" = "11:FALSE"
495 | "Permanent" = "11:FALSE"
496 | "SharedLegacy" = "11:FALSE"
497 | "PackageAs" = "3:1"
498 | "Register" = "3:1"
499 | "Exclude" = "11:FALSE"
500 | "IsDependency" = "11:FALSE"
501 | "IsolateTo" = "8:"
502 | }
503 | }
504 | "FileType"
505 | {
506 | }
507 | "Folder"
508 | {
509 | "{3C67513D-01DD-4637-8A68-80971EB9504F}:_081DC46CAF2440A9B36E63F234C8C20F"
510 | {
511 | "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]"
512 | "Name" = "8:#1925"
513 | "AlwaysCreate" = "11:FALSE"
514 | "Condition" = "8:"
515 | "Transitive" = "11:FALSE"
516 | "Property" = "8:TARGETDIR"
517 | "Folders"
518 | {
519 | }
520 | }
521 | "{1525181F-901A-416C-8A58-119130FE478E}:_9DDB30FF532140008B0875AC4428B66B"
522 | {
523 | "Name" = "8:#1919"
524 | "AlwaysCreate" = "11:FALSE"
525 | "Condition" = "8:"
526 | "Transitive" = "11:FALSE"
527 | "Property" = "8:ProgramMenuFolder"
528 | "Folders"
529 | {
530 | "{9EF0B969-E518-4E46-987F-47570745A589}:_D998CF97DB9344D4B2D8A6DD8B833F30"
531 | {
532 | "Name" = "8:Powercut Schedule Gadget"
533 | "AlwaysCreate" = "11:FALSE"
534 | "Condition" = "8:"
535 | "Transitive" = "11:FALSE"
536 | "Property" = "8:_FC25975B077542A69EE3D3EFC39318F8"
537 | "Folders"
538 | {
539 | }
540 | }
541 | }
542 | }
543 | "{1525181F-901A-416C-8A58-119130FE478E}:_BFFE962913E0469B831DC441C06424FE"
544 | {
545 | "Name" = "8:#1916"
546 | "AlwaysCreate" = "11:FALSE"
547 | "Condition" = "8:"
548 | "Transitive" = "11:FALSE"
549 | "Property" = "8:DesktopFolder"
550 | "Folders"
551 | {
552 | }
553 | }
554 | }
555 | "LaunchCondition"
556 | {
557 | }
558 | "Locator"
559 | {
560 | }
561 | "MsiBootstrapper"
562 | {
563 | "LangId" = "3:1033"
564 | "RequiresElevation" = "11:FALSE"
565 | }
566 | "Product"
567 | {
568 | "Name" = "8:Microsoft Visual Studio"
569 | "ProductName" = "8:PowecutGadget Setup"
570 | "ProductCode" = "8:{90DBE8EA-FFB4-4BCC-9C4A-4D508AB0B745}"
571 | "PackageCode" = "8:{929700FC-DBC2-403D-A7CC-611025D94E88}"
572 | "UpgradeCode" = "8:{89282048-7604-4AD0-B482-D6FF3060D334}"
573 | "AspNetVersion" = "8:4.0.30319.0"
574 | "RestartWWWService" = "11:FALSE"
575 | "RemovePreviousVersions" = "11:TRUE"
576 | "DetectNewerInstalledVersion" = "11:TRUE"
577 | "InstallAllUsers" = "11:TRUE"
578 | "ProductVersion" = "8:1.0.0"
579 | "Manufacturer" = "8:tirancm"
580 | "ARPHELPTELEPHONE" = "8:"
581 | "ARPHELPLINK" = "8:"
582 | "Title" = "8:PowecutGadget Setup"
583 | "Subject" = "8:"
584 | "ARPCONTACT" = "8:tirancm"
585 | "Keywords" = "8:"
586 | "ARPCOMMENTS" = "8:PowecutGadget Setup"
587 | "ARPURLINFOABOUT" = "8:"
588 | "ARPPRODUCTICON" = "8:"
589 | "ARPIconIndex" = "3:0"
590 | "SearchPath" = "8:"
591 | "UseSystemSearchPath" = "11:TRUE"
592 | "TargetPlatform" = "3:0"
593 | "PreBuildEvent" = "8:"
594 | "PostBuildEvent" = "8:"
595 | "RunPostBuildEvent" = "3:0"
596 | }
597 | "Registry"
598 | {
599 | "HKLM"
600 | {
601 | "Keys"
602 | {
603 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EA040D7B6E084D81A257C967749FE4F2"
604 | {
605 | "Name" = "8:Software"
606 | "Condition" = "8:"
607 | "AlwaysCreate" = "11:FALSE"
608 | "DeleteAtUninstall" = "11:FALSE"
609 | "Transitive" = "11:FALSE"
610 | "Keys"
611 | {
612 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_26F596913B2E45E1B193E7108FFC511A"
613 | {
614 | "Name" = "8:[Manufacturer]"
615 | "Condition" = "8:"
616 | "AlwaysCreate" = "11:FALSE"
617 | "DeleteAtUninstall" = "11:FALSE"
618 | "Transitive" = "11:FALSE"
619 | "Keys"
620 | {
621 | }
622 | "Values"
623 | {
624 | }
625 | }
626 | }
627 | "Values"
628 | {
629 | }
630 | }
631 | }
632 | }
633 | "HKCU"
634 | {
635 | "Keys"
636 | {
637 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_FE2000C2CF8A443DBBA5DB4E2D266C7C"
638 | {
639 | "Name" = "8:Software"
640 | "Condition" = "8:"
641 | "AlwaysCreate" = "11:FALSE"
642 | "DeleteAtUninstall" = "11:FALSE"
643 | "Transitive" = "11:FALSE"
644 | "Keys"
645 | {
646 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4579546C7A054C73B0314828F4C80042"
647 | {
648 | "Name" = "8:[Manufacturer]"
649 | "Condition" = "8:"
650 | "AlwaysCreate" = "11:FALSE"
651 | "DeleteAtUninstall" = "11:FALSE"
652 | "Transitive" = "11:FALSE"
653 | "Keys"
654 | {
655 | }
656 | "Values"
657 | {
658 | }
659 | }
660 | }
661 | "Values"
662 | {
663 | }
664 | }
665 | }
666 | }
667 | "HKCR"
668 | {
669 | "Keys"
670 | {
671 | }
672 | }
673 | "HKU"
674 | {
675 | "Keys"
676 | {
677 | }
678 | }
679 | "HKPU"
680 | {
681 | "Keys"
682 | {
683 | }
684 | }
685 | }
686 | "Sequences"
687 | {
688 | }
689 | "Shortcut"
690 | {
691 | "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_65B9674157A247E6B6F651DAF4575044"
692 | {
693 | "Name" = "8:PowercutGadget.exe"
694 | "Arguments" = "8:"
695 | "Description" = "8:"
696 | "ShowCmd" = "3:1"
697 | "IconIndex" = "3:0"
698 | "Transitive" = "11:FALSE"
699 | "Target" = "8:_2ED837A1C8E94843B9D1650D27DB1849"
700 | "Folder" = "8:_D998CF97DB9344D4B2D8A6DD8B833F30"
701 | "WorkingFolder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
702 | "Icon" = "8:_DCE045C3DFF24DBDAF1C9E9FE95EF6BB"
703 | "Feature" = "8:"
704 | }
705 | "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_9F9CDFCEA59546C6815B7D066E5C8931"
706 | {
707 | "Name" = "8:PowercutGadget.exe"
708 | "Arguments" = "8:"
709 | "Description" = "8:"
710 | "ShowCmd" = "3:1"
711 | "IconIndex" = "3:0"
712 | "Transitive" = "11:FALSE"
713 | "Target" = "8:_2ED837A1C8E94843B9D1650D27DB1849"
714 | "Folder" = "8:_BFFE962913E0469B831DC441C06424FE"
715 | "WorkingFolder" = "8:_081DC46CAF2440A9B36E63F234C8C20F"
716 | "Icon" = "8:_DCE045C3DFF24DBDAF1C9E9FE95EF6BB"
717 | "Feature" = "8:"
718 | }
719 | }
720 | "UserInterface"
721 | {
722 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_02A378249BE64E09A99EADF260D1930E"
723 | {
724 | "Name" = "8:#1902"
725 | "Sequence" = "3:1"
726 | "Attributes" = "3:3"
727 | "Dialogs"
728 | {
729 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E1D60FF4BAC049BA9143E6A015271CD6"
730 | {
731 | "Sequence" = "3:100"
732 | "DisplayName" = "8:Finished"
733 | "UseDynamicProperties" = "11:TRUE"
734 | "IsDependency" = "11:FALSE"
735 | "SourcePath" = "8:\\VsdFinishedDlg.wid"
736 | "Properties"
737 | {
738 | "BannerBitmap"
739 | {
740 | "Name" = "8:BannerBitmap"
741 | "DisplayName" = "8:#1001"
742 | "Description" = "8:#1101"
743 | "Type" = "3:8"
744 | "ContextData" = "8:Bitmap"
745 | "Attributes" = "3:4"
746 | "Setting" = "3:1"
747 | "UsePlugInResources" = "11:TRUE"
748 | }
749 | "UpdateText"
750 | {
751 | "Name" = "8:UpdateText"
752 | "DisplayName" = "8:#1058"
753 | "Description" = "8:#1158"
754 | "Type" = "3:15"
755 | "ContextData" = "8:"
756 | "Attributes" = "3:0"
757 | "Setting" = "3:1"
758 | "Value" = "8:#1258"
759 | "DefaultValue" = "8:#1258"
760 | "UsePlugInResources" = "11:TRUE"
761 | }
762 | }
763 | }
764 | }
765 | }
766 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0B3605B9EAA944819D87EB117C4F7FCB"
767 | {
768 | "Name" = "8:#1900"
769 | "Sequence" = "3:1"
770 | "Attributes" = "3:1"
771 | "Dialogs"
772 | {
773 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2D2CF4509C7B400ABEED0CD4E73F37C6"
774 | {
775 | "Sequence" = "3:300"
776 | "DisplayName" = "8:Confirm Installation"
777 | "UseDynamicProperties" = "11:TRUE"
778 | "IsDependency" = "11:FALSE"
779 | "SourcePath" = "8:\\VsdConfirmDlg.wid"
780 | "Properties"
781 | {
782 | "BannerBitmap"
783 | {
784 | "Name" = "8:BannerBitmap"
785 | "DisplayName" = "8:#1001"
786 | "Description" = "8:#1101"
787 | "Type" = "3:8"
788 | "ContextData" = "8:Bitmap"
789 | "Attributes" = "3:4"
790 | "Setting" = "3:1"
791 | "UsePlugInResources" = "11:TRUE"
792 | }
793 | }
794 | }
795 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_555D5E2372F945BBB42527D88A866D65"
796 | {
797 | "Sequence" = "3:200"
798 | "DisplayName" = "8:Installation Folder"
799 | "UseDynamicProperties" = "11:TRUE"
800 | "IsDependency" = "11:FALSE"
801 | "SourcePath" = "8:\\VsdFolderDlg.wid"
802 | "Properties"
803 | {
804 | "BannerBitmap"
805 | {
806 | "Name" = "8:BannerBitmap"
807 | "DisplayName" = "8:#1001"
808 | "Description" = "8:#1101"
809 | "Type" = "3:8"
810 | "ContextData" = "8:Bitmap"
811 | "Attributes" = "3:4"
812 | "Setting" = "3:1"
813 | "UsePlugInResources" = "11:TRUE"
814 | }
815 | "InstallAllUsersVisible"
816 | {
817 | "Name" = "8:InstallAllUsersVisible"
818 | "DisplayName" = "8:#1059"
819 | "Description" = "8:#1159"
820 | "Type" = "3:5"
821 | "ContextData" = "8:1;True=1;False=0"
822 | "Attributes" = "3:0"
823 | "Setting" = "3:0"
824 | "Value" = "3:1"
825 | "DefaultValue" = "3:1"
826 | "UsePlugInResources" = "11:TRUE"
827 | }
828 | }
829 | }
830 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_910A2F6A603F415293E8A7CCE257A539"
831 | {
832 | "Sequence" = "3:100"
833 | "DisplayName" = "8:Welcome"
834 | "UseDynamicProperties" = "11:TRUE"
835 | "IsDependency" = "11:FALSE"
836 | "SourcePath" = "8:\\VsdWelcomeDlg.wid"
837 | "Properties"
838 | {
839 | "BannerBitmap"
840 | {
841 | "Name" = "8:BannerBitmap"
842 | "DisplayName" = "8:#1001"
843 | "Description" = "8:#1101"
844 | "Type" = "3:8"
845 | "ContextData" = "8:Bitmap"
846 | "Attributes" = "3:4"
847 | "Setting" = "3:1"
848 | "UsePlugInResources" = "11:TRUE"
849 | }
850 | "CopyrightWarning"
851 | {
852 | "Name" = "8:CopyrightWarning"
853 | "DisplayName" = "8:#1002"
854 | "Description" = "8:#1102"
855 | "Type" = "3:3"
856 | "ContextData" = "8:"
857 | "Attributes" = "3:0"
858 | "Setting" = "3:1"
859 | "Value" = "8:#1202"
860 | "DefaultValue" = "8:#1202"
861 | "UsePlugInResources" = "11:TRUE"
862 | }
863 | "Welcome"
864 | {
865 | "Name" = "8:Welcome"
866 | "DisplayName" = "8:#1003"
867 | "Description" = "8:#1103"
868 | "Type" = "3:3"
869 | "ContextData" = "8:"
870 | "Attributes" = "3:0"
871 | "Setting" = "3:1"
872 | "Value" = "8:#1203"
873 | "DefaultValue" = "8:#1203"
874 | "UsePlugInResources" = "11:TRUE"
875 | }
876 | }
877 | }
878 | }
879 | }
880 | "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_195B1AE49FCC472BA153672CADD140BD"
881 | {
882 | "UseDynamicProperties" = "11:FALSE"
883 | "IsDependency" = "11:FALSE"
884 | "SourcePath" = "8:\\VsdUserInterface.wim"
885 | }
886 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_19EC52AD65E4484287B9FD9157C6CABE"
887 | {
888 | "Name" = "8:#1902"
889 | "Sequence" = "3:2"
890 | "Attributes" = "3:3"
891 | "Dialogs"
892 | {
893 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_AA22B2C12EF442E3AB4E02E4B544AD51"
894 | {
895 | "Sequence" = "3:100"
896 | "DisplayName" = "8:Finished"
897 | "UseDynamicProperties" = "11:TRUE"
898 | "IsDependency" = "11:FALSE"
899 | "SourcePath" = "8:\\VsdAdminFinishedDlg.wid"
900 | "Properties"
901 | {
902 | "BannerBitmap"
903 | {
904 | "Name" = "8:BannerBitmap"
905 | "DisplayName" = "8:#1001"
906 | "Description" = "8:#1101"
907 | "Type" = "3:8"
908 | "ContextData" = "8:Bitmap"
909 | "Attributes" = "3:4"
910 | "Setting" = "3:1"
911 | "UsePlugInResources" = "11:TRUE"
912 | }
913 | }
914 | }
915 | }
916 | }
917 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_29A7B4B178C646C6A06B0507155DB0BD"
918 | {
919 | "Name" = "8:#1901"
920 | "Sequence" = "3:2"
921 | "Attributes" = "3:2"
922 | "Dialogs"
923 | {
924 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_AE11F511C02F409690BE940E72986FAD"
925 | {
926 | "Sequence" = "3:100"
927 | "DisplayName" = "8:Progress"
928 | "UseDynamicProperties" = "11:TRUE"
929 | "IsDependency" = "11:FALSE"
930 | "SourcePath" = "8:\\VsdAdminProgressDlg.wid"
931 | "Properties"
932 | {
933 | "BannerBitmap"
934 | {
935 | "Name" = "8:BannerBitmap"
936 | "DisplayName" = "8:#1001"
937 | "Description" = "8:#1101"
938 | "Type" = "3:8"
939 | "ContextData" = "8:Bitmap"
940 | "Attributes" = "3:4"
941 | "Setting" = "3:1"
942 | "UsePlugInResources" = "11:TRUE"
943 | }
944 | "ShowProgress"
945 | {
946 | "Name" = "8:ShowProgress"
947 | "DisplayName" = "8:#1009"
948 | "Description" = "8:#1109"
949 | "Type" = "3:5"
950 | "ContextData" = "8:1;True=1;False=0"
951 | "Attributes" = "3:0"
952 | "Setting" = "3:0"
953 | "Value" = "3:1"
954 | "DefaultValue" = "3:1"
955 | "UsePlugInResources" = "11:TRUE"
956 | }
957 | }
958 | }
959 | }
960 | }
961 | "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_90580666C4874ED3B9A9C59B38E22221"
962 | {
963 | "UseDynamicProperties" = "11:FALSE"
964 | "IsDependency" = "11:FALSE"
965 | "SourcePath" = "8:\\VsdBasicDialogs.wim"
966 | }
967 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_A7453A11538D48F195A1A6E62A7F10C9"
968 | {
969 | "Name" = "8:#1900"
970 | "Sequence" = "3:2"
971 | "Attributes" = "3:1"
972 | "Dialogs"
973 | {
974 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9DABE14336284F9BA58F27272527ED7C"
975 | {
976 | "Sequence" = "3:300"
977 | "DisplayName" = "8:Confirm Installation"
978 | "UseDynamicProperties" = "11:TRUE"
979 | "IsDependency" = "11:FALSE"
980 | "SourcePath" = "8:\\VsdAdminConfirmDlg.wid"
981 | "Properties"
982 | {
983 | "BannerBitmap"
984 | {
985 | "Name" = "8:BannerBitmap"
986 | "DisplayName" = "8:#1001"
987 | "Description" = "8:#1101"
988 | "Type" = "3:8"
989 | "ContextData" = "8:Bitmap"
990 | "Attributes" = "3:4"
991 | "Setting" = "3:1"
992 | "UsePlugInResources" = "11:TRUE"
993 | }
994 | }
995 | }
996 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B298037EAA1A46FCB606E0BA0D87C651"
997 | {
998 | "Sequence" = "3:100"
999 | "DisplayName" = "8:Welcome"
1000 | "UseDynamicProperties" = "11:TRUE"
1001 | "IsDependency" = "11:FALSE"
1002 | "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid"
1003 | "Properties"
1004 | {
1005 | "BannerBitmap"
1006 | {
1007 | "Name" = "8:BannerBitmap"
1008 | "DisplayName" = "8:#1001"
1009 | "Description" = "8:#1101"
1010 | "Type" = "3:8"
1011 | "ContextData" = "8:Bitmap"
1012 | "Attributes" = "3:4"
1013 | "Setting" = "3:1"
1014 | "UsePlugInResources" = "11:TRUE"
1015 | }
1016 | "CopyrightWarning"
1017 | {
1018 | "Name" = "8:CopyrightWarning"
1019 | "DisplayName" = "8:#1002"
1020 | "Description" = "8:#1102"
1021 | "Type" = "3:3"
1022 | "ContextData" = "8:"
1023 | "Attributes" = "3:0"
1024 | "Setting" = "3:1"
1025 | "Value" = "8:#1202"
1026 | "DefaultValue" = "8:#1202"
1027 | "UsePlugInResources" = "11:TRUE"
1028 | }
1029 | "Welcome"
1030 | {
1031 | "Name" = "8:Welcome"
1032 | "DisplayName" = "8:#1003"
1033 | "Description" = "8:#1103"
1034 | "Type" = "3:3"
1035 | "ContextData" = "8:"
1036 | "Attributes" = "3:0"
1037 | "Setting" = "3:1"
1038 | "Value" = "8:#1203"
1039 | "DefaultValue" = "8:#1203"
1040 | "UsePlugInResources" = "11:TRUE"
1041 | }
1042 | }
1043 | }
1044 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_DC52B0C72873457597C855562F7AABC6"
1045 | {
1046 | "Sequence" = "3:200"
1047 | "DisplayName" = "8:Installation Folder"
1048 | "UseDynamicProperties" = "11:TRUE"
1049 | "IsDependency" = "11:FALSE"
1050 | "SourcePath" = "8:\\VsdAdminFolderDlg.wid"
1051 | "Properties"
1052 | {
1053 | "BannerBitmap"
1054 | {
1055 | "Name" = "8:BannerBitmap"
1056 | "DisplayName" = "8:#1001"
1057 | "Description" = "8:#1101"
1058 | "Type" = "3:8"
1059 | "ContextData" = "8:Bitmap"
1060 | "Attributes" = "3:4"
1061 | "Setting" = "3:1"
1062 | "UsePlugInResources" = "11:TRUE"
1063 | }
1064 | }
1065 | }
1066 | }
1067 | }
1068 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F1F9A266A98945A4B58CF1DDEFD2C8B5"
1069 | {
1070 | "Name" = "8:#1901"
1071 | "Sequence" = "3:1"
1072 | "Attributes" = "3:2"
1073 | "Dialogs"
1074 | {
1075 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_030B6DADEED44D08A065888F59D0A3AF"
1076 | {
1077 | "Sequence" = "3:100"
1078 | "DisplayName" = "8:Progress"
1079 | "UseDynamicProperties" = "11:TRUE"
1080 | "IsDependency" = "11:FALSE"
1081 | "SourcePath" = "8:\\VsdProgressDlg.wid"
1082 | "Properties"
1083 | {
1084 | "BannerBitmap"
1085 | {
1086 | "Name" = "8:BannerBitmap"
1087 | "DisplayName" = "8:#1001"
1088 | "Description" = "8:#1101"
1089 | "Type" = "3:8"
1090 | "ContextData" = "8:Bitmap"
1091 | "Attributes" = "3:4"
1092 | "Setting" = "3:1"
1093 | "UsePlugInResources" = "11:TRUE"
1094 | }
1095 | "ShowProgress"
1096 | {
1097 | "Name" = "8:ShowProgress"
1098 | "DisplayName" = "8:#1009"
1099 | "Description" = "8:#1109"
1100 | "Type" = "3:5"
1101 | "ContextData" = "8:1;True=1;False=0"
1102 | "Attributes" = "3:0"
1103 | "Setting" = "3:0"
1104 | "Value" = "3:1"
1105 | "DefaultValue" = "3:1"
1106 | "UsePlugInResources" = "11:TRUE"
1107 | }
1108 | }
1109 | }
1110 | }
1111 | }
1112 | }
1113 | "MergeModule"
1114 | {
1115 | }
1116 | "ProjectOutput"
1117 | {
1118 | }
1119 | }
1120 | }
1121 |
--------------------------------------------------------------------------------