Пример #1
0
        private void buttonImport_Click(object sender, EventArgs e)
        {
            if (buttonImport.Enabled)
            {
                FileExporter io;

                if (radioIAStash.Checked)
                {
                    io = new IAFileExporter(_filename);
                }
                else if (radioGDStash.Checked)
                {
                    GDTransferFile settings = cbItemSelection.SelectedItem as GDTransferFile;
                    if (settings == null)
                    {
                        io = new GDFileExporter(_filename, false, string.Empty);
                    }
                    else
                    {
                        io = new GDFileExporter(_filename, settings.IsExpansion1, settings.Mod);
                    }
                }
                else
                {
                    _playerItemDao.Save(_sm.EmptyStash(_filename));
                    MessageBox.Show("Items imported", "Items imported!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }

                var items = io.Read();
                _playerItemDao.Import(items);

                MessageBox.Show("Items imported\nIf you already had items, you may have gotten duplicates.", "Items imported!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Пример #2
0
        private void UpdateListview(FilterEventArgs filters)
        {
            GDTransferFile mf = ModSelectionHandler.SelectedMod;

            if (mf == null)
            {
                return;
            }

            ComboBoxItemQuality rarity = comboBoxItemQuality.SelectedItem as ComboBoxItemQuality;
            var slot  = slotFilter.SelectedItem as ComboBoxItem;
            var query = new Search {
                Wildcard      = searchField.Text,
                filters       = filters.Filters,
                MinimumLevel  = ParseNumeric(minLevel),
                MaximumLevel  = ParseNumeric(maxLevel),
                Rarity        = rarity?.Rarity,
                Slot          = slot?.Filter,
                PetBonuses    = filters.PetBonuses,
                IsRetaliation = filters.IsRetaliation,
                Mod           = mf.Mod,
                IsHardcore    = mf.IsHardcore,
                Classes       = filters.DesiredClass,
                SocketedOnly  = filters.SocketedOnly,
            };

            bool includeBuddyItems = (bool)Properties.Settings.Default.BuddySyncEnabled;
            var  message           = _searchController.Search(query, filters.DuplicatesOnly, includeBuddyItems, checkBoxOrderByLevel.Checked);

            Logger.Info("Updating UI..");
            _setStatus(message);
            Logger.Info("Done");
        }
Пример #3
0
        public string GetTransferFile()
        {
            GDTransferFile mfi        = _searchWindow.ModSelectionHandler.SelectedMod;
            bool           fileExists = !string.IsNullOrEmpty(mfi.Filename) && File.Exists(mfi.Filename);

            if (!fileExists)
            {
                Logger.Warn($"The transfer file {mfi.Filename} does not exist, switching to stash picker");
            }


            if (_settingsService.GetPersistent().TransferAnyMod || !fileExists)
            {
                StashPicker picker = new StashPicker(_browser);
                if (picker.ShowDialog() == DialogResult.OK)
                {
                    return(picker.Result);
                }

                Logger.Info(RuntimeSettings.Language.GetTag("iatag_no_stash_abort"));
                _setFeedback(RuntimeSettings.Language.GetTag("iatag_no_stash_abort"));
                _browser.ShowMessage(RuntimeSettings.Language.GetTag("iatag_no_stash_abort"), UserFeedbackLevel.Danger);

                return(string.Empty);
            }

            return(mfi.Filename);
        }
Пример #4
0
        private string GetTransferFile()
        {
            GDTransferFile mfi        = _searchWindow.ModSelectionHandler.SelectedMod;
            bool           fileExists = !string.IsNullOrEmpty(mfi.Filename) && File.Exists(mfi.Filename);

            if (_settingsController.TransferAnyMod || !fileExists)
            {
                StashPicker picker = new StashPicker();
                if (picker.ShowDialog() == DialogResult.OK)
                {
                    return(picker.Result);
                }
                else
                {
                    Logger.Info(GlobalSettings.Language.GetTag("iatag_no_stash_abort"));
                    _setFeedback(GlobalSettings.Language.GetTag("iatag_no_stash_abort"));
                    _browser.ShowMessage(GlobalSettings.Language.GetTag("iatag_no_stash_abort"), "Error");

                    return(string.Empty);
                }
            }
            else
            {
                return(mfi.Filename);
            }
        }
Пример #5
0
 private void cbModFilter_SelectedIndexChanged(object sender, EventArgs e)
 {
     SelectedMod = _cbModFilter.SelectedItem as GDTransferFile;
     if (Properties.Settings.Default.AutoSearch)
     {
         _updateView();
     }
 }
Пример #6
0
        public void UpdateModSelection(bool isHardcore)
        {
            GDTransferFile selected = _cbModFilter.SelectedItem as GDTransferFile;

            if (selected != null)
            {
                UpdateModSelection(selected.Mod, isHardcore);
            }
        }
Пример #7
0
        public void UpdateModSelection(string mod)
        {
            GDTransferFile selected = _cbModFilter.SelectedItem as GDTransferFile;

            if (selected != null)
            {
                // Survival mode is the crucible, which shares items with campaign.
                UpdateModSelection(mod.Replace("survivalmode", ""), selected.IsHardcore);
            }
        }
Пример #8
0
 public ModSelectionHandler(ComboBox cbModFilter, IPlayerItemDao playerItemDao, Action updateView, Action <string> setStatus)
 {
     this._cbModFilter      = cbModFilter;
     _cbModFilter.DropDown += modFilter_DropDown;
     this._cbModFilter.SelectedIndexChanged += new System.EventHandler(this.cbModFilter_SelectedIndexChanged);
     _updateView    = updateView;
     _playerItemDao = playerItemDao;
     _setStatus     = setStatus;
     SelectedMod    = _cbModFilter.SelectedItem as GDTransferFile;
 }
Пример #9
0
        private void buttonImport_Click(object sender, EventArgs e)
        {
            if (buttonImport.Enabled)
            {
                FileExporter io;

                if (radioIAStash.Checked)
                {
                    io = new IAFileExporter(_filename);
                }
                else if (radioGDStash.Checked)
                {
                    GDTransferFile settings = cbItemSelection.SelectedItem as GDTransferFile;
                    io = new GDFileExporter(_filename, settings?.Mod ?? string.Empty);
                }
                else
                {
                    _playerItemDao.Save(_sm.EmptyStash(_filename));

                    MessageBox.Show(
                        RuntimeSettings.Language.GetTag("iatag_ui_importexport_import_success"),
                        RuntimeSettings.Language.GetTag("iatag_ui_importexport_import_success"),
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Information
                        );
                    return;
                }

                var items = io.Read(Read(_filename));
                Logger.Debug($"Storing {items.Count} items to db");
                progressBar1.Maximum = items.Count;
                buttonImport.Enabled = false;
                Thread t = new Thread(() => {
                    ExceptionReporter.EnableLogUnhandledOnThread();
                    isLocked = true;

                    var batches = BatchUtil.ToBatches <PlayerItem>(items);
                    foreach (var batch in batches)
                    {
                        _playerItemDao.Import(batch);
                        Invoke((MethodInvoker) delegate { progressBar1.Value += batch.Count; });
                    }

                    isLocked = false;
                    MessageBox.Show(
                        RuntimeSettings.Language.GetTag("iatag_ui_importexport_import_success_body"),
                        RuntimeSettings.Language.GetTag("iatag_ui_importexport_import_success"),
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Information
                        );
                });

                t.Start();
            }
        }
Пример #10
0
        private void cbModFilter_SelectedIndexChanged(object sender, EventArgs e)
        {
            SelectedMod = _cbModFilter.SelectedItem as GDTransferFile;

            if (Properties.Settings.Default.AutoSearch)
            {
                _updateView();
            }

            Properties.Settings.Default.LastSelectedMod = JsonConvert.SerializeObject(SelectedMod);
            Properties.Settings.Default.Save();
        }
Пример #11
0
        public ModSelectionHandler(ComboBox cbModFilter, IPlayerItemDao playerItemDao, Action updateView, Action <string> setStatus, SettingsService settings)
        {
            _cbModFilter                       = cbModFilter;
            _cbModFilter.DropDown             += modFilter_DropDown;
            _cbModFilter.SelectedIndexChanged += cbModFilter_SelectedIndexChanged;
            _updateView    = updateView;
            _playerItemDao = playerItemDao;
            _setStatus     = setStatus;
            _settings      = settings;

            SelectedMod = _cbModFilter.SelectedItem as GDTransferFile;
        }
Пример #12
0
        private void buttonTransfer_Click(object sender, EventArgs e)
        {
            Result = string.Empty;

            foreach (Control c in groupBox1.Controls)
            {
                FirefoxRadioButton cb = c as FirefoxRadioButton;
                if (cb != null && cb.Checked)
                {
                    GDTransferFile mod = c.Tag as GDTransferFile;
                    if (mod != null)
                    {
                        Result            = mod.Filename;
                        this.DialogResult = DialogResult.OK;
                    }
                }
            }


            this.Close();
        }
Пример #13
0
        private void buttonExport_Click(object sender, EventArgs e)
        {
            if (buttonExport.Enabled)
            {
                if (IsGdstashFormat)
                {
                    var io = new GDFileExporter(filename, false, string.Empty); // Params are not used for writing

                    GDTransferFile settings = cbItemSelection.SelectedItem as GDTransferFile;
                    if (settings == null)
                    {
                        var items = playerItemDao.ListAll();
                        io.Write(items);
                    }
                    else
                    {
                        var items = playerItemDao.ListAll()
                                    .Where(item => item.IsHardcore == settings.IsHardcore /* && item.IsExpansion1 == settings.IsExpansion1*/);

                        if (string.IsNullOrEmpty(settings.Mod))
                        {
                            io.Write(items.Where(item => string.IsNullOrEmpty(item.Mod)).ToList());
                        }
                        else
                        {
                            io.Write(items.Where(item => item.Mod == settings.Mod).ToList());
                        }
                    }
                }
                else
                {
                    var io    = new IAFileExporter(filename);
                    var items = playerItemDao.ListAll();
                    io.Write(items);
                }

                MessageBox.Show("Items Exported!", "Items exported!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
        }
Пример #14
0
        private void buttonImport_Click(object sender, EventArgs e)
        {
            if (buttonImport.Enabled)
            {
                FileExporter io;

                if (radioIAStash.Checked)
                {
                    io = new IAFileExporter(_filename);
                }
                else if (radioGDStash.Checked)
                {
                    GDTransferFile settings = cbItemSelection.SelectedItem as GDTransferFile;
                    io = new GDFileExporter(_filename, settings?.Mod ?? string.Empty);
                }
                else
                {
                    _playerItemDao.Save(_sm.EmptyStash(_filename));

                    MessageBox.Show(
                        RuntimeSettings.Language.GetTag("iatag_ui_importexport_import_success"),
                        RuntimeSettings.Language.GetTag("iatag_ui_importexport_import_success"),
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Information
                        );
                    return;
                }

                var items = io.Read(Read(_filename));
                _playerItemDao.Import(items);

                MessageBox.Show(
                    RuntimeSettings.Language.GetTag("iatag_ui_importexport_import_success_body"),
                    RuntimeSettings.Language.GetTag("iatag_ui_importexport_import_success"),
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Information
                    );
            }
        }
Пример #15
0
 private void cbModFilter_SelectedIndexChanged(object sender, EventArgs e)
 {
     SelectedMod = _cbModFilter.SelectedItem as GDTransferFile;
     _updateView();
     _settings.GetLocal().LastSelectedMod = SelectedMod;
 }