├── .gitignore
├── src
├── MibewTray
│ ├── sound.au
│ ├── icons
│ │ ├── App.ico
│ │ ├── Notify.ico
│ │ ├── Options.ico
│ │ ├── Notify_offl.ico
│ │ └── about_head.bmp
│ ├── toolbarImages
│ │ ├── hide.bmp
│ │ ├── history.bmp
│ │ ├── options.bmp
│ │ ├── refresh.bmp
│ │ └── visitors.bmp
│ ├── options
│ │ ├── OptionPanel.cs
│ │ ├── OptionsSoundsPanel.cs
│ │ ├── About.cs
│ │ ├── OptionsGeneralPanel.cs
│ │ ├── OptionsConnectionPanel.cs
│ │ ├── OptionsSoundsPanel.Designer.cs
│ │ ├── OptionsDialog.cs
│ │ ├── OptionsGeneralPanel.Designer.cs
│ │ ├── OptionsDialog.Designer.cs
│ │ ├── About.Designer.cs
│ │ ├── OptionsConnectionPanel.Designer.cs
│ │ ├── OptionsSoundsPanel.resx
│ │ ├── OptionsDialog.resx
│ │ ├── OptionsGeneralPanel.resx
│ │ └── OptionsConnectionPanel.resx
│ ├── mibewTray.csproj.user
│ ├── AssemblyInfo.cs
│ ├── LockNotificationForm.cs
│ ├── Options.cs
│ ├── App.Designer.cs
│ ├── Main.cs
│ ├── App.resx
│ ├── Main.Designer.cs
│ ├── mibewTray.csproj
│ └── Main.resx
├── MibewInstaller
│ └── mibew.bmp
└── mibewTray.sln
├── .gitattributes
├── README.md
└── LICENSE
/.gitignore:
--------------------------------------------------------------------------------
1 | bin
2 | mibew.ini
3 | .DS_Store
4 |
--------------------------------------------------------------------------------
/src/MibewTray/sound.au:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/sound.au
--------------------------------------------------------------------------------
/src/MibewTray/icons/App.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/icons/App.ico
--------------------------------------------------------------------------------
/src/MibewInstaller/mibew.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewInstaller/mibew.bmp
--------------------------------------------------------------------------------
/src/MibewTray/icons/Notify.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/icons/Notify.ico
--------------------------------------------------------------------------------
/src/MibewTray/icons/Options.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/icons/Options.ico
--------------------------------------------------------------------------------
/src/MibewTray/icons/Notify_offl.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/icons/Notify_offl.ico
--------------------------------------------------------------------------------
/src/MibewTray/icons/about_head.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/icons/about_head.bmp
--------------------------------------------------------------------------------
/src/MibewTray/toolbarImages/hide.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/toolbarImages/hide.bmp
--------------------------------------------------------------------------------
/src/MibewTray/toolbarImages/history.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/toolbarImages/history.bmp
--------------------------------------------------------------------------------
/src/MibewTray/toolbarImages/options.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/toolbarImages/options.bmp
--------------------------------------------------------------------------------
/src/MibewTray/toolbarImages/refresh.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/toolbarImages/refresh.bmp
--------------------------------------------------------------------------------
/src/MibewTray/toolbarImages/visitors.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mibew/tray/master/src/MibewTray/toolbarImages/visitors.bmp
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.php text
2 | *.pl text
3 | properties text
4 | *.html text
5 | *.css text
6 | *.tpl text
7 | *.xml text
8 | *.java text
9 | *.sh eol=lf
10 | *.txt text
11 | .project text
12 | .classpath text
13 | .buildpath text
14 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionPanel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 | using System.Resources;
5 |
6 | namespace webImTray {
7 |
8 | public delegate void ModifiedEvent();
9 |
10 | interface OptionsPanel {
11 | void initialize();
12 | void apply();
13 | string getDescription();
14 |
15 | event ModifiedEvent PanelModified;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/MibewTray/mibewTray.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | F:\mibewtray\MibewInstaller\|publish\
5 |
6 |
7 |
8 |
9 |
10 | en-US
11 | false
12 |
13 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsSoundsPanel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Drawing;
5 | using System.Data;
6 | using System.Text;
7 | using System.Windows.Forms;
8 | using System.Resources;
9 |
10 | namespace webImTray {
11 | public partial class OptionsSoundsPanel : UserControl, OptionsPanel {
12 | public event ModifiedEvent PanelModified;
13 |
14 | public OptionsSoundsPanel() {
15 | InitializeComponent();
16 | }
17 |
18 | private void OptionsSoundsPanel_Load(object sender, EventArgs e) {
19 |
20 | }
21 |
22 | void OptionsPanel.apply() {
23 | }
24 |
25 | void OptionsPanel.initialize() {
26 | }
27 |
28 | string OptionsPanel.getDescription() {
29 | return "Sound";
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/mibewTray.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 10.00
2 | # Visual Studio 2008
3 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mibewTray", "MibewTray\mibewTray.csproj", "{21C7CA72-7F77-416C-9FD7-2DF748443E46}"
4 | EndProject
5 | Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "mibewInstaller", "MibewInstaller\MibewInstaller.vdproj", "{3B38021D-FBAB-4038-8220-F8C569A3C658}"
6 | EndProject
7 | Global
8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
9 | Debug|Any CPU = Debug|Any CPU
10 | Release|Any CPU = Release|Any CPU
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {21C7CA72-7F77-416C-9FD7-2DF748443E46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
14 | {21C7CA72-7F77-416C-9FD7-2DF748443E46}.Debug|Any CPU.Build.0 = Debug|Any CPU
15 | {21C7CA72-7F77-416C-9FD7-2DF748443E46}.Release|Any CPU.ActiveCfg = Release|Any CPU
16 | {21C7CA72-7F77-416C-9FD7-2DF748443E46}.Release|Any CPU.Build.0 = Release|Any CPU
17 | {3B38021D-FBAB-4038-8220-F8C569A3C658}.Debug|Any CPU.ActiveCfg = Debug
18 | {3B38021D-FBAB-4038-8220-F8C569A3C658}.Release|Any CPU.ActiveCfg = Release
19 | EndGlobalSection
20 | GlobalSection(SolutionProperties) = preSolution
21 | HideSolutionNode = FALSE
22 | EndGlobalSection
23 | EndGlobal
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Mibew Tray
2 |
3 | Mibew Tray is a .NET desktop application designed to work with Mibew Messenger
4 | live support application.
5 |
6 | Mibew Tray should be treated as a separate desktop application tied
7 | to 1.6.x branch of Mibew Messenger by technology as well as by ideology.
8 |
9 | ## Mibew Tray requirements
10 |
11 | 1. .NET Framework 3.5
12 | 2. Windows Installer 3.1
13 |
14 | ## Terms of Use
15 |
16 | Mibew Tray is a part of the Mibew project and licensed under the
17 | terms of [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
18 |
19 | ## Other repositories of the Mibew project
20 |
21 | 1. [Mibew Messenger core repository](https://github.com/Mibew/mibew)
22 | 2. [Mibew Messenger i18n repository](https://github.com/Mibew/i18n)
23 | 3. [Mibew Messenger design repository](https://github.com/Mibew/design)
24 | 4. [Mibew Java applications repository](https://github.com/Mibew/java)
25 |
--------------------------------------------------------------------------------
/src/MibewTray/options/About.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Drawing;
5 | using System.Data;
6 | using System.Text;
7 | using System.Windows.Forms;
8 | using System.Resources;
9 |
10 | namespace webImTray {
11 | public partial class About : UserControl, OptionsPanel {
12 | public About() {
13 | InitializeComponent();
14 | }
15 |
16 | #region OptionsPanel Members
17 |
18 | public void initialize() {
19 | }
20 |
21 | public void apply() {
22 | }
23 |
24 | public string getDescription() {
25 | return "About";
26 | }
27 |
28 | #endregion
29 |
30 | private void i_services_ru_link(object sender, LinkLabelLinkClickedEventArgs e) {
31 | System.Diagnostics.Process.Start("http://mibew.org/");
32 | }
33 |
34 | private void webim_ru_link(object sender, LinkLabelLinkClickedEventArgs e) {
35 | System.Diagnostics.Process.Start("http://mibew.org/");
36 | }
37 |
38 | public event ModifiedEvent PanelModified;
39 |
40 | private void About_Load(object sender, EventArgs e)
41 | {
42 |
43 | }
44 |
45 | private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
46 | {
47 | System.Diagnostics.Process.Start("http://mibew.org/forums/");
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsGeneralPanel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Drawing;
5 | using System.Data;
6 | using System.Text;
7 | using System.Windows.Forms;
8 | using System.Resources;
9 | using System.Threading;
10 | using System.Globalization;
11 |
12 | namespace webImTray {
13 | public partial class OptionsGeneralPanel : UserControl, OptionsPanel {
14 | bool modified = false;
15 | public event ModifiedEvent PanelModified;
16 |
17 | public OptionsGeneralPanel() {
18 | InitializeComponent();
19 | }
20 |
21 | private void checkboxChanged(object sender, EventArgs e) {
22 | modified = true;
23 | PanelModified.Invoke();
24 | }
25 |
26 | void OptionsPanel.apply() {
27 | if (modified) {
28 | Options.ShowInTaskBar = showInTaskBar.Checked;
29 | Options.AutoStart = autoStart.Checked;
30 | Options.HideAfterStart = hideWhenStarted.Checked;
31 |
32 | // Save locale
33 | // Options.AppLocale = ...
34 |
35 | // Apply locale
36 | // Thread.CurrentThread.CurrentUICulture = Options.englishCulture;
37 |
38 | // Update UI according to the current locale
39 | OptionsDialog.updateUI();
40 | modified = false;
41 | }
42 | }
43 |
44 | void OptionsPanel.initialize() {
45 | showInTaskBar.Checked = Options.ShowInTaskBar;
46 | autoStart.Checked = Options.AutoStart;
47 | hideWhenStarted.Checked = Options.HideAfterStart;
48 |
49 | // Restore previously set locale
50 | languageSelector.Items.Add("English");
51 | languageSelector.SelectedIndex = 0;
52 |
53 | // Update UI according to the current locale
54 | OptionsDialog.updateUI();
55 |
56 | modified = false;
57 | }
58 |
59 | string OptionsPanel.getDescription() {
60 | return "General";
61 | }
62 |
63 | private void radioEnglish_CheckedChanged(object sender, EventArgs e) {
64 | modified = true;
65 | PanelModified.Invoke();
66 | }
67 |
68 | private void radioRussian_CheckedChanged(object sender, EventArgs e) {
69 | modified = true;
70 | PanelModified.Invoke();
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsConnectionPanel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Drawing;
5 | using System.Data;
6 | using System.Text;
7 | using System.Windows.Forms;
8 | using System.Resources;
9 |
10 | namespace webImTray {
11 | public partial class OptionsConnectionPanel : UserControl, OptionsPanel {
12 | bool modified = false;
13 |
14 | public OptionsConnectionPanel() {
15 | InitializeComponent();
16 | }
17 |
18 | void OptionsPanel.apply() {
19 | if (modified) {
20 | Options.WebIMServer = webimServer.Text;
21 | Options.DisconnectOnLock = autoDisconnect.Checked;
22 | if (forceRefresh.Checked) {
23 | Options.ForceRefreshTime = forceRefreshTime.Value;
24 | } else {
25 | Options.ForceRefreshTime = 0;
26 | }
27 | }
28 | }
29 |
30 | void OptionsPanel.initialize() {
31 | webimServer.Text = Options.WebIMServer;
32 | autoDisconnect.Checked = Options.DisconnectOnLock;
33 |
34 | decimal refreshTime = Options.ForceRefreshTime;
35 | forceRefreshTime.Enabled = forceRefresh.Checked = refreshTime != 0;
36 | forceRefreshTime.Value = refreshTime != 0 ? refreshTime : 15;
37 |
38 | modified = false;
39 | }
40 |
41 | string OptionsPanel.getDescription() {
42 | return "Connection";
43 | }
44 |
45 | public event ModifiedEvent PanelModified;
46 |
47 | private void webimServer_TextChanged(object sender, EventArgs e) {
48 | modified = true;
49 | PanelModified.Invoke();
50 | }
51 |
52 | private void forceRefresh_CheckedChanged(object sender, EventArgs e) {
53 | modified = true;
54 | PanelModified.Invoke();
55 | forceRefreshTime.Enabled = forceRefresh.Checked;
56 | }
57 |
58 | private void forceRefreshTime_Changed(object sender, EventArgs e) {
59 | modified = true;
60 | PanelModified.Invoke();
61 | }
62 |
63 | private void showUserPropertiesOnline(object sender, LinkLabelLinkClickedEventArgs e) {
64 | System.Diagnostics.Process.Start(Options.WebIMServer + Options.SETTINGS_PAGE);
65 | }
66 |
67 | private void autoDisconnect_CheckedChanged(object sender, EventArgs e) {
68 | modified = true;
69 | PanelModified.Invoke();
70 | }
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/src/MibewTray/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 |
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 | //
9 | [assembly: AssemblyTitle("Mibew Tray")]
10 | [assembly: AssemblyDescription("Tray application for Mibew Messenger users")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("Mibew Community")]
13 | [assembly: AssemblyProduct("Mibew Tray")]
14 | [assembly: AssemblyCopyright("")]
15 | [assembly: AssemblyTrademark("")]
16 | [assembly: AssemblyCulture("")]
17 |
18 | //
19 | // Version information for an assembly consists of the following four values:
20 | //
21 | // Major Version
22 | // Minor Version
23 | // Build Number
24 | // Revision
25 | //
26 | // You can specify all the values or you can default the Revision and Build Numbers
27 | // by using the '*' as shown below:
28 |
29 | [assembly: AssemblyVersion("1.1.1")]
30 |
31 | //
32 | // In order to sign your assembly you must specify a key to use. Refer to the
33 | // Microsoft .NET Framework documentation for more information on assembly signing.
34 | //
35 | // Use the attributes below to control which key is used for signing.
36 | //
37 | // Notes:
38 | // (*) If no key is specified, the assembly is not signed.
39 | // (*) KeyName refers to a key that has been installed in the Crypto Service
40 | // Provider (CSP) on your machine. KeyFile refers to a file which contains
41 | // a key.
42 | // (*) If the KeyFile and the KeyName values are both specified, the
43 | // following processing occurs:
44 | // (1) If the KeyName can be found in the CSP, that key is used.
45 | // (2) If the KeyName does not exist and the KeyFile does exist, the key
46 | // in the KeyFile is installed into the CSP and used.
47 | // (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
48 | // When specifying the KeyFile, the location of the KeyFile should be
49 | // relative to the project output directory which is
50 | // %Project Directory%\obj\. For example, if your KeyFile is
51 | // located in the project directory, you would specify the AssemblyKeyFile
52 | // attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
53 | // (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
54 | // documentation for more information on this.
55 | //
56 | [assembly: AssemblyDelaySign(false)]
57 | [assembly: AssemblyKeyFile("")]
58 | [assembly: AssemblyKeyName("")]
59 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsSoundsPanel.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace webImTray {
2 | partial class OptionsSoundsPanel {
3 | ///
4 | /// Required designer variable.
5 | ///
6 | private System.ComponentModel.IContainer components = null;
7 |
8 | ///
9 | /// Clean up any resources being used.
10 | ///
11 | /// true if managed resources should be disposed; otherwise, false.
12 | protected override void Dispose(bool disposing) {
13 | if (disposing && (components != null)) {
14 | components.Dispose();
15 | }
16 | base.Dispose(disposing);
17 | }
18 |
19 | #region Component Designer generated code
20 |
21 | ///
22 | /// Required method for Designer support - do not modify
23 | /// the contents of this method with the code editor.
24 | ///
25 | private void InitializeComponent() {
26 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionsSoundsPanel));
27 | this.groupBox1 = new System.Windows.Forms.GroupBox();
28 | this.playSoundOnVisitor = new System.Windows.Forms.CheckBox();
29 | this.groupBox1.SuspendLayout();
30 | this.SuspendLayout();
31 | //
32 | // groupBox1
33 | //
34 | this.groupBox1.Controls.Add(this.playSoundOnVisitor);
35 | resources.ApplyResources(this.groupBox1, "groupBox1");
36 | this.groupBox1.Name = "groupBox1";
37 | this.groupBox1.TabStop = false;
38 | //
39 | // playSoundOnVisitor
40 | //
41 | resources.ApplyResources(this.playSoundOnVisitor, "playSoundOnVisitor");
42 | this.playSoundOnVisitor.Name = "playSoundOnVisitor";
43 | this.playSoundOnVisitor.UseVisualStyleBackColor = true;
44 | //
45 | // OptionsSoundsPanel
46 | //
47 | resources.ApplyResources(this, "$this");
48 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
49 | this.Controls.Add(this.groupBox1);
50 | this.Name = "OptionsSoundsPanel";
51 | this.Load += new System.EventHandler(this.OptionsSoundsPanel_Load);
52 | this.groupBox1.ResumeLayout(false);
53 | this.groupBox1.PerformLayout();
54 | this.ResumeLayout(false);
55 |
56 | }
57 |
58 | #endregion
59 |
60 | private System.Windows.Forms.GroupBox groupBox1;
61 | private System.Windows.Forms.CheckBox playSoundOnVisitor;
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/src/MibewTray/LockNotificationForm.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.Runtime.InteropServices;
4 | using System.Windows.Forms;
5 |
6 | namespace webImTray {
7 |
8 | ///
9 | /// Base class for a form that wants to be notified of Windows
10 | /// session lock / unlock events
11 | ///
12 | public class LockNotificationForm : Form {
13 | // from wtsapi32.h
14 | private const int NotifyForThisSession = 0;
15 |
16 | // from winuser.h
17 | private const int SessionChangeMessage = 0x02B1;
18 | private const int SessionLockParam = 0x7;
19 | private const int SessionUnlockParam = 0x8;
20 |
21 | [DllImport("wtsapi32.dll")]
22 | private static extern bool WTSRegisterSessionNotification(IntPtr hWnd, int dwFlags);
23 |
24 | [DllImport("wtsapi32.dll")]
25 | private static extern bool WTSUnRegisterSessionNotification(IntPtr hWnd);
26 |
27 | // flag to indicate if we've registered for notifications or not
28 | private bool registered = false;
29 |
30 | ///
31 | /// Is this form receiving lock / unlock notifications
32 | ///
33 | protected bool ReceivingLockNotifications {
34 | get { return registered; }
35 | }
36 |
37 | ///
38 | /// Unregister for event notifications
39 | ///
40 | protected override void Dispose(bool disposing) {
41 | if (registered) {
42 | WTSUnRegisterSessionNotification(Handle);
43 | registered = false;
44 | }
45 |
46 | base.Dispose(disposing);
47 | return;
48 | }
49 |
50 | ///
51 | /// Register for event notifications
52 | ///
53 | protected override void OnHandleCreated(EventArgs e) {
54 | base.OnHandleCreated(e);
55 |
56 | // WtsRegisterSessionNotification requires Windows XP or higher
57 | bool haveXp = Environment.OSVersion.Platform == PlatformID.Win32NT &&
58 | (Environment.OSVersion.Version.Major > 5 ||
59 | (Environment.OSVersion.Version.Major == 5 &&
60 | Environment.OSVersion.Version.Minor >= 1));
61 |
62 | if (haveXp)
63 | registered = WTSRegisterSessionNotification(Handle, NotifyForThisSession);
64 |
65 | return;
66 | }
67 |
68 | ///
69 | /// The windows session has been locked
70 | ///
71 | protected virtual void OnSessionLock() {
72 | return;
73 | }
74 |
75 | ///
76 | /// The windows session has been unlocked
77 | ///
78 | protected virtual void OnSessionUnlock() {
79 | return;
80 | }
81 |
82 | ///
83 | /// Process windows messages
84 | ///
85 | protected override void WndProc(ref Message m) {
86 | // check for session change notifications
87 | if (m.Msg == SessionChangeMessage) {
88 | if (m.WParam.ToInt32() == SessionLockParam)
89 | OnSessionLock();
90 | else if (m.WParam.ToInt32() == SessionUnlockParam)
91 | OnSessionUnlock();
92 | }
93 |
94 | base.WndProc(ref m);
95 | return;
96 | }
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsDialog.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 | using System.Resources;
9 | using System.Globalization;
10 |
11 | namespace webImTray {
12 | public partial class OptionsDialog : Form {
13 |
14 | static OptionsPanel[] panels = new OptionsPanel[] {
15 | new OptionsGeneralPanel(),
16 | new OptionsConnectionPanel(),
17 | // new OptionsSoundsPanel(),
18 | new About()
19 | };
20 |
21 | OptionsPanel currentPanel = null;
22 |
23 | // FIXME: we have only one OptionsDialog instance
24 | // thus it's safe to keep it in a static variable.
25 | private static OptionsDialog currentInstance = null;
26 |
27 | public OptionsDialog() {
28 | InitializeComponent();
29 | currentInstance = this;
30 | }
31 |
32 | private void changePanel(OptionsPanel panel) {
33 | if (currentPanel == panel)
34 | return;
35 |
36 | if (currentPanel != null)
37 | container.Controls.Clear();
38 | currentPanel = panel;
39 | container.Controls.Add((Control)currentPanel);
40 | }
41 |
42 | private void updatePageSelector() {
43 | bool inited = false;
44 | pageSelector.Items.Clear();
45 | foreach (OptionsPanel p in panels) {
46 | ListViewItem item = new ListViewItem(p.getDescription());
47 | if (!inited) {
48 | item.Selected = true;
49 | changePanel(p);
50 | inited = true;
51 | }
52 | pageSelector.Items.Add(item);
53 | }
54 | }
55 | private void optionsDialogLoaded(object sender, EventArgs e) {
56 | updatePageSelector();
57 | foreach (OptionsPanel p in panels) {
58 | p.PanelModified += new ModifiedEvent(panelModified);
59 | p.initialize();
60 | }
61 | apply.Enabled = false;
62 | }
63 |
64 | void panelModified() {
65 | apply.Enabled = true;
66 | }
67 |
68 | OptionsPanel getPanel(string s) {
69 | foreach (OptionsPanel p in panels) {
70 | if (s.Equals(p.getDescription()))
71 | return p;
72 | }
73 |
74 | return null;
75 | }
76 |
77 | private void panelSelectionChanged(object sender, EventArgs e) {
78 | if (pageSelector.SelectedItems.Count == 1) {
79 | ListViewItem item = pageSelector.SelectedItems[0];
80 | OptionsPanel panel = getPanel(item.Text);
81 | if (panel != null) {
82 | changePanel(panel);
83 | }
84 | }
85 | }
86 |
87 | private void openWebIMSite(object sender, LinkLabelLinkClickedEventArgs e) {
88 | System.Diagnostics.Process.Start("http://mibew.org/");
89 | }
90 |
91 | private void applyChanges() {
92 | foreach (OptionsPanel p in panels) {
93 | p.apply();
94 | }
95 | }
96 |
97 | private void ok_Click(object sender, EventArgs e) {
98 | applyChanges();
99 | Close();
100 | }
101 |
102 | private void apply_Click(object sender, EventArgs e) {
103 | applyChanges();
104 | apply.Enabled = false;
105 | }
106 |
107 | public static void updateUI() {
108 | currentInstance.updatePageSelector();
109 | }
110 | }
111 | }
--------------------------------------------------------------------------------
/src/MibewTray/Options.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 | using System.Windows.Forms;
5 | using System.Resources;
6 | using System.Threading;
7 | using System.Globalization;
8 |
9 | namespace webImTray {
10 | class Options {
11 |
12 | public const string DEFAULT_SERVER = "http://demo.mibew.org";
13 | public const string PENDING_USERS_PAGE = "/operator/users.php?nomenu";
14 | public const string HISTORY_PAGE = "/operator/history.php";
15 | public const string SETTINGS_PAGE = "/operator/operators.php";
16 | private const string HTTP_PREFIX = "http://";
17 |
18 | public static string WebIMServer {
19 | get {
20 | String server = Application.UserAppDataRegistry.GetValue("server", DEFAULT_SERVER).ToString();
21 | while (server.EndsWith("/")) {
22 | server = server.Substring(0, server.Length - 1);
23 | }
24 | if (!server.StartsWith(HTTP_PREFIX)) {
25 | return DEFAULT_SERVER;
26 | }
27 | return server;
28 | }
29 | set {
30 | if (!value.StartsWith(HTTP_PREFIX))
31 | return;
32 | Application.UserAppDataRegistry.SetValue("server", value.ToString());
33 | }
34 | }
35 |
36 | public static decimal ForceRefreshTime {
37 | get {
38 | return Decimal.Parse(Application.UserAppDataRegistry.GetValue("refreshtime", "15").ToString());
39 | }
40 | set {
41 | Application.UserAppDataRegistry.SetValue("refreshtime", value.ToString());
42 | }
43 | }
44 |
45 | public static bool DisconnectOnLock {
46 | get {
47 | return Application.UserAppDataRegistry.GetValue("disconnectonlock", "true").ToString().ToLower().Equals("true");
48 | }
49 | set {
50 | Application.UserAppDataRegistry.SetValue("disconnectonlock", value.ToString());
51 | }
52 | }
53 |
54 | public static bool ShowInTaskBar {
55 | get {
56 | return Application.UserAppDataRegistry.GetValue("showintaskbar", "false").ToString().ToLower().Equals("true");
57 | }
58 | set {
59 | Application.UserAppDataRegistry.SetValue("showintaskbar", value.ToString());
60 | }
61 | }
62 |
63 | public static bool HideAfterStart {
64 | get {
65 | return Application.UserAppDataRegistry.GetValue("hideafterstart", "false").ToString().ToLower().Equals("true");
66 | }
67 | set {
68 | Application.UserAppDataRegistry.SetValue("hideafterstart", value.ToString());
69 | }
70 | }
71 |
72 | private const string autoRunUserRegistry = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
73 | private const string autoRunRegistry = "HKEY_CURRENT_USER\\" + autoRunUserRegistry;
74 | private const string autoRunKey = "mibewTray.exe";
75 |
76 | public static bool AutoStart {
77 | get {
78 | return Microsoft.Win32.Registry.GetValue(autoRunRegistry, autoRunKey, "").ToString().Length > 0;
79 | }
80 | set {
81 | if (value) {
82 | Microsoft.Win32.Registry.SetValue(autoRunRegistry, autoRunKey, Application.ExecutablePath);
83 | } else {
84 | try {
85 | Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(autoRunUserRegistry, true);
86 | key.DeleteValue(autoRunKey, false);
87 | key.Close();
88 | }
89 | catch (Exception) {
90 | Microsoft.Win32.Registry.SetValue(autoRunRegistry, autoRunKey, "");
91 | }
92 | }
93 | }
94 | }
95 |
96 | public static bool HideMainWindow {
97 | get {
98 | if (forceShowWindow)
99 | return false;
100 | return HideAfterStart;
101 | }
102 | }
103 |
104 |
105 | static bool forceShowWindow = false;
106 |
107 | internal static void parseParameters(string[] args) {
108 | if (args.Length == 1 && args[0].Equals("/show"))
109 | forceShowWindow = true;
110 | }
111 | }
112 | }
113 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsGeneralPanel.Designer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace webImTray {
4 | partial class OptionsGeneralPanel {
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 | if (disposing && (components != null)) {
16 | components.Dispose();
17 | }
18 | base.Dispose(disposing);
19 | }
20 |
21 | #region Component Designer generated code
22 |
23 | ///
24 | /// Required method for Designer support - do not modify
25 | /// the contents of this method with the code editor.
26 | ///
27 | private void InitializeComponent() {
28 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionsGeneralPanel));
29 | this.groupBox1 = new System.Windows.Forms.GroupBox();
30 | this.hideWhenStarted = new System.Windows.Forms.CheckBox();
31 | this.autoStart = new System.Windows.Forms.CheckBox();
32 | this.showInTaskBar = new System.Windows.Forms.CheckBox();
33 | this.languageBox = new System.Windows.Forms.GroupBox();
34 | this.languageSelector = new System.Windows.Forms.ComboBox();
35 | this.groupBox1.SuspendLayout();
36 | this.languageBox.SuspendLayout();
37 | this.SuspendLayout();
38 | //
39 | // groupBox1
40 | //
41 | this.groupBox1.Controls.Add(this.hideWhenStarted);
42 | this.groupBox1.Controls.Add(this.autoStart);
43 | this.groupBox1.Controls.Add(this.showInTaskBar);
44 | resources.ApplyResources(this.groupBox1, "groupBox1");
45 | this.groupBox1.Name = "groupBox1";
46 | this.groupBox1.TabStop = false;
47 | //
48 | // hideWhenStarted
49 | //
50 | resources.ApplyResources(this.hideWhenStarted, "hideWhenStarted");
51 | this.hideWhenStarted.Name = "hideWhenStarted";
52 | this.hideWhenStarted.UseVisualStyleBackColor = true;
53 | this.hideWhenStarted.CheckedChanged += new System.EventHandler(this.checkboxChanged);
54 | //
55 | // autoStart
56 | //
57 | resources.ApplyResources(this.autoStart, "autoStart");
58 | this.autoStart.Name = "autoStart";
59 | this.autoStart.UseVisualStyleBackColor = true;
60 | this.autoStart.CheckedChanged += new System.EventHandler(this.checkboxChanged);
61 | //
62 | // showInTaskBar
63 | //
64 | resources.ApplyResources(this.showInTaskBar, "showInTaskBar");
65 | this.showInTaskBar.Name = "showInTaskBar";
66 | this.showInTaskBar.UseVisualStyleBackColor = true;
67 | this.showInTaskBar.CheckedChanged += new System.EventHandler(this.checkboxChanged);
68 | //
69 | // languageBox
70 | //
71 | this.languageBox.Controls.Add(this.languageSelector);
72 | resources.ApplyResources(this.languageBox, "languageBox");
73 | this.languageBox.Name = "languageBox";
74 | this.languageBox.TabStop = false;
75 | //
76 | // languageSelector
77 | //
78 | this.languageSelector.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
79 | resources.ApplyResources(this.languageSelector, "languageSelector");
80 | this.languageSelector.FormattingEnabled = true;
81 | this.languageSelector.Name = "languageSelector";
82 | //
83 | // OptionsGeneralPanel
84 | //
85 | resources.ApplyResources(this, "$this");
86 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
87 | this.Controls.Add(this.languageBox);
88 | this.Controls.Add(this.groupBox1);
89 | this.Name = "OptionsGeneralPanel";
90 | this.groupBox1.ResumeLayout(false);
91 | this.groupBox1.PerformLayout();
92 | this.languageBox.ResumeLayout(false);
93 | this.ResumeLayout(false);
94 |
95 | }
96 |
97 | #endregion
98 |
99 | private System.Windows.Forms.GroupBox groupBox1;
100 | private System.Windows.Forms.CheckBox showInTaskBar;
101 | private System.Windows.Forms.CheckBox autoStart;
102 | private System.Windows.Forms.CheckBox hideWhenStarted;
103 | private System.Windows.Forms.GroupBox languageBox;
104 | private System.Windows.Forms.ComboBox languageSelector;
105 | }
106 | }
107 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsDialog.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace webImTray {
2 | partial class OptionsDialog {
3 | ///
4 | /// Required designer variable.
5 | ///
6 | private System.ComponentModel.IContainer components = null;
7 |
8 | ///
9 | /// Clean up any resources being used.
10 | ///
11 | /// true if managed resources should be disposed; otherwise, false.
12 | protected override void Dispose(bool disposing) {
13 | if (disposing && (components != null)) {
14 | components.Dispose();
15 | }
16 | base.Dispose(disposing);
17 | }
18 |
19 | #region Windows Form Designer generated code
20 |
21 | ///
22 | /// Required method for Designer support - do not modify
23 | /// the contents of this method with the code editor.
24 | ///
25 | private void InitializeComponent() {
26 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionsDialog));
27 | this.pageSelector = new System.Windows.Forms.ListView();
28 | this.ok = new System.Windows.Forms.Button();
29 | this.cancel = new System.Windows.Forms.Button();
30 | this.apply = new System.Windows.Forms.Button();
31 | this.container = new System.Windows.Forms.Panel();
32 | this.linkLabel1 = new System.Windows.Forms.LinkLabel();
33 | this.SuspendLayout();
34 | //
35 | // pageSelector
36 | //
37 | resources.ApplyResources(this.pageSelector, "pageSelector");
38 | this.pageSelector.FullRowSelect = true;
39 | this.pageSelector.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
40 | this.pageSelector.HideSelection = false;
41 | this.pageSelector.MultiSelect = false;
42 | this.pageSelector.Name = "pageSelector";
43 | this.pageSelector.ShowGroups = false;
44 | this.pageSelector.UseCompatibleStateImageBehavior = false;
45 | this.pageSelector.View = System.Windows.Forms.View.List;
46 | this.pageSelector.SelectedIndexChanged += new System.EventHandler(this.panelSelectionChanged);
47 | //
48 | // ok
49 | //
50 | resources.ApplyResources(this.ok, "ok");
51 | this.ok.Name = "ok";
52 | this.ok.UseVisualStyleBackColor = true;
53 | this.ok.Click += new System.EventHandler(this.ok_Click);
54 | //
55 | // cancel
56 | //
57 | this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
58 | resources.ApplyResources(this.cancel, "cancel");
59 | this.cancel.Name = "cancel";
60 | this.cancel.UseVisualStyleBackColor = true;
61 | //
62 | // apply
63 | //
64 | resources.ApplyResources(this.apply, "apply");
65 | this.apply.Name = "apply";
66 | this.apply.UseVisualStyleBackColor = true;
67 | this.apply.Click += new System.EventHandler(this.apply_Click);
68 | //
69 | // container
70 | //
71 | resources.ApplyResources(this.container, "container");
72 | this.container.Name = "container";
73 | //
74 | // linkLabel1
75 | //
76 | resources.ApplyResources(this.linkLabel1, "linkLabel1");
77 | this.linkLabel1.Name = "linkLabel1";
78 | this.linkLabel1.TabStop = true;
79 | this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.openWebIMSite);
80 | //
81 | // OptionsDialog
82 | //
83 | this.AcceptButton = this.ok;
84 | resources.ApplyResources(this, "$this");
85 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
86 | this.CancelButton = this.cancel;
87 | this.Controls.Add(this.linkLabel1);
88 | this.Controls.Add(this.container);
89 | this.Controls.Add(this.apply);
90 | this.Controls.Add(this.cancel);
91 | this.Controls.Add(this.ok);
92 | this.Controls.Add(this.pageSelector);
93 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
94 | this.MaximizeBox = false;
95 | this.MinimizeBox = false;
96 | this.Name = "OptionsDialog";
97 | this.Load += new System.EventHandler(this.optionsDialogLoaded);
98 | this.ResumeLayout(false);
99 | this.PerformLayout();
100 |
101 | }
102 |
103 | #endregion
104 |
105 | private System.Windows.Forms.ListView pageSelector;
106 | private System.Windows.Forms.Button ok;
107 | private System.Windows.Forms.Button cancel;
108 | private System.Windows.Forms.Button apply;
109 | private System.Windows.Forms.Panel container;
110 | private System.Windows.Forms.LinkLabel linkLabel1;
111 | }
112 | }
--------------------------------------------------------------------------------
/src/MibewTray/App.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.18034
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 webImTray {
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 App {
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 App() {
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("webImTray.App", typeof(App).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 hide {
67 | get {
68 | object obj = ResourceManager.GetObject("hide", 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 history {
77 | get {
78 | object obj = ResourceManager.GetObject("history", resourceCulture);
79 | return ((System.Drawing.Bitmap)(obj));
80 | }
81 | }
82 |
83 | ///
84 | /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
85 | ///
86 | internal static System.Drawing.Icon Notify {
87 | get {
88 | object obj = ResourceManager.GetObject("Notify", resourceCulture);
89 | return ((System.Drawing.Icon)(obj));
90 | }
91 | }
92 |
93 | ///
94 | /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
95 | ///
96 | internal static System.Drawing.Icon Notify_offl {
97 | get {
98 | object obj = ResourceManager.GetObject("Notify_offl", resourceCulture);
99 | return ((System.Drawing.Icon)(obj));
100 | }
101 | }
102 |
103 | ///
104 | /// Looks up a localized resource of type System.Drawing.Bitmap.
105 | ///
106 | internal static System.Drawing.Bitmap options {
107 | get {
108 | object obj = ResourceManager.GetObject("options", 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 refresh {
117 | get {
118 | object obj = ResourceManager.GetObject("refresh", 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 visitors {
127 | get {
128 | object obj = ResourceManager.GetObject("visitors", resourceCulture);
129 | return ((System.Drawing.Bitmap)(obj));
130 | }
131 | }
132 | }
133 | }
134 |
--------------------------------------------------------------------------------
/src/MibewTray/options/About.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace webImTray {
2 | partial class About {
3 | ///
4 | /// Required designer variable.
5 | ///
6 | private System.ComponentModel.IContainer components = null;
7 |
8 | ///
9 | /// Clean up any resources being used.
10 | ///
11 | /// true if managed resources should be disposed; otherwise, false.
12 | protected override void Dispose(bool disposing) {
13 | if (disposing && (components != null)) {
14 | components.Dispose();
15 | }
16 | base.Dispose(disposing);
17 | }
18 |
19 | #region Component Designer generated code
20 |
21 | ///
22 | /// Required method for Designer support - do not modify
23 | /// the contents of this method with the code editor.
24 | ///
25 | private void InitializeComponent() {
26 | System.Windows.Forms.Label label3;
27 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(About));
28 | System.Windows.Forms.Label label4;
29 | System.Windows.Forms.Label label5;
30 | System.Windows.Forms.Label label6;
31 | this.label1 = new System.Windows.Forms.Label();
32 | this.label2 = new System.Windows.Forms.Label();
33 | this.pictureBox1 = new System.Windows.Forms.PictureBox();
34 | this.linkLabel1 = new System.Windows.Forms.LinkLabel();
35 | this.linkLabel2 = new System.Windows.Forms.LinkLabel();
36 | this.linkLabel3 = new System.Windows.Forms.LinkLabel();
37 | label3 = new System.Windows.Forms.Label();
38 | label4 = new System.Windows.Forms.Label();
39 | label5 = new System.Windows.Forms.Label();
40 | label6 = new System.Windows.Forms.Label();
41 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
42 | this.SuspendLayout();
43 | //
44 | // label3
45 | //
46 | resources.ApplyResources(label3, "label3");
47 | label3.Name = "label3";
48 | //
49 | // label4
50 | //
51 | resources.ApplyResources(label4, "label4");
52 | label4.Name = "label4";
53 | //
54 | // label5
55 | //
56 | resources.ApplyResources(label5, "label5");
57 | label5.Name = "label5";
58 | //
59 | // label6
60 | //
61 | resources.ApplyResources(label6, "label6");
62 | label6.Name = "label6";
63 | //
64 | // label1
65 | //
66 | resources.ApplyResources(this.label1, "label1");
67 | this.label1.ForeColor = System.Drawing.Color.Maroon;
68 | this.label1.Name = "label1";
69 | //
70 | // label2
71 | //
72 | resources.ApplyResources(this.label2, "label2");
73 | this.label2.Name = "label2";
74 | //
75 | // pictureBox1
76 | //
77 | resources.ApplyResources(this.pictureBox1, "pictureBox1");
78 | this.pictureBox1.Name = "pictureBox1";
79 | this.pictureBox1.TabStop = false;
80 | //
81 | // linkLabel1
82 | //
83 | resources.ApplyResources(this.linkLabel1, "linkLabel1");
84 | this.linkLabel1.Name = "linkLabel1";
85 | this.linkLabel1.TabStop = true;
86 | this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.webim_ru_link);
87 | //
88 | // linkLabel2
89 | //
90 | resources.ApplyResources(this.linkLabel2, "linkLabel2");
91 | this.linkLabel2.Name = "linkLabel2";
92 | this.linkLabel2.TabStop = true;
93 | //
94 | // linkLabel3
95 | //
96 | resources.ApplyResources(this.linkLabel3, "linkLabel3");
97 | this.linkLabel3.Name = "linkLabel3";
98 | this.linkLabel3.TabStop = true;
99 | this.linkLabel3.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel3_LinkClicked);
100 | //
101 | // About
102 | //
103 | resources.ApplyResources(this, "$this");
104 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
105 | this.BackColor = System.Drawing.Color.White;
106 | this.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
107 | this.Controls.Add(this.linkLabel3);
108 | this.Controls.Add(label6);
109 | this.Controls.Add(this.linkLabel2);
110 | this.Controls.Add(label5);
111 | this.Controls.Add(this.linkLabel1);
112 | this.Controls.Add(label4);
113 | this.Controls.Add(label3);
114 | this.Controls.Add(this.pictureBox1);
115 | this.Controls.Add(this.label2);
116 | this.Controls.Add(this.label1);
117 | this.Name = "About";
118 | this.Load += new System.EventHandler(this.About_Load);
119 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
120 | this.ResumeLayout(false);
121 | this.PerformLayout();
122 |
123 | }
124 |
125 | #endregion
126 |
127 | private System.Windows.Forms.Label label1;
128 | private System.Windows.Forms.Label label2;
129 | private System.Windows.Forms.PictureBox pictureBox1;
130 | private System.Windows.Forms.LinkLabel linkLabel1;
131 | private System.Windows.Forms.LinkLabel linkLabel2;
132 | private System.Windows.Forms.LinkLabel linkLabel3;
133 | }
134 | }
135 |
--------------------------------------------------------------------------------
/src/MibewTray/Main.cs:
--------------------------------------------------------------------------------
1 | //#define DEBUG
2 |
3 | using System;
4 | using System.Drawing;
5 | using System.Collections;
6 | using System.ComponentModel;
7 | using System.Windows.Forms;
8 | using System.Data;
9 | using System.Threading;
10 |
11 | namespace webImTray {
12 |
13 | public partial class MainWindow : LockNotificationForm {
14 | public MainWindow() {
15 | InitializeComponent();
16 | PostInitialize();
17 | }
18 |
19 | [STAThread]
20 | static void Main(string[] args) {
21 | Options.parseParameters(args);
22 | Application.Run(new MainWindow());
23 | }
24 |
25 | void PostInitialize() {
26 |
27 | webBrowser1.DocumentTitleChanged += new EventHandler(webBrowser1_DocumentTitleChanged);
28 |
29 | if (Options.ShowInTaskBar) {
30 | this.ShowInTaskbar = true;
31 | }
32 |
33 | if (Options.HideMainWindow) {
34 | this.WindowState = FormWindowState.Minimized;
35 | }
36 |
37 | navigateThere();
38 | setupReloadTimer();
39 |
40 | // Restore previously set locale
41 | // TODO Thread.CurrentThread.CurrentUICulture =
42 | }
43 |
44 | void navigateThere() {
45 | #if DEBUG
46 | webBrowser1.Navigate("http://demo.mibew.org/operator/users.php?nomenu");
47 | #else
48 | webBrowser1.Navigate(Options.WebIMServer + Options.PENDING_USERS_PAGE);
49 | #endif
50 | }
51 |
52 | void navigateBlank() {
53 | webBrowser1.Navigate("about:blank");
54 | }
55 |
56 | private void showWindow() {
57 | this.Visible = true;
58 | this.Activate();
59 | this.WindowState = FormWindowState.Normal;
60 | }
61 |
62 | private void hideWindow() {
63 | this.Visible = false;
64 | }
65 |
66 | private void notifyIconClick(object sender, System.Windows.Forms.MouseEventArgs e) {
67 | if (e.Button != MouseButtons.Left)
68 | return;
69 |
70 | bool wasVisible = this.Visible;
71 |
72 | if (wasVisible)
73 | hideWindow();
74 | else
75 | showWindow();
76 | }
77 |
78 | bool forceClosing = false;
79 |
80 | private void menuExitClick(object sender, System.EventArgs e) {
81 | forceClosing = true;
82 | this.Close();
83 | }
84 |
85 | private void gotFocus(object sender, System.EventArgs e) {
86 | if (this.Visible == false) {
87 | showWindow();
88 | }
89 | }
90 |
91 | void webBrowser1_DocumentTitleChanged(object sender, EventArgs e) {
92 | string s = webBrowser1.DocumentTitle;
93 | if (s == null || s.Length == 0) {
94 | s = "Mibew Messenger [loading]";
95 | this.notifyIcon.Icon = App.Notify_offl;
96 | } else {
97 | this.notifyIcon.Icon = App.Notify;
98 | }
99 | this.Text = s;
100 | }
101 |
102 | private void Client_FormClosing(object sender, FormClosingEventArgs e) {
103 | if( !forceClosing && e.CloseReason == CloseReason.UserClosing
104 | && MessageBox.Show(this, "Do you want to quit?",
105 | "Mibew Messenger",
106 | MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) {
107 | e.Cancel = true;
108 | }
109 | }
110 |
111 | private void webBrowser1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
112 | if (e.KeyCode == Keys.Escape && this.Visible) {
113 | hideWindow();
114 | }
115 | }
116 |
117 | private void optionsMenu_Click(object sender, EventArgs e) {
118 | OptionsDialog dialog = new OptionsDialog();
119 | dialog.ShowDialog(this);
120 |
121 | // apply options
122 | if (Options.ShowInTaskBar != this.ShowInTaskbar)
123 | this.ShowInTaskbar = !this.ShowInTaskbar;
124 |
125 | setupReloadTimer();
126 | }
127 |
128 | private void toolNavigate_Click(object sender, EventArgs e) {
129 | navigateThere();
130 | }
131 |
132 | private void timer1_Tick(object sender, EventArgs e) {
133 | navigateThere();
134 | }
135 |
136 | private void MainWindow_Shown(object sender, EventArgs e) {
137 | if (Options.HideMainWindow) {
138 | hideWindow();
139 | }
140 | }
141 |
142 | private void setupReloadTimer() {
143 | int reloadSettings = (int)Options.ForceRefreshTime;
144 | if (reloadSettings != currentReloadTime) {
145 | if( currentReloadTime > 0 )
146 | reloadPageTimer.Stop();
147 |
148 | if (reloadSettings != 0) {
149 | reloadPageTimer.Interval = reloadSettings * 60 * 1000;
150 | reloadPageTimer.Start();
151 | }
152 |
153 | currentReloadTime = reloadSettings;
154 | }
155 | }
156 |
157 | private int currentReloadTime = 0;
158 |
159 | private void toolHideWindow_Click(object sender, EventArgs e) {
160 | hideWindow();
161 | }
162 |
163 | protected override void OnSessionLock() {
164 | if (Options.DisconnectOnLock) {
165 | navigateBlank();
166 | }
167 | }
168 |
169 | protected override void OnSessionUnlock() {
170 | if (Options.DisconnectOnLock) {
171 | navigateThere();
172 | }
173 | }
174 |
175 | private void optionsToolStripMenuItem1_Click(object sender, EventArgs e) {
176 | OptionsDialog dialog = new OptionsDialog();
177 | dialog.ShowDialog(this);
178 |
179 | // apply options
180 | if (Options.ShowInTaskBar != this.ShowInTaskbar) {
181 | this.ShowInTaskbar = !this.ShowInTaskbar;
182 | }
183 |
184 | setupReloadTimer();
185 | }
186 |
187 | private void refreshToolStripMenuItem_Click(object sender, EventArgs e) {
188 | webBrowser1.Refresh();
189 | }
190 |
191 | private void hideWindowToolStripMenuItem_Click(object sender, EventArgs e) {
192 | hideWindow();
193 | }
194 |
195 | private void FormResize(object sender, System.EventArgs e) {
196 | if (FormWindowState.Minimized == WindowState) {
197 | hideWindow();
198 | }
199 | }
200 |
201 | private void hideApp(object sender, EventArgs e)
202 | {
203 | hideWindow();
204 | }
205 |
206 | private void toolHistory_Click(object sender, EventArgs e)
207 | {
208 | webBrowser1.Navigate(Options.WebIMServer + Options.HISTORY_PAGE);
209 | }
210 | }
211 | }
212 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsConnectionPanel.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace webImTray {
2 | partial class OptionsConnectionPanel {
3 | ///
4 | /// Required designer variable.
5 | ///
6 | private System.ComponentModel.IContainer components = null;
7 |
8 | ///
9 | /// Clean up any resources being used.
10 | ///
11 | /// true if managed resources should be disposed; otherwise, false.
12 | protected override void Dispose(bool disposing) {
13 | if (disposing && (components != null)) {
14 | components.Dispose();
15 | }
16 | base.Dispose(disposing);
17 | }
18 |
19 | #region Component Designer generated code
20 |
21 | ///
22 | /// Required method for Designer support - do not modify
23 | /// the contents of this method with the code editor.
24 | ///
25 | private void InitializeComponent() {
26 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionsConnectionPanel));
27 | this.groupBox1 = new System.Windows.Forms.GroupBox();
28 | this.label2 = new System.Windows.Forms.Label();
29 | this.forceRefreshTime = new System.Windows.Forms.NumericUpDown();
30 | this.forceRefresh = new System.Windows.Forms.CheckBox();
31 | this.autoDesconnectOnSS = new System.Windows.Forms.CheckBox();
32 | this.webimServer = new System.Windows.Forms.TextBox();
33 | this.label1 = new System.Windows.Forms.Label();
34 | this.autoDisconnect = new System.Windows.Forms.CheckBox();
35 | this.groupBox2 = new System.Windows.Forms.GroupBox();
36 | this.showUserPreferences = new System.Windows.Forms.LinkLabel();
37 | this.groupBox1.SuspendLayout();
38 | ((System.ComponentModel.ISupportInitialize)(this.forceRefreshTime)).BeginInit();
39 | this.groupBox2.SuspendLayout();
40 | this.SuspendLayout();
41 | //
42 | // groupBox1
43 | //
44 | this.groupBox1.Controls.Add(this.label2);
45 | this.groupBox1.Controls.Add(this.forceRefreshTime);
46 | this.groupBox1.Controls.Add(this.forceRefresh);
47 | this.groupBox1.Controls.Add(this.autoDesconnectOnSS);
48 | this.groupBox1.Controls.Add(this.webimServer);
49 | this.groupBox1.Controls.Add(this.label1);
50 | this.groupBox1.Controls.Add(this.autoDisconnect);
51 | resources.ApplyResources(this.groupBox1, "groupBox1");
52 | this.groupBox1.Name = "groupBox1";
53 | this.groupBox1.TabStop = false;
54 | //
55 | // label2
56 | //
57 | resources.ApplyResources(this.label2, "label2");
58 | this.label2.Name = "label2";
59 | //
60 | // forceRefreshTime
61 | //
62 | resources.ApplyResources(this.forceRefreshTime, "forceRefreshTime");
63 | this.forceRefreshTime.Maximum = new decimal(new int[] {
64 | 120,
65 | 0,
66 | 0,
67 | 0});
68 | this.forceRefreshTime.Minimum = new decimal(new int[] {
69 | 5,
70 | 0,
71 | 0,
72 | 0});
73 | this.forceRefreshTime.Name = "forceRefreshTime";
74 | this.forceRefreshTime.Value = new decimal(new int[] {
75 | 15,
76 | 0,
77 | 0,
78 | 0});
79 | this.forceRefreshTime.ValueChanged += new System.EventHandler(this.forceRefreshTime_Changed);
80 | //
81 | // forceRefresh
82 | //
83 | resources.ApplyResources(this.forceRefresh, "forceRefresh");
84 | this.forceRefresh.Name = "forceRefresh";
85 | this.forceRefresh.UseVisualStyleBackColor = true;
86 | this.forceRefresh.CheckedChanged += new System.EventHandler(this.forceRefresh_CheckedChanged);
87 | //
88 | // autoDesconnectOnSS
89 | //
90 | resources.ApplyResources(this.autoDesconnectOnSS, "autoDesconnectOnSS");
91 | this.autoDesconnectOnSS.Name = "autoDesconnectOnSS";
92 | this.autoDesconnectOnSS.UseVisualStyleBackColor = true;
93 | //
94 | // webimServer
95 | //
96 | resources.ApplyResources(this.webimServer, "webimServer");
97 | this.webimServer.Name = "webimServer";
98 | this.webimServer.TextChanged += new System.EventHandler(this.webimServer_TextChanged);
99 | //
100 | // label1
101 | //
102 | resources.ApplyResources(this.label1, "label1");
103 | this.label1.Name = "label1";
104 | //
105 | // autoDisconnect
106 | //
107 | resources.ApplyResources(this.autoDisconnect, "autoDisconnect");
108 | this.autoDisconnect.Name = "autoDisconnect";
109 | this.autoDisconnect.UseVisualStyleBackColor = true;
110 | this.autoDisconnect.CheckedChanged += new System.EventHandler(this.autoDisconnect_CheckedChanged);
111 | //
112 | // groupBox2
113 | //
114 | this.groupBox2.Controls.Add(this.showUserPreferences);
115 | resources.ApplyResources(this.groupBox2, "groupBox2");
116 | this.groupBox2.Name = "groupBox2";
117 | this.groupBox2.TabStop = false;
118 | //
119 | // showUserPreferences
120 | //
121 | resources.ApplyResources(this.showUserPreferences, "showUserPreferences");
122 | this.showUserPreferences.Name = "showUserPreferences";
123 | this.showUserPreferences.TabStop = true;
124 | this.showUserPreferences.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.showUserPropertiesOnline);
125 | //
126 | // OptionsConnectionPanel
127 | //
128 | resources.ApplyResources(this, "$this");
129 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
130 | this.Controls.Add(this.groupBox2);
131 | this.Controls.Add(this.groupBox1);
132 | this.Name = "OptionsConnectionPanel";
133 | this.groupBox1.ResumeLayout(false);
134 | this.groupBox1.PerformLayout();
135 | ((System.ComponentModel.ISupportInitialize)(this.forceRefreshTime)).EndInit();
136 | this.groupBox2.ResumeLayout(false);
137 | this.groupBox2.PerformLayout();
138 | this.ResumeLayout(false);
139 |
140 | }
141 |
142 | #endregion
143 |
144 | private System.Windows.Forms.GroupBox groupBox1;
145 | private System.Windows.Forms.Label label1;
146 | private System.Windows.Forms.CheckBox autoDisconnect;
147 | private System.Windows.Forms.CheckBox autoDesconnectOnSS;
148 | private System.Windows.Forms.TextBox webimServer;
149 | private System.Windows.Forms.GroupBox groupBox2;
150 | private System.Windows.Forms.LinkLabel showUserPreferences;
151 | private System.Windows.Forms.Label label2;
152 | private System.Windows.Forms.NumericUpDown forceRefreshTime;
153 | private System.Windows.Forms.CheckBox forceRefresh;
154 | }
155 | }
156 |
--------------------------------------------------------------------------------
/src/MibewTray/App.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | toolbarImages\hide.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
125 | toolbarImages\history.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
126 |
127 |
128 | icons\Notify.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
129 |
130 |
131 | icons\Notify_offl.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
132 |
133 |
134 | toolbarImages\options.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
135 |
136 |
137 | toolbarImages\refresh.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
138 |
139 |
140 | toolbarImages\visitors.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
141 |
142 |
--------------------------------------------------------------------------------
/src/MibewTray/Main.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace webImTray {
2 | partial class MainWindow {
3 | private System.Windows.Forms.NotifyIcon notifyIcon;
4 | private System.ComponentModel.IContainer components;
5 |
6 | protected override void Dispose(bool disposing) {
7 | if (disposing) {
8 | if (components != null) {
9 | components.Dispose();
10 | }
11 | }
12 | base.Dispose(disposing);
13 | }
14 |
15 | #region Windows Form Designer generated code
16 | ///
17 | /// Required method for Designer support - do not modify
18 | /// the contents of this method with the code editor.
19 | ///
20 | private void InitializeComponent() {
21 | this.components = new System.ComponentModel.Container();
22 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow));
23 | this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
24 | this.notifyMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
25 | this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
26 | this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
27 | this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
28 | this.webBrowser1 = new System.Windows.Forms.WebBrowser();
29 | this.reloadPageTimer = new System.Windows.Forms.Timer(this.components);
30 | this.menuStrip1 = new System.Windows.Forms.MenuStrip();
31 | this.visitorsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
32 | this.historyMenuItem = new System.Windows.Forms.ToolStripMenuItem();
33 | this.refreshToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
34 | this.optionsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
35 | this.hideToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
36 | this.notifyMenu.SuspendLayout();
37 | this.menuStrip1.SuspendLayout();
38 | this.SuspendLayout();
39 | //
40 | // notifyIcon
41 | //
42 | this.notifyIcon.ContextMenuStrip = this.notifyMenu;
43 | resources.ApplyResources(this.notifyIcon, "notifyIcon");
44 | this.notifyIcon.MouseDown += new System.Windows.Forms.MouseEventHandler(this.notifyIconClick);
45 | //
46 | // notifyMenu
47 | //
48 | this.notifyMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
49 | this.optionsToolStripMenuItem,
50 | this.toolStripMenuItem1,
51 | this.exitToolStripMenuItem});
52 | this.notifyMenu.Name = "notifyMenu";
53 | resources.ApplyResources(this.notifyMenu, "notifyMenu");
54 | //
55 | // optionsToolStripMenuItem
56 | //
57 | resources.ApplyResources(this.optionsToolStripMenuItem, "optionsToolStripMenuItem");
58 | this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
59 | this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsMenu_Click);
60 | //
61 | // toolStripMenuItem1
62 | //
63 | this.toolStripMenuItem1.Name = "toolStripMenuItem1";
64 | resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
65 | //
66 | // exitToolStripMenuItem
67 | //
68 | this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
69 | resources.ApplyResources(this.exitToolStripMenuItem, "exitToolStripMenuItem");
70 | this.exitToolStripMenuItem.Click += new System.EventHandler(this.menuExitClick);
71 | //
72 | // webBrowser1
73 | //
74 | resources.ApplyResources(this.webBrowser1, "webBrowser1");
75 | this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
76 | this.webBrowser1.Name = "webBrowser1";
77 | this.webBrowser1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.webBrowser1_PreviewKeyDown);
78 | //
79 | // reloadPageTimer
80 | //
81 | this.reloadPageTimer.Interval = 5000;
82 | this.reloadPageTimer.Tick += new System.EventHandler(this.timer1_Tick);
83 | //
84 | // menuStrip1
85 | //
86 | this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
87 | this.visitorsMenuItem,
88 | this.historyMenuItem,
89 | this.refreshToolStripMenuItem,
90 | this.optionsMenuItem,
91 | this.hideToolStripMenuItem});
92 | resources.ApplyResources(this.menuStrip1, "menuStrip1");
93 | this.menuStrip1.Name = "menuStrip1";
94 | this.menuStrip1.ShowItemToolTips = true;
95 | //
96 | // visitorsMenuItem
97 | //
98 | this.visitorsMenuItem.Image = global::webImTray.App.visitors;
99 | resources.ApplyResources(this.visitorsMenuItem, "visitorsMenuItem");
100 | this.visitorsMenuItem.Name = "visitorsMenuItem";
101 | this.visitorsMenuItem.Click += new System.EventHandler(this.toolNavigate_Click);
102 | //
103 | // historyMenuItem
104 | //
105 | this.historyMenuItem.Image = global::webImTray.App.history;
106 | resources.ApplyResources(this.historyMenuItem, "historyMenuItem");
107 | this.historyMenuItem.Name = "historyMenuItem";
108 | this.historyMenuItem.Click += new System.EventHandler(this.toolHistory_Click);
109 | //
110 | // refreshToolStripMenuItem
111 | //
112 | this.refreshToolStripMenuItem.Image = global::webImTray.App.refresh;
113 | resources.ApplyResources(this.refreshToolStripMenuItem, "refreshToolStripMenuItem");
114 | this.refreshToolStripMenuItem.Name = "refreshToolStripMenuItem";
115 | this.refreshToolStripMenuItem.Click += new System.EventHandler(this.refreshToolStripMenuItem_Click);
116 | //
117 | // optionsMenuItem
118 | //
119 | this.optionsMenuItem.Image = global::webImTray.App.options;
120 | resources.ApplyResources(this.optionsMenuItem, "optionsMenuItem");
121 | this.optionsMenuItem.Name = "optionsMenuItem";
122 | this.optionsMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem1_Click);
123 | //
124 | // hideToolStripMenuItem
125 | //
126 | this.hideToolStripMenuItem.Image = global::webImTray.App.hide;
127 | resources.ApplyResources(this.hideToolStripMenuItem, "hideToolStripMenuItem");
128 | this.hideToolStripMenuItem.Name = "hideToolStripMenuItem";
129 | this.hideToolStripMenuItem.Click += new System.EventHandler(this.hideApp);
130 | //
131 | // MainWindow
132 | //
133 | resources.ApplyResources(this, "$this");
134 | this.Controls.Add(this.webBrowser1);
135 | this.Controls.Add(this.menuStrip1);
136 | this.MainMenuStrip = this.menuStrip1;
137 | this.Name = "MainWindow";
138 | this.ShowInTaskbar = false;
139 | this.Shown += new System.EventHandler(this.MainWindow_Shown);
140 | this.GotFocus += new System.EventHandler(this.gotFocus);
141 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Client_FormClosing);
142 | this.Resize += new System.EventHandler(this.FormResize);
143 | this.notifyMenu.ResumeLayout(false);
144 | this.menuStrip1.ResumeLayout(false);
145 | this.menuStrip1.PerformLayout();
146 | this.ResumeLayout(false);
147 | this.PerformLayout();
148 |
149 | }
150 | #endregion
151 |
152 | private System.Windows.Forms.WebBrowser webBrowser1;
153 | private System.Windows.Forms.Timer reloadPageTimer;
154 | private System.Windows.Forms.ContextMenuStrip notifyMenu;
155 | private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
156 | private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
157 | private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
158 | private System.Windows.Forms.MenuStrip menuStrip1;
159 | private System.Windows.Forms.ToolStripMenuItem refreshToolStripMenuItem;
160 | private System.Windows.Forms.ToolStripMenuItem optionsMenuItem;
161 | private System.Windows.Forms.ToolStripMenuItem hideToolStripMenuItem;
162 | private System.Windows.Forms.ToolStripMenuItem visitorsMenuItem;
163 | private System.Windows.Forms.ToolStripMenuItem historyMenuItem;
164 |
165 | }
166 | }
167 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsSoundsPanel.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | True
123 |
124 |
125 | False
126 |
127 |
128 |
129 | Microsoft Sans Serif, 8.25pt
130 |
131 |
132 | 15, 28
133 |
134 |
135 | 171, 17
136 |
137 |
138 | 0
139 |
140 |
141 | Play sound when visitor comes
142 |
143 |
144 | playSoundOnVisitor
145 |
146 |
147 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
148 |
149 |
150 | groupBox1
151 |
152 |
153 | 0
154 |
155 |
156 | Tahoma, 9.75pt, style=Bold
157 |
158 |
159 | 3, 3
160 |
161 |
162 |
163 | 12, 12, 12, 12
164 |
165 |
166 | 368, 156
167 |
168 |
169 | 2
170 |
171 |
172 | Notifications
173 |
174 |
175 | groupBox1
176 |
177 |
178 | System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
179 |
180 |
181 | $this
182 |
183 |
184 | 0
185 |
186 |
187 | True
188 |
189 |
190 | 6, 13
191 |
192 |
193 | 374, 329
194 |
195 |
196 | OptionsSoundsPanel
197 |
198 |
199 | System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
200 |
201 |
--------------------------------------------------------------------------------
/src/MibewTray/mibewTray.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Local
5 | 9.0.21022
6 | 2.0
7 | {21C7CA72-7F77-416C-9FD7-2DF748443E46}
8 | Debug
9 | AnyCPU
10 | icons\App.ico
11 |
12 |
13 | mibewTray
14 |
15 |
16 | JScript
17 | Grid
18 | IE50
19 | false
20 | WinExe
21 | webImTray
22 | OnBuildSuccess
23 |
24 |
25 |
26 |
27 |
28 |
29 | 3.5
30 | v3.5
31 | false
32 | F:\mibewtray\MibewInstaller\
33 | true
34 | Disk
35 | false
36 | Foreground
37 | 7
38 | Days
39 | false
40 | false
41 | true
42 | 2
43 | 1.0.0.%2a
44 | false
45 | true
46 | true
47 |
48 |
49 | bin\Debug\
50 | false
51 | 285212672
52 | false
53 |
54 |
55 | DEBUG;TRACE
56 |
57 |
58 | true
59 | 4096
60 | false
61 |
62 |
63 | false
64 | false
65 | false
66 | false
67 | 4
68 | full
69 | prompt
70 |
71 |
72 | bin\Release\
73 | false
74 | 285212672
75 | false
76 |
77 |
78 | TRACE
79 |
80 |
81 | false
82 | 4096
83 | false
84 |
85 |
86 | true
87 | false
88 | false
89 | false
90 | 4
91 | none
92 | prompt
93 | AnyCPU
94 |
95 |
96 | 140A3DB550346C895737527D0E4FE4D49ED69092
97 |
98 |
99 | mibewTray_TemporaryKey.pfx
100 |
101 |
102 | true
103 |
104 |
105 | false
106 |
107 |
108 |
109 | System
110 |
111 |
112 | 3.5
113 |
114 |
115 | System.Data
116 |
117 |
118 | System.Drawing
119 |
120 |
121 | System.Windows.Forms
122 |
123 |
124 | System.XML
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 | True
139 | True
140 | App.resx
141 |
142 |
143 | Form
144 |
145 |
146 |
147 | UserControl
148 |
149 |
150 | About.cs
151 |
152 |
153 |
154 | UserControl
155 |
156 |
157 | OptionsGeneralPanel.cs
158 |
159 |
160 | Code
161 |
162 |
163 | Form
164 |
165 |
166 | Main.cs
167 |
168 |
169 | Form
170 |
171 |
172 | OptionsDialog.cs
173 |
174 |
175 | UserControl
176 |
177 |
178 | OptionsConnectionPanel.cs
179 |
180 |
181 | UserControl
182 |
183 |
184 | OptionsSoundsPanel.cs
185 |
186 |
187 |
188 | Designer
189 | ResXFileCodeGenerator
190 | App.Designer.cs
191 |
192 |
193 | Designer
194 | About.cs
195 |
196 |
197 | Designer
198 | OptionsGeneralPanel.cs
199 |
200 |
201 | Main.cs
202 | Designer
203 |
204 |
205 | Designer
206 | OptionsConnectionPanel.cs
207 |
208 |
209 | Designer
210 | OptionsDialog.cs
211 |
212 |
213 | Designer
214 | OptionsSoundsPanel.cs
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 | False
223 | .NET Framework 3.5 SP1 Client Profile
224 | false
225 |
226 |
227 | False
228 | .NET Framework 3.5 SP1
229 | true
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | Apache License
3 | Version 2.0, January 2004
4 | http://www.apache.org/licenses/
5 |
6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7 |
8 | 1. Definitions.
9 |
10 | "License" shall mean the terms and conditions for use, reproduction,
11 | and distribution as defined by Sections 1 through 9 of this document.
12 |
13 | "Licensor" shall mean the copyright owner or entity authorized by
14 | the copyright owner that is granting the License.
15 |
16 | "Legal Entity" shall mean the union of the acting entity and all
17 | other entities that control, are controlled by, or are under common
18 | control with that entity. For the purposes of this definition,
19 | "control" means (i) the power, direct or indirect, to cause the
20 | direction or management of such entity, whether by contract or
21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
22 | outstanding shares, or (iii) beneficial ownership of such entity.
23 |
24 | "You" (or "Your") shall mean an individual or Legal Entity
25 | exercising permissions granted by this License.
26 |
27 | "Source" form shall mean the preferred form for making modifications,
28 | including but not limited to software source code, documentation
29 | source, and configuration files.
30 |
31 | "Object" form shall mean any form resulting from mechanical
32 | transformation or translation of a Source form, including but
33 | not limited to compiled object code, generated documentation,
34 | and conversions to other media types.
35 |
36 | "Work" shall mean the work of authorship, whether in Source or
37 | Object form, made available under the License, as indicated by a
38 | copyright notice that is included in or attached to the work
39 | (an example is provided in the Appendix below).
40 |
41 | "Derivative Works" shall mean any work, whether in Source or Object
42 | form, that is based on (or derived from) the Work and for which the
43 | editorial revisions, annotations, elaborations, or other modifications
44 | represent, as a whole, an original work of authorship. For the purposes
45 | of this License, Derivative Works shall not include works that remain
46 | separable from, or merely link (or bind by name) to the interfaces of,
47 | the Work and Derivative Works thereof.
48 |
49 | "Contribution" shall mean any work of authorship, including
50 | the original version of the Work and any modifications or additions
51 | to that Work or Derivative Works thereof, that is intentionally
52 | submitted to Licensor for inclusion in the Work by the copyright owner
53 | or by an individual or Legal Entity authorized to submit on behalf of
54 | the copyright owner. For the purposes of this definition, "submitted"
55 | means any form of electronic, verbal, or written communication sent
56 | to the Licensor or its representatives, including but not limited to
57 | communication on electronic mailing lists, source code control systems,
58 | and issue tracking systems that are managed by, or on behalf of, the
59 | Licensor for the purpose of discussing and improving the Work, but
60 | excluding communication that is conspicuously marked or otherwise
61 | designated in writing by the copyright owner as "Not a Contribution."
62 |
63 | "Contributor" shall mean Licensor and any individual or Legal Entity
64 | on behalf of whom a Contribution has been received by Licensor and
65 | subsequently incorporated within the Work.
66 |
67 | 2. Grant of Copyright License. Subject to the terms and conditions of
68 | this License, each Contributor hereby grants to You a perpetual,
69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70 | copyright license to reproduce, prepare Derivative Works of,
71 | publicly display, publicly perform, sublicense, and distribute the
72 | Work and such Derivative Works in Source or Object form.
73 |
74 | 3. Grant of Patent License. Subject to the terms and conditions of
75 | this License, each Contributor hereby grants to You a perpetual,
76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77 | (except as stated in this section) patent license to make, have made,
78 | use, offer to sell, sell, import, and otherwise transfer the Work,
79 | where such license applies only to those patent claims licensable
80 | by such Contributor that are necessarily infringed by their
81 | Contribution(s) alone or by combination of their Contribution(s)
82 | with the Work to which such Contribution(s) was submitted. If You
83 | institute patent litigation against any entity (including a
84 | cross-claim or counterclaim in a lawsuit) alleging that the Work
85 | or a Contribution incorporated within the Work constitutes direct
86 | or contributory patent infringement, then any patent licenses
87 | granted to You under this License for that Work shall terminate
88 | as of the date such litigation is filed.
89 |
90 | 4. Redistribution. You may reproduce and distribute copies of the
91 | Work or Derivative Works thereof in any medium, with or without
92 | modifications, and in Source or Object form, provided that You
93 | meet the following conditions:
94 |
95 | (a) You must give any other recipients of the Work or
96 | Derivative Works a copy of this License; and
97 |
98 | (b) You must cause any modified files to carry prominent notices
99 | stating that You changed the files; and
100 |
101 | (c) You must retain, in the Source form of any Derivative Works
102 | that You distribute, all copyright, patent, trademark, and
103 | attribution notices from the Source form of the Work,
104 | excluding those notices that do not pertain to any part of
105 | the Derivative Works; and
106 |
107 | (d) If the Work includes a "NOTICE" text file as part of its
108 | distribution, then any Derivative Works that You distribute must
109 | include a readable copy of the attribution notices contained
110 | within such NOTICE file, excluding those notices that do not
111 | pertain to any part of the Derivative Works, in at least one
112 | of the following places: within a NOTICE text file distributed
113 | as part of the Derivative Works; within the Source form or
114 | documentation, if provided along with the Derivative Works; or,
115 | within a display generated by the Derivative Works, if and
116 | wherever such third-party notices normally appear. The contents
117 | of the NOTICE file are for informational purposes only and
118 | do not modify the License. You may add Your own attribution
119 | notices within Derivative Works that You distribute, alongside
120 | or as an addendum to the NOTICE text from the Work, provided
121 | that such additional attribution notices cannot be construed
122 | as modifying the License.
123 |
124 | You may add Your own copyright statement to Your modifications and
125 | may provide additional or different license terms and conditions
126 | for use, reproduction, or distribution of Your modifications, or
127 | for any such Derivative Works as a whole, provided Your use,
128 | reproduction, and distribution of the Work otherwise complies with
129 | the conditions stated in this License.
130 |
131 | 5. Submission of Contributions. Unless You explicitly state otherwise,
132 | any Contribution intentionally submitted for inclusion in the Work
133 | by You to the Licensor shall be under the terms and conditions of
134 | this License, without any additional terms or conditions.
135 | Notwithstanding the above, nothing herein shall supersede or modify
136 | the terms of any separate license agreement you may have executed
137 | with Licensor regarding such Contributions.
138 |
139 | 6. Trademarks. This License does not grant permission to use the trade
140 | names, trademarks, service marks, or product names of the Licensor,
141 | except as required for reasonable and customary use in describing the
142 | origin of the Work and reproducing the content of the NOTICE file.
143 |
144 | 7. Disclaimer of Warranty. Unless required by applicable law or
145 | agreed to in writing, Licensor provides the Work (and each
146 | Contributor provides its Contributions) on an "AS IS" BASIS,
147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148 | implied, including, without limitation, any warranties or conditions
149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150 | PARTICULAR PURPOSE. You are solely responsible for determining the
151 | appropriateness of using or redistributing the Work and assume any
152 | risks associated with Your exercise of permissions under this License.
153 |
154 | 8. Limitation of Liability. In no event and under no legal theory,
155 | whether in tort (including negligence), contract, or otherwise,
156 | unless required by applicable law (such as deliberate and grossly
157 | negligent acts) or agreed to in writing, shall any Contributor be
158 | liable to You for damages, including any direct, indirect, special,
159 | incidental, or consequential damages of any character arising as a
160 | result of this License or out of the use or inability to use the
161 | Work (including but not limited to damages for loss of goodwill,
162 | work stoppage, computer failure or malfunction, or any and all
163 | other commercial damages or losses), even if such Contributor
164 | has been advised of the possibility of such damages.
165 |
166 | 9. Accepting Warranty or Additional Liability. While redistributing
167 | the Work or Derivative Works thereof, You may choose to offer,
168 | and charge a fee for, acceptance of support, warranty, indemnity,
169 | or other liability obligations and/or rights consistent with this
170 | License. However, in accepting such obligations, You may act only
171 | on Your own behalf and on Your sole responsibility, not on behalf
172 | of any other Contributor, and only if You agree to indemnify,
173 | defend, and hold each Contributor harmless for any liability
174 | incurred by, or claims asserted against, such Contributor by reason
175 | of your accepting any such warranty or additional liability.
176 |
177 | END OF TERMS AND CONDITIONS
178 |
179 | APPENDIX: How to apply the Apache License to your work.
180 |
181 | To apply the Apache License to your work, attach the following
182 | boilerplate notice, with the fields enclosed by brackets "[]"
183 | replaced with your own identifying information. (Don't include
184 | the brackets!) The text should be enclosed in the appropriate
185 | comment syntax for the file format. We also recommend that a
186 | file or class name and description of purpose be included on the
187 | same "printed page" as the copyright notice for easier
188 | identification within third-party archives.
189 |
190 | Copyright [yyyy] [name of copyright owner]
191 |
192 | Licensed under the Apache License, Version 2.0 (the "License");
193 | you may not use this file except in compliance with the License.
194 | You may obtain a copy of the License at
195 |
196 | http://www.apache.org/licenses/LICENSE-2.0
197 |
198 | Unless required by applicable law or agreed to in writing, software
199 | distributed under the License is distributed on an "AS IS" BASIS,
200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201 | See the License for the specific language governing permissions and
202 | limitations under the License.
203 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsDialog.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | Microsoft Sans Serif, 9.75pt
123 |
124 |
125 | 12, 14
126 |
127 |
128 | 175, 329
129 |
130 |
131 |
132 | 0
133 |
134 |
135 | pageSelector
136 |
137 |
138 | System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
139 |
140 |
141 | $this
142 |
143 |
144 | 5
145 |
146 |
147 | 341, 360
148 |
149 |
150 | 75, 23
151 |
152 |
153 | 1
154 |
155 |
156 | OK
157 |
158 |
159 | ok
160 |
161 |
162 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
163 |
164 |
165 | $this
166 |
167 |
168 | 4
169 |
170 |
171 | 422, 360
172 |
173 |
174 | 75, 23
175 |
176 |
177 | 2
178 |
179 |
180 | Cancel
181 |
182 |
183 | cancel
184 |
185 |
186 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
187 |
188 |
189 | $this
190 |
191 |
192 | 3
193 |
194 |
195 | False
196 |
197 |
198 | 503, 360
199 |
200 |
201 | 75, 23
202 |
203 |
204 | 3
205 |
206 |
207 | Apply
208 |
209 |
210 | apply
211 |
212 |
213 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
214 |
215 |
216 | $this
217 |
218 |
219 | 2
220 |
221 |
222 | 204, 14
223 |
224 |
225 | 374, 329
226 |
227 |
228 | 4
229 |
230 |
231 | container
232 |
233 |
234 | System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
235 |
236 |
237 | $this
238 |
239 |
240 | 1
241 |
242 |
243 | True
244 |
245 |
246 | Tahoma, 9.75pt
247 |
248 |
249 | 12, 360
250 |
251 |
252 | 0, 16
253 |
254 |
255 | 5
256 |
257 |
258 | linkLabel1
259 |
260 |
261 | System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
262 |
263 |
264 | $this
265 |
266 |
267 | 0
268 |
269 |
270 | True
271 |
272 |
273 | 6, 13
274 |
275 |
276 | 590, 395
277 |
278 |
279 |
280 | AAABAAEAEhIAAAAACADYBQAAFgAAACgAAAASAAAAJAAAAAEACAAAAAAAaAEAAAAAAAAAAAAAAAEAAAAB
281 | AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
282 | FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
283 | MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
284 | /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
285 | zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
286 | ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
287 | /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
288 | mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
289 | MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
290 | MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
291 | AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
292 | mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
293 | MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
294 | zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
295 | zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
296 | ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
297 | sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
298 | AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3s7Ozs7Ozs7Ozs7Ozs
299 | 7OzsbQAA7PLz8/Pz8/Pz8/Pz8/Pz8/LsAADs8vPz8/Pz8/Pz8/Pz8/Pz8uwAAOzy8fHx8fHx8fHx8fHx
300 | 8fHy7AAA7PKZUpmZ8uvr6+vr6+vr6/LsAADs81IxUlLz8/Pz8/Pz8/Pz8+wAAOzzmlKamvPr6+vr6+vr
301 | 6+vz7AAA7PT09PT09PT09PT09PT09PTsAADs9Luzu7v09Ovr6+vr6+v09OwAAOz/s6yzs///////////
302 | ////7AAA7P+7s7u7/+vr6+vr6+vr6//sAADs/7uzu7v/6+vr6+vr6+vr/+wAAOz/////////////////
303 | ////7AAAbezs7Ozs7Ozs7Ozs7Ozs7OxtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
304 | AAAAAAAA///AAP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
305 | AAAAAAAAAAAAAP//wAD//8AA
306 |
307 |
308 |
309 | Mibew Tray Options
310 |
311 |
312 | OptionsDialog
313 |
314 |
315 | System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
316 |
317 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsGeneralPanel.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | hideWhenStarted
122 |
123 |
124 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
125 |
126 |
127 | groupBox1
128 |
129 |
130 | 0
131 |
132 |
133 | autoStart
134 |
135 |
136 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
137 |
138 |
139 | groupBox1
140 |
141 |
142 | 1
143 |
144 |
145 | showInTaskBar
146 |
147 |
148 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
149 |
150 |
151 | groupBox1
152 |
153 |
154 | 2
155 |
156 |
157 |
158 | Tahoma, 9.75pt, style=Bold
159 |
160 |
161 | 3, 3
162 |
163 |
164 |
165 | 12, 12, 12, 12
166 |
167 |
168 | 368, 154
169 |
170 |
171 |
172 | 0
173 |
174 |
175 | Application
176 |
177 |
178 | groupBox1
179 |
180 |
181 | System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
182 |
183 |
184 | $this
185 |
186 |
187 | 1
188 |
189 |
190 | True
191 |
192 |
193 | Microsoft Sans Serif, 8.25pt
194 |
195 |
196 | 15, 122
197 |
198 |
199 | 134, 17
200 |
201 |
202 | 3
203 |
204 |
205 | Hide window after start
206 |
207 |
208 | hideWhenStarted
209 |
210 |
211 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
212 |
213 |
214 | groupBox1
215 |
216 |
217 | 0
218 |
219 |
220 | True
221 |
222 |
223 | Microsoft Sans Serif, 8.25pt
224 |
225 |
226 | 15, 76
227 |
228 |
229 | 225, 17
230 |
231 |
232 | 1
233 |
234 |
235 | Start automatically when starting Windows
236 |
237 |
238 | autoStart
239 |
240 |
241 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
242 |
243 |
244 | groupBox1
245 |
246 |
247 | 1
248 |
249 |
250 | True
251 |
252 |
253 | Microsoft Sans Serif, 8.25pt
254 |
255 |
256 | 15, 30
257 |
258 |
259 | 102, 17
260 |
261 |
262 | 0
263 |
264 |
265 | Show in taskbar
266 |
267 |
268 | showInTaskBar
269 |
270 |
271 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
272 |
273 |
274 | groupBox1
275 |
276 |
277 | 2
278 |
279 |
280 | False
281 |
282 |
283 | Tahoma, 9.75pt
284 |
285 |
286 | 75, 39
287 |
288 |
289 | 209, 24
290 |
291 |
292 | 0
293 |
294 |
295 | languageSelector
296 |
297 |
298 | System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
299 |
300 |
301 | languageBox
302 |
303 |
304 | 0
305 |
306 |
307 | Tahoma, 9.75pt, style=Bold
308 |
309 |
310 | 3, 189
311 |
312 |
313 | 368, 93
314 |
315 |
316 | 2
317 |
318 |
319 | Language
320 |
321 |
322 | languageBox
323 |
324 |
325 | System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
326 |
327 |
328 | $this
329 |
330 |
331 | 0
332 |
333 |
334 | True
335 |
336 |
337 | 6, 13
338 |
339 |
340 | 374, 329
341 |
342 |
343 | OptionsGeneralPanel
344 |
345 |
346 | System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
347 |
348 |
--------------------------------------------------------------------------------
/src/MibewTray/options/OptionsConnectionPanel.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | True
123 |
124 |
125 |
126 | Microsoft Sans Serif, 8.25pt
127 |
128 |
129 | 239, 125
130 |
131 |
132 | 43, 13
133 |
134 |
135 | 9
136 |
137 |
138 | minutes
139 |
140 |
141 | label2
142 |
143 |
144 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
145 |
146 |
147 | groupBox1
148 |
149 |
150 | 0
151 |
152 |
153 | False
154 |
155 |
156 | Microsoft Sans Serif, 8.25pt
157 |
158 |
159 | 188, 123
160 |
161 |
162 | 45, 20
163 |
164 |
165 | 8
166 |
167 |
168 | forceRefreshTime
169 |
170 |
171 | System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
172 |
173 |
174 | groupBox1
175 |
176 |
177 | 1
178 |
179 |
180 | True
181 |
182 |
183 | Microsoft Sans Serif, 8.25pt
184 |
185 |
186 | 17, 124
187 |
188 |
189 | 145, 17
190 |
191 |
192 | 7
193 |
194 |
195 | Force page update every
196 |
197 |
198 | forceRefresh
199 |
200 |
201 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
202 |
203 |
204 | groupBox1
205 |
206 |
207 | 2
208 |
209 |
210 | True
211 |
212 |
213 | False
214 |
215 |
216 | Microsoft Sans Serif, 8.25pt
217 |
218 |
219 | 17, 101
220 |
221 |
222 | 231, 17
223 |
224 |
225 | 6
226 |
227 |
228 | Become idle if the screen saver is activated
229 |
230 |
231 | autoDesconnectOnSS
232 |
233 |
234 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
235 |
236 |
237 | groupBox1
238 |
239 |
240 | 3
241 |
242 |
243 | Microsoft Sans Serif, 8.25pt
244 |
245 |
246 | 17, 46
247 |
248 |
249 | 307, 20
250 |
251 |
252 | 5
253 |
254 |
255 | webimServer
256 |
257 |
258 | System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
259 |
260 |
261 | groupBox1
262 |
263 |
264 | 4
265 |
266 |
267 | True
268 |
269 |
270 | Microsoft Sans Serif, 8.25pt
271 |
272 |
273 | 15, 28
274 |
275 |
276 | 125, 13
277 |
278 |
279 | 4
280 |
281 |
282 | Mibew Messenger Installation Location
283 |
284 |
285 | label1
286 |
287 |
288 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
289 |
290 |
291 | groupBox1
292 |
293 |
294 | 5
295 |
296 |
297 | True
298 |
299 |
300 | Microsoft Sans Serif, 8.25pt
301 |
302 |
303 | 17, 78
304 |
305 |
306 | 202, 17
307 |
308 |
309 | 3
310 |
311 |
312 | Become idle if the computer is locked
313 |
314 |
315 | autoDisconnect
316 |
317 |
318 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
319 |
320 |
321 | groupBox1
322 |
323 |
324 | 6
325 |
326 |
327 | Tahoma, 9.75pt, style=Bold
328 |
329 |
330 | 3, 3
331 |
332 |
333 |
334 | 12, 12, 12, 12
335 |
336 |
337 | 368, 203
338 |
339 |
340 | 1
341 |
342 |
343 | Connection
344 |
345 |
346 | groupBox1
347 |
348 |
349 | System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
350 |
351 |
352 | $this
353 |
354 |
355 | 1
356 |
357 |
358 | True
359 |
360 |
361 | Tahoma, 9pt
362 |
363 |
364 | 54, 43
365 |
366 |
367 | 252, 14
368 |
369 |
370 | 0
371 |
372 |
373 | Click here to change your preferences online
374 |
375 |
376 | showUserPreferences
377 |
378 |
379 | System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
380 |
381 |
382 | groupBox2
383 |
384 |
385 | 0
386 |
387 |
388 | Tahoma, 9.75pt, style=Bold
389 |
390 |
391 | 3, 213
392 |
393 |
394 | 12, 12, 12, 12
395 |
396 |
397 | 368, 87
398 |
399 |
400 | 2
401 |
402 |
403 | Operator preferences
404 |
405 |
406 | groupBox2
407 |
408 |
409 | System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
410 |
411 |
412 | $this
413 |
414 |
415 | 0
416 |
417 |
418 | True
419 |
420 |
421 | 6, 13
422 |
423 |
424 | 374, 329
425 |
426 |
427 | OptionsConnectionPanel
428 |
429 |
430 | System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
431 |
432 |
--------------------------------------------------------------------------------
/src/MibewTray/Main.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 134, 99
122 |
123 |
124 | 245, 102
125 |
126 |
127 |
128 |
129 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
130 | YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIVJREFUOE/dk0EO
131 | gCAMBPlgv+l/DBcTH4O2WrLCFi56kaQJgXbYbUNKXy4RKSz2bT3PF4vwfS3MOdO4oAOAF48hN4BJ1Jdn
132 | kKpAE321RRHkYcEBmKxABnO12rhOgV9WOQ3Eodh1mwJawGK0hftubDNAqygEoAU2GWbBYD9REH0adv76
133 | 5z0AIQLwRor4ZGsAAAAASUVORK5CYII=
134 |
135 |
136 |
137 | Silver
138 |
139 |
140 | 130, 22
141 |
142 |
143 | Options..
144 |
145 |
146 | 127, 6
147 |
148 |
149 | 130, 22
150 |
151 |
152 | Exit
153 |
154 |
155 | 131, 54
156 |
157 |
158 | notifyMenu
159 |
160 |
161 | System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
162 |
163 |
164 |
165 | AAABAAEAEBAAAAAACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAB
166 | AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
167 | FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
168 | MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
169 | /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
170 | zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
171 | ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
172 | /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
173 | mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
174 | MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
175 | MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
176 | AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
177 | mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
178 | MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
179 | zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
180 | zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
181 | ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
182 | sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
183 | AAD///8ACgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK7Ozs7Ozs7OzsCgrs7OwKCuzs7Ozs
184 | 7Ozs7AoK7OzsCgqSkuzs7Ozs7OwKCuzs7AoKCpKSkpKSkpIKCpKSkgoKCgoKkpKSkpIKCpKSkgoKCgoK
185 | CgqSkpIKCpKSkgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCu/39woK9/f3CgoKCgoKCu/v7+/vCvf39/cK
186 | CgoKCgrv7+/v7wr39/f3CgoKCgoK7+/v7+8K7+/v7woKCgoKCgrv7+8KCu/v7woKCgoKCgoKCgoKCgoK
187 | CgoKCgoKCgoKCgoKCgoKCgoKCgoKCv//AAD//wAAgDEAAIAxAACAMQAAwGMAAODHAADxjwAA//8AAPGP
188 | AADghwAA4IcAAOCHAADxjwAA//8AAP//AAA=
189 |
190 |
191 |
192 |
193 | True
194 |
195 |
196 |
197 | Fill
198 |
199 |
200 | 0, 24
201 |
202 |
203 | 864, 461
204 |
205 |
206 | 2
207 |
208 |
209 | webBrowser1
210 |
211 |
212 | System.Windows.Forms.WebBrowser, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
213 |
214 |
215 | $this
216 |
217 |
218 | 1
219 |
220 |
221 | 384, 102
222 |
223 |
224 | 0, 0
225 |
226 |
227 | Black
228 |
229 |
230 | 69, 20
231 |
232 |
233 | Visitors
234 |
235 |
236 | Black
237 |
238 |
239 | 69, 20
240 |
241 |
242 | History
243 |
244 |
245 | Black
246 |
247 |
248 | 73, 20
249 |
250 |
251 | Refresh
252 |
253 |
254 | Black
255 |
256 |
257 | 72, 20
258 |
259 |
260 | Options
261 |
262 |
263 | Black
264 |
265 |
266 | Esc
267 |
268 |
269 | 56, 20
270 |
271 |
272 | Hide
273 |
274 |
275 | Hides application into tray
276 |
277 |
278 | 0, 0
279 |
280 |
281 | 864, 24
282 |
283 |
284 | 3
285 |
286 |
287 | menuStrip1
288 |
289 |
290 | menuStrip1
291 |
292 |
293 | System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
294 |
295 |
296 | $this
297 |
298 |
299 | 2
300 |
301 |
302 | True
303 |
304 |
305 | 173
306 |
307 |
308 | 5, 13
309 |
310 |
311 | 864, 485
312 |
313 |
314 |
315 | AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
316 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAktmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
317 | AAAAAAAAAAAAAAAAAAAAAAAAAAAktmIktmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
318 | AAAAAAAAAACa3bcktmIktmIAAAAAAAAAAAAAAAAktmIktmIktmIktmIktmIktmIktmIktmIktmIktmIk
319 | tmIktmIktmIktmIAAAAktmIktmIktmIktmIktmIktmIktmIktmIktmIktmIktmIktmIktmIktmIktmIk
320 | tmIktmIktmIktmIktmI4vHCq4sLp+O/2/Pn2/Pnn9+686c89vnQktmIktmIktmIktmIktmIktmIktmKD
321 | 1qbi9eqc3rlMw34ktmIktmJHwnuc3rnn9+6j4b0ktmIktmIktmIktmIktmKD1qaq4sIktmIktmIktmIk
322 | tmIktmIktmIktmIktmKc3rmV3LMktmIktmIktmIktmI4vHAktmIktmJVx4RHwnsktmIktmI9vnRZx4gk
323 | tmIktmIktmIktmIktmIktmIktmIktmIktmIquGb////y+/UktmIktmLt+fP///89vnQktmIktmIktmIk
324 | tmIktmIktmIktmIktmIktmK258uD1qYktmIktmKH16m258sktmIktmIktmIktmIktmIktmIktmIktmIk
325 | tmIktmIktmIktmIktmIktmIktmIktmIktmIktmIktmIktmIktmIAAAAktmIktmIktmIktmIktmIktmIk
326 | tmIktmIktmIktmIktmIktmIktmIktmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
327 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
328 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3wAA/88AAP/H
329 | AACAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAA//8AAP//AAD//wAA
330 |
331 |
332 |
333 | notifyIcon
334 |
335 |
336 | System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
337 |
338 |
339 | optionsToolStripMenuItem
340 |
341 |
342 | System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
343 |
344 |
345 | toolStripMenuItem1
346 |
347 |
348 | System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
349 |
350 |
351 | exitToolStripMenuItem
352 |
353 |
354 | System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
355 |
356 |
357 | reloadPageTimer
358 |
359 |
360 | System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
361 |
362 |
363 | visitorsMenuItem
364 |
365 |
366 | System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
367 |
368 |
369 | historyMenuItem
370 |
371 |
372 | System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
373 |
374 |
375 | refreshToolStripMenuItem
376 |
377 |
378 | System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
379 |
380 |
381 | optionsMenuItem
382 |
383 |
384 | System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
385 |
386 |
387 | hideToolStripMenuItem
388 |
389 |
390 | System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
391 |
392 |
393 | MainWindow
394 |
395 |
396 | webImTray.LockNotificationForm, webImTray, Version=1.0.4.0, Culture=neutral, PublicKeyToken=null
397 |
398 |
--------------------------------------------------------------------------------