Exemplo n.º 1
0
        /// <summary>
        /// Switch state of tracked app
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SwitchState(object sender, SelectionChangedEventArgs e)
        {
            ComboBox   comboBox   = sender as ComboBox;
            TrackedApp trackedApp = Utils.GetTrackedApp(sender);

            trackedApp.State = comboBox.SelectedIndex;
        }
Exemplo n.º 2
0
        /// <summary>
        /// remove one tracked app
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void RemoveTrackedApp(object sender, RoutedEventArgs e)
        {
            int        rowIndex   = Utils.FindRowIndex(sender);
            TrackedApp trackedApp = Utils.GetTrackedApp(sender);

            trackedListGrid.Items.RemoveAt(rowIndex);
            JsonData.RemoveTrackedApp(trackedApp);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Add one app to tracking list
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AddTrackedApp(object sender, RoutedEventArgs e)
        {
            DisplayInfos currentDisplay   = DisplayInfos.GetCurrentMode();
            int          currentModeIndex = displayList.FindIndex(display => (display.width == currentDisplay.width) && (display.height == currentDisplay.height) && (display.color == currentDisplay.color));

            TrackedApp newTrackedApp = new TrackedApp("select .exe file", StateType.noState, new List <ActionApp>(), new List <ActionApp>(), currentModeIndex, false);

            trackedListGrid.Items.Add(newTrackedApp);
        }
Exemplo n.º 4
0
        public Details(int _rowId, TrackedApp _trackedApp)
        {
            InitializeComponent();

            trackedApp = _trackedApp;
            rowId      = _rowId;

            trackedApp.LaunchAppList.ForEach(app => launchAppListGrid.Items.Add(app));
            trackedApp.CloseAppList.ForEach(app => closeAppListGrid.Items.Add(app));

            this.Closing += CloseDetailsWindow;
        }
Exemplo n.º 5
0
        /// <summary>
        /// Select app to track
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SelectTrackedApp(object sender, RoutedEventArgs e)
        {
            OpenFileDialog OFD = new OpenFileDialog();

            OFD.Filter = "executable file (*.exe)|*.exe";
            OFD.ShowDialog();

            if (OFD.SafeFileName.Length > 0)
            {
                TrackedApp trackedApp = Utils.GetTrackedApp(sender);
                trackedApp.TrackedAppName = OFD.SafeFileName;
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Edit infos off tracked app
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void EditTrackedAppDetails(object sender, RoutedEventArgs e)
        {
            DataGridRow row        = Utils.GetParentByType <DataGridRow>(sender);
            int         rowIndex   = Utils.FindRowIndex(row);
            TrackedApp  trackedApp = Utils.GetTrackedApp(sender);

            if (!windowList.TryGetValue(row.GetIndex(), out Window window))
            {
                Details detailsWindow = new Details(rowIndex, trackedApp);
                detailsWindow.Title = "Set associated actions" + (trackedApp.TrackedAppName != "select .exe file" ? " (" + trackedApp.TrackedAppName + ")" : "");

                windowList.Add(row.GetIndex(), detailsWindow);
                detailsWindow.Show();
            }
            else
            {
                window.Activate();
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Close AutoLaunchApp if click on tray sub icon
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void CloseAppWithTrayIcon(object sender, RoutedEventArgs e)
        {
            TrackedApp.CloseAllThreads();
            JsonData.Savejson(fileType.trackedList);
            JsonData.Savejson(fileType.Configuration);
            closeMainWindow = true;

            foreach (Window window in windowList.Values)
            {
                window.Close();
            }

            AppTrayIcon.Dispose();

            foreach (Process process in Process.GetProcessesByName("AutoLaunchApp"))
            {
                new LogWriter(LogWriter.LogType.ERROR, "double process AutoLaunchApp stopped");
                process.Kill();
            }

            this.Close();
        }
Exemplo n.º 8
0
        /// <summary>
        /// enable or disable state of tracking
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SwitchIsActive(object sender, RoutedEventArgs e)
        {
            CheckBox   checkbox   = sender as CheckBox;
            TrackedApp trackedApp = Utils.GetTrackedApp(sender);

            if (checkbox.IsChecked == true)
            {
                if (trackedApp.TrackedAppName == "select .exe file")
                {
                    checkbox.IsChecked = false;
                    Error errorWindow = new Error("You need to track application before active this row");
                    errorWindow.Show();
                }
                else if (trackedApp.State == (int)StateType.noState)
                {
                    checkbox.IsChecked = false;
                    Error errorWindow = new Error("You need to set state before active this row");
                    errorWindow.Show();
                }
                else
                {
                    trackedApp.IsActive = true;
                }
            }
            else
            {
                trackedApp.IsActive = false;
            }

            foreach (DataGridCell cell in Utils.GetCell(sender))
            {
                if (cell.TabIndex != 0)
                {
                    cell.IsEnabled = !trackedApp.IsActive;
                }
            }
        }
Exemplo n.º 9
0
 /// <summary>
 /// Remove one app to trackedApp
 /// </summary>
 /// <param name="_trackedApp"></param>
 /// <returns></returns>
 public static void RemoveTrackedApp(TrackedApp _trackedApp)
 {
     trackedApps.Remove(_trackedApp);
     Savejson(fileType.trackedList);
 }
Exemplo n.º 10
0
 /// <summary>
 /// Add one trackedApp to list
 /// </summary>
 /// <param name="_trackedApp"></param>
 public static void AddTrackedApp(TrackedApp _trackedApp)
 {
     trackedApps.Add(_trackedApp);
     Savejson(fileType.trackedList);
 }