Beispiel #1
0
 protected override void WndProc(ref Message m)
 {
     try
     {
         if (m.Msg == WM_DEVICECHANGE)
         {
             DEV_BROADCAST_VOLUME vol = (DEV_BROADCAST_VOLUME)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_VOLUME));
             if ((m.WParam.ToInt32() == DBT_DEVICEARRIVAL) && (vol.dbcv_devicetype == DBT_DEVTYPVOLUME))
             {
                 if (Helpers.Settings.config.sdDriveLetter.Contains(DriveMaskToLetter(vol.dbcv_unitmask).ToString()))
                 {
                     locationToolStripComboBox.SelectedIndex = 1;
                     XciHelper.LoadXcisInBackground();
                     UpdateSdInfo();
                 }
             }
             if ((m.WParam.ToInt32() == DBT_DEVICEREMOVALCOMPLETE) && (vol.dbcv_devicetype == DBT_DEVTYPVOLUME))
             {
                 if (Helpers.Settings.config.sdDriveLetter.Contains(DriveMaskToLetter(vol.dbcv_unitmask).ToString()))
                 {
                     locationToolStripComboBox.SelectedIndex = 0;
                     XciHelper.LoadXcisInBackground();
                     UpdateSdInfo();
                 }
             }
         }
         base.WndProc(ref m);
     }
     catch { }
 }
Beispiel #2
0
        private void formMain_Load(object sender, EventArgs e)
        {
            XciHelper.formMain  = this;
            FileHelper.formMain = this;

            this.Text += " " + Application.ProductVersion;

            if (!File.Exists("keys.txt"))
            {
                MessageBox.Show("Please make sure to put the keys.txt file in the same folder as SwitchGameManager.exe" + Environment.NewLine + "The program will now close.", "Keys.txt not found");
                Application.Exit();
                return;
            }

            SetupObjectListView();

            SetupDelegates();

            //Load the settings
            if (Helpers.Settings.LoadSettings() == false)
            {
                manageXciLocToolStripMenuItem_Click(null, null);
            }

            SetupFileSysWatcher();

            locationToolStripComboBox.SelectedIndex = 0;

            //Setup the OLV with the saved state (if it was saved)
            if (Helpers.Settings.config.olvState != null)
            {
                olvList.RestoreState(Helpers.Settings.config.olvState);
                ProcessChangeIconSize(Helpers.Settings.config.listIconSize);
            }

            if (Helpers.Settings.config.formHeight > 0)
            {
                this.Height = Helpers.Settings.config.formHeight;
            }

            if (Helpers.Settings.config.formWidth > 0)
            {
                this.Width = Helpers.Settings.config.formWidth;
            }

            UpdateToolMenus();
            XciHelper.LoadXcisInBackground();

            /* todo
             * Check if Keys.txt exists, otherwise download it. Maybe procedurally generate the URL? brute force the key?
             * Add red X or green check for Game cert, either use a Resource img or system image?
             */
        }
Beispiel #3
0
        private void manageXciLocToolStripMenuItem_Click(object sender, EventArgs e)
        {
            formFolderList form   = new formFolderList();
            DialogResult   result = form.ShowDialog();

            if (result == DialogResult.OK)
            {
                Helpers.Settings.config.localXciFolders = form.localFolders;
                Helpers.Settings.config.sdDriveLetter   = form.sdDriveLetter;
                SetupFileSysWatcher();
                XciHelper.LoadXcisInBackground();
                //XciHelper.LoadXcis();
                UpdateToolMenus();
            }
        }
Beispiel #4
0
        private void buttonRename_Click(object sender, EventArgs e)
        {
            buttonRename.Enabled = false;

            List <RenameItem> filtered = olvRenameList.FilteredObjects.Cast <RenameItem>().ToList();

            for (int i = filtered.Count - 1; i >= 0; i--)
            {
                if (TryRename(filtered[i]))
                {
                    olvRenameList.RemoveObject(filtered[i]);
                }
                else
                {
                    columnError.IsVisible = true;
                    olvRenameList.UpdateObject(filtered[i]);
                }
            }

            olvRenameList.RebuildColumns();
            buttonRename.Enabled = true;
            XciHelper.LoadXcisInBackground();
        }
Beispiel #5
0
        private void SetupDelegates()
        {
            textBoxFilter.TextChanged += delegate(object o, EventArgs e)
            {
                TextMatchFilter filter = TextMatchFilter.Contains(olvList, textBoxFilter.Text);
                olvList.AdditionalFilter = filter;
                UpdateToolStripLabel();
            };

            olvList.MouseClick += delegate(object s, MouseEventArgs e)
            {
                UpdateToolMenus();
                if (e.Button == MouseButtons.Right)
                {
                    contextMenuStrip.Show(e.X, e.Y);
                }
            };

            gameManagementToolStripMenuItem.Click += delegate(object s, EventArgs e) { UpdateToolMenus(); };

            olvList.MouseDoubleClick += delegate(object s, MouseEventArgs e)
            {
                XciItem xci = (XciItem)olvList.GetItem(olvList.SelectedIndex).RowObject;
                XciHelper.ShowXciExplorer(xci.xciFilePath);
            };

            exitToolStripMenuItem.Click += delegate(object s, EventArgs e) { Application.Exit(); };

            locationToolStripComboBox.SelectedIndexChanged += delegate(object s, EventArgs e) {
                Helpers.Settings.config.defaultView = (XciLocation)locationToolStripComboBox.SelectedIndex;
                XciHelper.RefreshList();
                UpdateToolStripLabel();
            };

            aboutToolStripMenuItem.Click += delegate(object o, EventArgs e)
            {
                formAbout formAbout = new formAbout();
                formAbout.Show();
            };

            this.FormClosing += delegate(object s, FormClosingEventArgs e) { SaveSettings(); };

            this.ResizeEnd += delegate(object s, EventArgs e)
            {
                if (this.WindowState != FormWindowState.Maximized)
                {
                    Helpers.Settings.config.formHeight = this.Height;
                    Helpers.Settings.config.formWidth  = this.Width;
                }
            };

            cancelTransfersToolStripMenuItem.Click  += delegate(object s, EventArgs e) { FileHelper.StopTransfers(); };
            rebuildCachetoolStripMenuItem.Click     += delegate(object s, EventArgs e) { XciHelper.RebuildCache(); };
            refreshGamesListToolStripMenuItem.Click += delegate(object s, EventArgs e) { XciHelper.LoadXcisInBackground(); };
        }