using System; using System.Windows.Forms; using SafeMobileLib; using Telerik.WinControls; using Nini.Config; using System.Drawing; using Telerik.WinControls.UI; using System.ComponentModel; using System.Collections.Generic; using System.Threading; using System.Timers; namespace SubscriberAndUserManager { public partial class Login : Telerik.WinControls.UI.RadForm { private IConfigSource source = null; private string adminPassword; private RegistrationStatus regStatus = RegistrationStatus.NOT_REGISTERED; public static Color ButtonColor = Color.White; public static Color ButtonColorDisabled = Color.FromArgb(200, 200, 200); public DBuserManager dbUserManager; public enum RegistrationStatus { REGISTERED, NOT_REGISTERED, UNAUTHORIZED } public Login(RegistrationStatus registrationStatus) { regStatus = registrationStatus; InitializeComponent(); FireWallException fw = new FireWallException(); string name = System.AppDomain.CurrentDomain.FriendlyName; string path = System.Windows.Forms.Application.ExecutablePath; fw.checkFirewall(name, path); RadMessageBox.SetThemeName("TelerikMetroBlue"); #region LANGUAGE POPULATE List languages = new List() { "English", "Chinese", "Czech", "French", "German", "Italian", "Japanese", "Polish", "Portuguese", "Romanian", "Russian", "Serbian", "Spanish", "Swedish", "Turkish", "Arabic" }; languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_en); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_cn); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_cz); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_fr); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_de); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_it); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_jp); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_pl); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_pt); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_ro); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_ru); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_rs); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_es); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_se); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_tr); languageImages.Images.Add(SubscriberAndUserManager.Properties.Resources.f_ar); BindingList langs = new BindingList(); DropListItem item = new DropListItem(); for (int i = 0; i < languages.Count; i++ ) langs.Add(new DropListItem() { Text = languages[i], Image = languageImages.Images[i] }); cbLang.DataSource = null; cbLang.DataSource = langs; cbLang.DropDownListElement.ItemHeight = 36; #endregion #region THEMING Icon appIcon = SubscriberAndUserManager.Properties.Resources.sdadmin_icon; Image appImage = SubscriberAndUserManager.Properties.Resources.sd256PNG; Image backImage = SubscriberAndUserManager.Properties.Resources.bg_moto; String appName = "SafeDispatch Admin"; Color errorColor = Color.LimeGreen; Color appNameForeColor = Color.WhiteSmoke; switch(MainForm.radioType) { case RADIOTYPE.SIMOCO: { backImage = SubscriberAndUserManager.Properties.Resources.bg_simoco; appImage = SubscriberAndUserManager.Properties.Resources.simoco_setup_128; appIcon = SubscriberAndUserManager.Properties.Resources.simoco_setup_64; appName = "Simoco Admin"; errorColor = Color.Firebrick; appNameForeColor = Color.WhiteSmoke; break; } case RADIOTYPE.EXCERA: { backImage = SubscriberAndUserManager.Properties.Resources.axys; this.BackgroundImageLayout = ImageLayout.Stretch; appImage = SubscriberAndUserManager.Properties.Resources.AXYS_TOOLS_ICON; appIcon = SubscriberAndUserManager.Properties.Resources.AXYS_ICON; appName = "AXYS Admin"; errorColor = Color.Firebrick; appNameForeColor = Color.WhiteSmoke; break; } case RADIOTYPE.HYT: { backImage = SubscriberAndUserManager.Properties.Resources.bg_hytera; appImage = SubscriberAndUserManager.Properties.Resources.SafeSyt; appIcon = SubscriberAndUserManager.Properties.Resources.SYTADMIN64x; appName = "SafeSyt Admin"; errorColor = Color.Firebrick; appNameForeColor = Color.Black; break; } case RADIOTYPE.HARRIS: { backImage = SubscriberAndUserManager.Properties.Resources.bg_harris; appImage = SubscriberAndUserManager.Properties.Resources.vision96PNG; appIcon = SubscriberAndUserManager.Properties.Resources.visionSmall; appName = "Vision Admin"; errorColor = Color.Black; appNameForeColor = Color.Black; break; } case RADIOTYPE.ATLAS: { backImage = SubscriberAndUserManager.Properties.Resources.bg_atlas; appImage = SubscriberAndUserManager.Properties.Resources.atlas256PNG; appIcon = SubscriberAndUserManager.Properties.Resources.ATLASadmin32; appName = "ATL25 Admin"; errorColor = Color.LimeGreen; appNameForeColor = Color.WhiteSmoke; break; } case RADIOTYPE.LINX: case RADIOTYPE.LINXB: { appName = "LINX Admin"; break; } default: break; } this.BackgroundImage = backImage; this.labelAppName.Text = appName.ToUpper(); lbStatus.ForeColor = errorColor; labelAppName.ForeColor = appNameForeColor; this.pbIcon.Image = appImage; this.Icon = appIcon; #endregion //cbLang.SelectedIndex = 1; cbLang.SelectedIndex = 0; if ((MainForm.Langidx>=0)&&(MainForm.Langidx /// Display the image and text for each unit in the combobox /// private void cbLang_ItemDataBound(object sender, ListItemDataBoundEventArgs args) { // display the text and image for each item in the comboBox DropListItem item = (DropListItem)args.NewItem.DataBoundItem; args.NewItem.Text = item.Text; args.NewItem.Image = item.Image; } /// /// intercept the changes in password text in order to enable or disable the /// login button /// private void tbPassword_TextChanged(object sender, EventArgs e) { if (tbPassword.Text.Length > 0) btnLogin.Enabled = true; else btnLogin.Enabled = false; } /// /// Change the buttons background color for the animation buttons depending on their enabled/disabled /// state /// private void btnLogin_EnabledChanged(object sender, EventArgs e) { if (((RadButton)sender).Enabled) ((RadButton)sender).ButtonElement.ButtonFillElement.BackColor = ButtonColor; else ((RadButton)sender).ButtonElement.ButtonFillElement.BackColor = ButtonColorDisabled; } /// /// Select all text when password field get focused /// private void tbPassword_Enter(object sender, EventArgs e) { tbPassword.SelectAll(); } } }