Coder Social home page Coder Social logo

nikolayxhd / mtgdb Goto Github PK

View Code? Open in Web Editor NEW
57.0 7.0 10.0 48.43 MB

Mtgdb.Gui - desktop app to search MTG cards and build decks

Home Page: https://www.slightlymagic.net/forum/viewtopic.php?f=62&t=19299

License: Other

C# 99.05% HTML 0.07% Batchfile 0.28% VBScript 0.03% Shell 0.04% Python 0.52%
tabs winforms tooltips album-gallery lucene-net tabbedpage charts tooltip-helper search-mtg-cards mtg-collection-manager

mtgdb's People

Contributors

aaronls avatar maforget avatar nikolayxhd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mtgdb's Issues

"Filter button"

So, in my experience, the way the filtering tool is just takes up a lot of space, which could be better used. Also, in smaller screens, it could actually be a nuisance.

My suggestion is that, instead of having it as multiple rows in the raw UI, you could have a "Filter button", which would bring up an extra window with the filtering options.

Binder management

extend deck concept to MTGO-like binder

binders should be editable like deck

add hashtag-like UI to use binders as tags

allow binders to be referenced in queries e.g. binder: wishlist AND price: [0 TO 10]

Regular Settings Window

When you click on "General Settings", it brings up a browser window with an XML code. The user is supposed to rewrite such code to change the settings in his/her app.

Having a regular Settings Window pop-up is a lot more user friendly (as well as more visually pleasing)

Tag cards within decks

The cards inside deck can be assigned one or several user-defined tags, e.g. 'creature_removal', 'counterspell'.

The filter by tags is added to the deck panel to show or hide cards with specific tags.

Customizable tab system

This is more of a suggestion than an issue, and I believe it can be quite challenging to pull off. However, I believe it can make the app stand out among the other collection manager apps.

Instead of the "TDI system" that's being used today, I'm thinking of making the app as like a big white board in which you can bring multiple windows, to maximize user customization (and boost practicality).

It would work something like the Fruity Loops UI: when you open the app, it would be empty, with just the superior row for tab selection and other options. From there, you could prompt the app to open windows specifically for the things you want to work on (a Deck window, a Collection window, a Search window, a Selected Card Details window, etc).
Those windows would be each scalable and customizable on their own (this way, the user could choose how he wants his interface to look like, both to enhance aesthetics and boost usability).
The tabs would be used to manage multiple "white boards".

Import collection from mtga

(found in C:\Program Files (x86)\Wizards of the Coast\MTGA\MTGA_Data\Downloads\downloads.manifest)

C:\Program Files (x86)\Wizards of the Coast\MTGA\MTGA_Data\Downloads\AssetBundle\arenasup_mdnassetlibrary_974cf4730a4eee7bd102281a1b2f50a3.mtga

C:\Users\Kolia\AppData\LocalLow\Wizards Of The Coast\MTGA\output_log.txt
<== PlayerInventory.GetPlayerCardsV3(732)

Search Bar history

using Undo does not solve it, is too slow and inconvenient

  • add possibility to pick query from history menu
  • menu should allow alphabetical and chronological sorting
  • possibility to add to favorites
    • current query
    • query from history
  • optionally show only favorites in history
  • possibility to filter history items by Window / Tab Id
  • 'search as you type' in history menu

Improve deck editor help

or use Right and Middle mouse buttons

vague, hard to understand

dragging a card to main deck / sideboard tab

dragging a card to a tab in window header

hard to understand what tabs are referred to without an illustration

Make Search Bar multiline-friendly

  • add line break on Shift + Enter or Ctrl+Enter
  • handle Tab key
  • extend search bar height to fit all rows, until certain maximum is reached
  • collapse multiline to single-line
    • when
      • changes applied by Enter
      • search bar loses focus
    • preserve text editor state when collapsing
    • restore collapsed to multiline if text editing keyboard button is pressed while focus at search bar
    • show full multiline query in tooltip of collapsed to single-line search bar
  • make auto-collapse optional, add button to collapse manually

failed Import / export split cards in MTGO format

Importing and exporting some cards, I could find that there is something weird going on with these split cards like:

1 Appeal/Authority
1 Turn/Burn

If added to a deck and exported as MTG_Online format, they simply despear, well, depending on the selected side of the split card.

Examples:
as mtgdb.gui format all good but
test_deck_json.txt

as MTG_Online format some of the cards are missing
test_deck.txt

Phrase query

Text: "\+ ? \+"

matches

[+1]: You gain 1 life.

New UI

You see, the app has quite a lot of issues in regards to UI. The filter system is badly optimized (takes the whole window and is kinda incomplete), the setting tab and the search engine requires you to have knowledge of coding (something not everyone have), card images are not scalable and the inability to see both your collection and the full catalog at the same time is quite annoying. It's a good app, but has a lot of room for improvement

Deck organizer

Forum post

I'm looking for something that searches for a deck based on the cards you have (or on a list you provide).

The idea is to show a GUI where

  • you see your decks
  • can somehow mass-import decks
  • can sort / filter by aggregated properties of decks

The problem user was trying to solve would be answered by aggregated properties like Missing Cards Count, Missing Cards Price

In order for the aggregates to be useful, deck should be transformed before calculating the aggregate, e.g. non-owned cards should be replaced by owned namesakes when available.

This leads to a notion of deck-to-collection and deck-to-market matching settings that influence how the deck aggregates are calculated.

UI fails to display cards after a cardlist update

issue description, importance statement

Version: v4.0.1.1

I launched the application (which displayed the cards fine) and went into the update menu, updated the card list from mtgjson.com and restarted the application. Nothing appears in the card window. I checked the logs and found this log:

2019-02-26 16:02:50.3482	11	Error	Mtgdb.Ui.Loader	"System.ArgumentException: An item with the same key has already been added.
   at Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
   at Mtgdb.Ui.Loader.<>c__DisplayClass4_0.<<wrap>b__0>d.MoveNext()"	"System.ArgumentException: An item with the same key has already been added.
   at Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
   at Mtgdb.Ui.Loader.<>c__DisplayClass4_0.<<wrap>b__0>d.MoveNext()"

I deleted the bundle that's extracted from the release zip and unzipped again (to return to the default state) and it correctly launched with the cards in view, so I think that confirms something in the updated card list is breaking the UI.

Expected Result: Able to update with the latest card json and have the UI continue to work.

Card matching settings for deck list

In order for the aggregates to be useful, deck should be transformed before calculating the aggregate, e.g. non-owned cards should be replaced by owned namesakes when available.

This leads to a notion of deck-to-collection and deck-to-market matching settings that influence how the deck aggregates are calculated.

Print tokens

Let user add tokens to deck so he can print them

Don't ship pdb files

Never used your app (and will probably never use it as it's Windows-only, that's the "like:" feature that brought it to my attention), but I downloaded it, and browsed through the directories. You ship pdb files, and this only makes sense for developers, not users, so unless you target a developer audience, you should probably not ship them in your releases.

Interrupted Selection from right to left in Search Bar

Reproduce:

  • paste into Search Bar
ManaCost: (\{w\} AND \{r\} AND NOT /.*[gbuc123456789x].*/) AND Cmc: 2
  • With mouse try select text from rightmost to leftmost character

Result:
Selection range is interruted and starts with some intermediate position

Does not reproduce if first click of selection is done when window is not focused

Do not ship megatools

it can be hosted in gdrive and downloaded when it's usage is required

  • to upgrade the app
  • to download artworks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.