コード例 #1
0
ファイル: UseCaseProfile.cs プロジェクト: coolshou/argon
        /// <summary>
        /// Deletes the profile.
        /// </summary>
        public static void DeleteProfile(NetworkProfile profile = null)
        {
            if (profile == null)
            {
                profile = DataModel.SelectedNetworkProfile;

                if (profile == null)
                {
                    MyMessageBox.ShowMessage("No profile selected!");
                    return;
                }
            }

            // check if it is possibile to do operation
            if (UseCaseApplication.CheckIsOperationNotAllowedNow())
            {
                return;
            }

            bool res = MyMessageBox.Ask("Do you want to delete profile " + profile.Name + "?");

            if (res)
            {
                UseCaseLogger.ShowInfo("Remove profile [" + profile.Name + "]");
                DataModel.NetworkProfileList.Remove(profile);
                DataModel.SelectedNetworkProfile = null;
                UseCaseView.FindAndCloseProfile(profile);
                UseCaseProfile.Refresh();
            }
        }
コード例 #2
0
ファイル: UseCaseProfile.cs プロジェクト: coolshou/argon
        /// <summary>
        /// Duplicates the profile.
        /// </summary>
        /// <param name="profile">The profile.</param>
        public static void DuplicateProfile(NetworkProfile profile)
        {
            // check if it is possibile to do operation
            if (UseCaseApplication.CheckIsOperationNotAllowedNow())
            {
                return;
            }

            NetworkProfile newProfile = new NetworkProfile();

            newProfile = NetworkProfile.Copy(profile);

            newProfile.Id   = UseCaseProfile.CreateNewProfileId();
            newProfile.Name = "Copy of " + newProfile.Name;

            DataModel.NetworkProfileList.Add(newProfile);

            Refresh();
        }
コード例 #3
0
ファイル: UseCaseApplication.cs プロジェクト: coolshou/argon
        /// <summary>
        /// Loads the specified form main.
        /// </summary>
        /// <param name="formMain">The form main.</param>
        public static void Load(FormMain formMain)
        {
            Version curVersion = System.Reflection.Assembly.GetEntryAssembly().GetName().Version;

            formMain.Text += " - " + curVersion.Major + "." + curVersion.Minor + "." + curVersion.Build;

            // default value
            DataModel.BlockAllOperation  = false;
            DataModel.NetworkCardList    = new List <WindowsNetworkCard>();
            DataModel.NetworkProfileList = new List <NetworkProfile>();

            // create other forms
            CreateForms(formMain);

            // display form
            DisplayFormsInDefaultPosition();

            UseCaseLogger.ShowInfo("Startup program");

            // set the event handler
            NetworkProfileHelper.NotifyEvent += UseCaseLogger.OnNotifyHandler;

            // load the profiles
            UseCaseConfig.Load();

            // check autodetect
            if (Argon.Windows.Forms.Properties.Settings.Default.AutodetectOnStart)
            {
                UseCaseProfile.RunAutoDetect(false);
            }

            // check autodetect
            if (Argon.Windows.Forms.Properties.Settings.Default.CheckForUpdate)
            {
                // do not check info box if updated
                VerifyUpdate(false);
            }
        }
コード例 #4
0
        /// <summary>
        /// Loads the specified file name. If operation is ok, DataModel.NetworkProfileList is filled.
        /// </summary>
        /// <param name="fileName">Name of the file.</param>
        /// <param name="showDialog">if set to <c>true</c> [show dialog].</param>
        /// <returns></returns>
        public static void Load(string fileName = DEFAULT_FILENAME, bool showDialog = false)
        {
            if (showDialog)
            {
                DialogResult result;
                result = MessageBox.Show("Do you want to load default config?", "Load config", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);

                switch (result)
                {
                case DialogResult.Cancel:
                    return;

                case DialogResult.No:
                    OpenFileDialog dialog = new OpenFileDialog();

                    dialog.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*";
                    //dialog.InitialDirectory = initialDirectory;
                    dialog.Title = "Select a config file to load";

                    result = dialog.ShowDialog();

                    if (result == DialogResult.OK)
                    {
                        fileName = dialog.FileName;
                    }
                    else
                    {
                        return;
                    }
                    break;

                case DialogResult.Yes:
                    break;
                }
                ;
            }
            else
            {
                // ASSERT: no dialog to show
                //To get the location the assembly normally resides on disk or the install directory
                string path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);


                //once you have the path you get the directory with:
                if (!Path.IsPathRooted(fileName))
                {
                    // ANS-16
                    fileName = Path.Combine(path, fileName);
                    Uri uri = new Uri(fileName);

                    fileName = Uri.UnescapeDataString(uri.AbsolutePath);
                }
            }



            // execute config default
            List <NetworkProfile> list = NetworkProfileHelper.Load(fileName);

            UseCaseLogger.ShowInfo("Load file '" + Path.GetFullPath(fileName) + "'");

            if (!File.Exists(Path.GetFullPath(fileName)))
            {
                UseCaseLogger.ShowError("Ehi! No file '" + Path.GetFullPath(fileName) + "' found!");
            }
            else if (list.Count == 0)
            {
                UseCaseLogger.ShowError("Ehi! 0 profiles found!");
            }
            else
            {
                DataModel.NetworkProfileList = list;
                UseCaseProfile.Refresh();
            }
        }
コード例 #5
0
 /// <summary>
 /// Rearranges the profiles.
 /// </summary>
 /// <param name="listProfile">The list profile.</param>
 public static void RearrangeProfiles(List <NetworkProfile> listProfile)
 {
     DataModel.NetworkProfileList = listProfile;
     UseCaseProfile.Refresh();
 }