Xanthos-Code / vintel

EVE Online Visual Intel Tool
112 stars 59 forks source link

Qt4x dev #148

Open IslayTzash opened 7 years ago

IslayTzash commented 7 years ago

So ... I made a ton of changes on the QT4 branch, are you interested in them? I suck with QT designer so I may have not made the most pretty preferences windows. I'm working on pulling things into QT5, but that's not going as well.

Major changes:

  1. Dynamically build Region menus based on quick setup preferences. Removed check indicator from region menus as a side effect.
  2. Add quick setup pane to settings where users can paste corp / alliance settings as json all at once. Make more things into configuration settings. There's a sample quick_config_cva.json included that goes back to the old defaults as well as documentation in SETUP.md.
  3. Move jump bridge and chatroom settings into tabbed File > Settings along with quick setup.
  4. Refactor to support automatic reload of history from file on startup and on changing region
    1. Messages now only store a reference to the system name. The system map object is looked up in viui.py using the name as key.
    2. Add list of all systems with regions as systems.py, also include some preprocessing for system matches (common abbreviations I-I, mixing zero and oh, removing dashes) in buildUpperKeyedAliases().
    3. Allow "mark system" or "click region hyperlink" from chat to switch region if system is not in current map. User will see a dialog asking if they want to switch region or cancel.
  5. Cleanup parser_functions.py some. Better ship matching (start & end of ship name for replace). Changed bad character handling in some places, not sure what value the bad char handler adds - it tends to make test string and original string differ so it's harder to find the replacement.
  6. Allow the use of a DOTLAN jumpbridge list to be used to specify jumpbridge rendering, they are automatically included in the retreived SVG. TODO - the info isn't yet used for closeness measures.

Minor fixes / changes:

  1. Make config variable saves to cache more obvious and store them for near infintite lifetime. Keep them in common cache, but use getConfigValue() and saveConfigValue() though other accessors will still work. Added more cache helper functions: deleteFromCache(), flush()
  2. Add flush cache to File menu.
  3. Retain the secondary info line (either sov. info or region) and display it in the title of the chat popup for a system
  4. Wire chat popup to systems rendered as squares on the map, fixes those systems shown on map but which are not part of the current region
  5. Perform an explicit delete from cache on some errors - when have bad svg cached or bad region name saved
    1. Add keyboard shortcuts ctrl + / ctrl - / ctrl 0 for zooming, j to toggle jump bridges. Ctrl mousewheel zooms (except when focus is in map pane, doh)
  6. Fix the Windows 10 taskbar icon to show Vintel logo
  7. My cygwin doesn't have access to the win32 python functions, align cygwin with darwin more than win32.
  8. Add some missing ship types to evegate.py
  9. Catching some weird exceptions from set avatar pixmap where the label object has already been destroyed. I don't see any real issues in the app and it appears safe to ignore them. Previously they were ignored and generated exception log messages.
  10. Set intel lifetime to 60 minutes, update chate history title to reflect live value. Expire "knownMessages" when we prune chat history. TODO: make a config setting.
  11. Updates to README.md for cygwin and win10. Added SETUP.md

TODO / ISSUES

  1. Startup and region switch may be a little slow. They may need a spinner. I'm not sure the region switch is actually slower, it seems fast to me.
  2. I didn't check what happens to audio alarms on intel replay (startup and region switch). They should be suppressed if the intel is old.
  3. If it's too slow, maybe add a configuration variable to disable log replay on start and another for switch region.
  4. The intel time to live setting should be a configuration variable - now MESSAGE_EXPIRY_SECS
  5. Should we include the DOTLAN rendered jumpbridges in the proximity calculations for alarms, it is probably possible to extract this information but it is not done currently.
  6. Region matching is even more broad now, maybe we should restrict it to current region and shortcut regions or include another setting to limit regions for matches. It's not bad for full name matches, but partial matches hit multiple systems in multiple regions and there's no way to express preference now. FMB may be on the current map, but scanning all regions it matches both FMBR-8 [vale] and FMB-JP [deklein]
  7. Port new stuff to Qt5. I was able to merge it all, but it doesn't run yet. I do need the old webkit and had to revert some changes from MainWindow.ui. Next time I get a chance to do some work I'll try your dev branch and see if that runs on my system. I'll keep that work in my qt5x-dev branch.