Skip to content
GitLab
Menu
Why GitLab
Pricing
Contact Sales
Explore
Why GitLab
Pricing
Contact Sales
Explore
Sign in
Get free trial
Commits on Source (3)
chore: formatting (ran black)
· 47b007ca
Daniel Seiller
authored
Sep 28, 2019
47b007ca
docs: Update CHANGELOG.md and README.md
· 38acfc7e
Daniel Seiller
authored
Sep 28, 2019
38acfc7e
fix(config): Add missing defaults
· 30dbd24b
Daniel Seiller
authored
Oct 23, 2019
30dbd24b
Hide whitespace changes
Inline
Side-by-side
CHANGELOG.md
View file @
30dbd24b
## [Unreleased]
## [v0.19.0] - 2019-09-28
### Features
-
**config:**
impelemt save and load to GUI
[
65fe131
](
https://gitlab.com/Earthnuker/ed_lrr/commit/65fe131
)
## [v0.18.0] - 2019-09-28
### Features
-
**GUI:**
implement preprocessing
[
f34d37a
](
https://gitlab.com/Earthnuker/ed_lrr/commit/f34d37a
)
## [v0.17.0] - 2019-09-28
### Documentation
-
Update TODO list in readme
[
4663d4e
](
https://gitlab.com/Earthnuker/ed_lrr/commit/4663d4e
)
### Features
-
**installer:**
switch from LZMA to LZMA2
[
3ee952e
](
https://gitlab.com/Earthnuker/ed_lrr/commit/3ee952e
)
## [v0.16.0] - 2019-09-28
### Features
...
...
@@ -174,7 +189,10 @@
## v0.0.0 - 2019-07-15
[
Unreleased
]:
https://gitlab.com/Earthnuker/ed_lrr/compare/v0.16.0...HEAD
[
Unreleased
]:
https://gitlab.com/Earthnuker/ed_lrr/compare/v0.19.0...HEAD
[
v0.19.0
]:
https://gitlab.com/Earthnuker/ed_lrr/compare/v0.18.0...v0.19.0
[
v0.18.0
]:
https://gitlab.com/Earthnuker/ed_lrr/compare/v0.17.0...v0.18.0
[
v0.17.0
]:
https://gitlab.com/Earthnuker/ed_lrr/compare/v0.16.0...v0.17.0
[
v0.16.0
]:
https://gitlab.com/Earthnuker/ed_lrr/compare/v0.15.0...v0.16.0
[
v0.15.0
]:
https://gitlab.com/Earthnuker/ed_lrr/compare/v0.14.0...v0.15.0
[
v0.14.0
]:
https://gitlab.com/Earthnuker/ed_lrr/compare/v0.13.0...v0.14.0
...
...
README.md
View file @
30dbd24b
...
...
@@ -34,5 +34,14 @@ pip install .
then you can run
`ed_lrr -h`
from
# To do
-
Implement progress dialog for preprocessor
-
Implement estimate time to completion display for route computation
\ No newline at end of file
## GUI
-
Implement estimate time to completion display for route computation and preprocessing
## Installer
-
Update PATH from installer
## Preprocessing
-
Build index over
`systemsWithCoordinates.json`
instead of loading it into RAM (reuse
`LineCache`
from
`router.rs`
)
\ No newline at end of file
ed_lrr_gui/__main__.py
View file @
30dbd24b
...
...
@@ -16,7 +16,7 @@ from _ed_lrr import find_sys
CONTEXT_SETTINGS
=
dict
(
help_option_names
=
[
"
-h
"
,
"
--help
"
])
stars_path
=
os
.
path
.
join
(
cfg
[
"
folders.data_dir
"
],
"
stars.csv
"
)
for
folder
in
cfg
[
"
history.
out
_path
"
]:
for
folder
in
cfg
[
"
history.
stars_csv
_path
"
]:
file
=
os
.
path
.
join
(
folder
,
"
stars.csv
"
)
if
os
.
path
.
isfile
(
file
):
stars_path
=
file
...
...
ed_lrr_gui/config.py
View file @
30dbd24b
...
...
@@ -11,25 +11,22 @@ config_file.touch()
cfg
=
profig
.
Config
(
str
(
config_file
),
strict
=
True
)
cfg
.
init
(
"
history.bodies_url
"
,
[],
"
path_list
"
,
comment
=
"
history of bodies.json urls
"
)
cfg
.
init
(
"
history.systems_url
"
,
[],
"
path_list
"
,
comment
=
"
history of systems.json urls
"
)
cfg
.
init
(
"
history.bodies_url
"
,
[
"
https://www.edsm.net/dump/bodies.json
"
],
"
path_list
"
,
comment
=
"
history of bodies.json urls
"
)
cfg
.
init
(
"
history.systems_url
"
,
[
"
https://www.edsm.net/dump/systemsWithCoordinates.json
"
],
"
path_list
"
,
comment
=
"
history of systems.json urls
"
)
cfg
.
init
(
"
history.bodies_path
"
,
[],
[
os
.
path
.
join
(
config_dir
,
"
data
"
,
"
bodies.json
"
)
],
"
path_list
"
,
comment
=
"
history of bodies.json download paths
"
,
)
cfg
.
init
(
"
history.systems_path
"
,
[],
[
os
.
path
.
join
(
config_dir
,
"
data
"
,
"
systemsWithCoordinates.json
"
)
],
"
path_list
"
,
comment
=
"
history of systems.json download paths
"
,
)
cfg
.
init
(
"
history.stars_csv_path
"
,
[],
"
path_list
"
,
comment
=
"
history of paths for stars.csv
"
,
"
history.stars_csv_path
"
,
[
os
.
path
.
join
(
config_dir
,
"
data
"
,
"
stars.csv
"
)],
"
path_list
"
,
comment
=
"
history of paths for stars.csv
"
)
cfg
.
init
(
"
route.range
"
,
7.56
,
comment
=
"
jump range
"
)
cfg
.
init
(
"
route.primary
"
,
False
,
comment
=
"
only route through primary stars
"
)
...
...
@@ -43,4 +40,7 @@ cfg.init("route.prune.steps", 5, comment="number of steps before path gets prune
cfg
.
init
(
"
route.greediness
"
,
0.5
,
comment
=
"
A* greediness
"
)
cfg
.
init
(
"
folders.data_dir
"
,
os
.
path
.
join
(
config_dir
,
"
data
"
),
comment
=
"
Data directory
"
)
cfg
.
init
(
"
GUI.theme
"
,
'
dark
'
,
comment
=
"
GUI theme to use
"
)
cfg
.
sync
()
ed_lrr_gui/gui/ed_lrr.py
View file @
30dbd24b
...
...
@@ -15,7 +15,9 @@ class Ui_ED_LRR(object):
ED_LRR
.
setObjectName
(
"
ED_LRR
"
)
ED_LRR
.
setEnabled
(
True
)
ED_LRR
.
resize
(
577
,
500
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Fixed
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Fixed
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
ED_LRR
.
sizePolicy
().
hasHeightForWidth
())
...
...
@@ -26,10 +28,14 @@ class Ui_ED_LRR(object):
ED_LRR
.
setDocumentMode
(
False
)
ED_LRR
.
setTabShape
(
QtWidgets
.
QTabWidget
.
Rounded
)
self
.
centralwidget
=
QtWidgets
.
QWidget
(
ED_LRR
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Preferred
,
QtWidgets
.
QSizePolicy
.
Preferred
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Preferred
,
QtWidgets
.
QSizePolicy
.
Preferred
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
centralwidget
.
sizePolicy
().
hasHeightForWidth
())
sizePolicy
.
setHeightForWidth
(
self
.
centralwidget
.
sizePolicy
().
hasHeightForWidth
()
)
self
.
centralwidget
.
setSizePolicy
(
sizePolicy
)
self
.
centralwidget
.
setObjectName
(
"
centralwidget
"
)
self
.
verticalLayout
=
QtWidgets
.
QVBoxLayout
(
self
.
centralwidget
)
...
...
@@ -49,27 +55,39 @@ class Ui_ED_LRR(object):
self
.
formLayout
.
setObjectName
(
"
formLayout
"
)
self
.
lbl_bodies_dl
=
QtWidgets
.
QLabel
(
self
.
tab_download
)
self
.
lbl_bodies_dl
.
setObjectName
(
"
lbl_bodies_dl
"
)
self
.
formLayout
.
setWidget
(
1
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_bodies_dl
)
self
.
formLayout
.
setWidget
(
1
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_bodies_dl
)
self
.
lbl_systems_dl
=
QtWidgets
.
QLabel
(
self
.
tab_download
)
self
.
lbl_systems_dl
.
setObjectName
(
"
lbl_systems_dl
"
)
self
.
formLayout
.
setWidget
(
3
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_systems_dl
)
self
.
formLayout
.
setWidget
(
3
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_systems_dl
)
self
.
inp_bodies_dl
=
QtWidgets
.
QComboBox
(
self
.
tab_download
)
self
.
inp_bodies_dl
.
setEditable
(
True
)
self
.
inp_bodies_dl
.
setInsertPolicy
(
QtWidgets
.
QComboBox
.
InsertAtTop
)
self
.
inp_bodies_dl
.
setObjectName
(
"
inp_bodies_dl
"
)
self
.
formLayout
.
setWidget
(
1
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
inp_bodies_dl
)
self
.
formLayout
.
setWidget
(
1
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
inp_bodies_dl
)
self
.
inp_systems_dl
=
QtWidgets
.
QComboBox
(
self
.
tab_download
)
self
.
inp_systems_dl
.
setEditable
(
True
)
self
.
inp_systems_dl
.
setInsertPolicy
(
QtWidgets
.
QComboBox
.
InsertAtTop
)
self
.
inp_systems_dl
.
setObjectName
(
"
inp_systems_dl
"
)
self
.
formLayout
.
setWidget
(
3
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
inp_systems_dl
)
self
.
formLayout
.
setWidget
(
3
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
inp_systems_dl
)
self
.
gridLayout
=
QtWidgets
.
QGridLayout
()
self
.
gridLayout
.
setObjectName
(
"
gridLayout
"
)
self
.
inp_bodies_dest_dl
=
QtWidgets
.
QComboBox
(
self
.
tab_download
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
inp_bodies_dest_dl
.
sizePolicy
().
hasHeightForWidth
())
sizePolicy
.
setHeightForWidth
(
self
.
inp_bodies_dest_dl
.
sizePolicy
().
hasHeightForWidth
()
)
self
.
inp_bodies_dest_dl
.
setSizePolicy
(
sizePolicy
)
self
.
inp_bodies_dest_dl
.
setEditable
(
False
)
self
.
inp_bodies_dest_dl
.
setInsertPolicy
(
QtWidgets
.
QComboBox
.
InsertAtTop
)
...
...
@@ -85,10 +103,14 @@ class Ui_ED_LRR(object):
self
.
btn_systems_dest_browse_dl
.
setObjectName
(
"
btn_systems_dest_browse_dl
"
)
self
.
gridLayout_2
.
addWidget
(
self
.
btn_systems_dest_browse_dl
,
0
,
1
,
1
,
1
)
self
.
inp_systems_dest_dl
=
QtWidgets
.
QComboBox
(
self
.
tab_download
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
inp_systems_dest_dl
.
sizePolicy
().
hasHeightForWidth
())
sizePolicy
.
setHeightForWidth
(
self
.
inp_systems_dest_dl
.
sizePolicy
().
hasHeightForWidth
()
)
self
.
inp_systems_dest_dl
.
setSizePolicy
(
sizePolicy
)
self
.
inp_systems_dest_dl
.
setEditable
(
False
)
self
.
inp_systems_dest_dl
.
setInsertPolicy
(
QtWidgets
.
QComboBox
.
InsertAtTop
)
...
...
@@ -111,57 +133,79 @@ class Ui_ED_LRR(object):
self
.
formLayout_3
.
setObjectName
(
"
formLayout_3
"
)
self
.
lbl_bodies_pp
=
QtWidgets
.
QLabel
(
self
.
tab_preprocess
)
self
.
lbl_bodies_pp
.
setObjectName
(
"
lbl_bodies_pp
"
)
self
.
formLayout_3
.
setWidget
(
0
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_bodies_pp
)
self
.
formLayout_3
.
setWidget
(
0
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_bodies_pp
)
self
.
gr_bodies_pp
=
QtWidgets
.
QGridLayout
()
self
.
gr_bodies_pp
.
setObjectName
(
"
gr_bodies_pp
"
)
self
.
btn_bodies_browse_pp
=
QtWidgets
.
QPushButton
(
self
.
tab_preprocess
)
self
.
btn_bodies_browse_pp
.
setObjectName
(
"
btn_bodies_browse_pp
"
)
self
.
gr_bodies_pp
.
addWidget
(
self
.
btn_bodies_browse_pp
,
0
,
1
,
1
,
1
)
self
.
inp_bodies_pp
=
QtWidgets
.
QComboBox
(
self
.
tab_preprocess
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
inp_bodies_pp
.
sizePolicy
().
hasHeightForWidth
())
sizePolicy
.
setHeightForWidth
(
self
.
inp_bodies_pp
.
sizePolicy
().
hasHeightForWidth
()
)
self
.
inp_bodies_pp
.
setSizePolicy
(
sizePolicy
)
self
.
inp_bodies_pp
.
setEditable
(
False
)
self
.
inp_bodies_pp
.
setInsertPolicy
(
QtWidgets
.
QComboBox
.
InsertAtTop
)
self
.
inp_bodies_pp
.
setObjectName
(
"
inp_bodies_pp
"
)
self
.
gr_bodies_pp
.
addWidget
(
self
.
inp_bodies_pp
,
0
,
0
,
1
,
1
)
self
.
formLayout_3
.
setLayout
(
0
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
gr_bodies_pp
)
self
.
formLayout_3
.
setLayout
(
0
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
gr_bodies_pp
)
self
.
lbl_systems_pp
=
QtWidgets
.
QLabel
(
self
.
tab_preprocess
)
self
.
lbl_systems_pp
.
setObjectName
(
"
lbl_systems_pp
"
)
self
.
formLayout_3
.
setWidget
(
1
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_systems_pp
)
self
.
formLayout_3
.
setWidget
(
1
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_systems_pp
)
self
.
gr_systems_pp
=
QtWidgets
.
QGridLayout
()
self
.
gr_systems_pp
.
setObjectName
(
"
gr_systems_pp
"
)
self
.
btn_systems_browse_pp
=
QtWidgets
.
QPushButton
(
self
.
tab_preprocess
)
self
.
btn_systems_browse_pp
.
setObjectName
(
"
btn_systems_browse_pp
"
)
self
.
gr_systems_pp
.
addWidget
(
self
.
btn_systems_browse_pp
,
0
,
1
,
1
,
1
)
self
.
inp_systems_pp
=
QtWidgets
.
QComboBox
(
self
.
tab_preprocess
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
inp_systems_pp
.
sizePolicy
().
hasHeightForWidth
())
sizePolicy
.
setHeightForWidth
(
self
.
inp_systems_pp
.
sizePolicy
().
hasHeightForWidth
()
)
self
.
inp_systems_pp
.
setSizePolicy
(
sizePolicy
)
self
.
inp_systems_pp
.
setEditable
(
False
)
self
.
inp_systems_pp
.
setInsertPolicy
(
QtWidgets
.
QComboBox
.
InsertAtTop
)
self
.
inp_systems_pp
.
setObjectName
(
"
inp_systems_pp
"
)
self
.
gr_systems_pp
.
addWidget
(
self
.
inp_systems_pp
,
0
,
0
,
1
,
1
)
self
.
formLayout_3
.
setLayout
(
1
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
gr_systems_pp
)
self
.
formLayout_3
.
setLayout
(
1
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
gr_systems_pp
)
self
.
lbl_out_pp
=
QtWidgets
.
QLabel
(
self
.
tab_preprocess
)
self
.
lbl_out_pp
.
setObjectName
(
"
lbl_out_pp
"
)
self
.
formLayout_3
.
setWidget
(
2
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_out_pp
)
self
.
gr_out_grid_pp
=
QtWidgets
.
QGridLayout
()
self
.
gr_out_grid_pp
.
setObjectName
(
"
gr_out_grid_pp
"
)
self
.
btn_out_browse_pp
=
QtWidgets
.
QPushButton
(
self
.
tab_preprocess
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Minimum
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Minimum
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
btn_out_browse_pp
.
sizePolicy
().
hasHeightForWidth
())
sizePolicy
.
setHeightForWidth
(
self
.
btn_out_browse_pp
.
sizePolicy
().
hasHeightForWidth
()
)
self
.
btn_out_browse_pp
.
setSizePolicy
(
sizePolicy
)
self
.
btn_out_browse_pp
.
setObjectName
(
"
btn_out_browse_pp
"
)
self
.
gr_out_grid_pp
.
addWidget
(
self
.
btn_out_browse_pp
,
0
,
1
,
1
,
1
)
self
.
inp_out_pp
=
QtWidgets
.
QComboBox
(
self
.
tab_preprocess
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
inp_out_pp
.
sizePolicy
().
hasHeightForWidth
())
...
...
@@ -170,10 +214,14 @@ class Ui_ED_LRR(object):
self
.
inp_out_pp
.
setInsertPolicy
(
QtWidgets
.
QComboBox
.
InsertAtTop
)
self
.
inp_out_pp
.
setObjectName
(
"
inp_out_pp
"
)
self
.
gr_out_grid_pp
.
addWidget
(
self
.
inp_out_pp
,
0
,
0
,
1
,
1
)
self
.
formLayout_3
.
setLayout
(
2
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
gr_out_grid_pp
)
self
.
formLayout_3
.
setLayout
(
2
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
gr_out_grid_pp
)
self
.
btn_preprocess
=
QtWidgets
.
QPushButton
(
self
.
tab_preprocess
)
self
.
btn_preprocess
.
setObjectName
(
"
btn_preprocess
"
)
self
.
formLayout_3
.
setWidget
(
3
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
btn_preprocess
)
self
.
formLayout_3
.
setWidget
(
3
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
btn_preprocess
)
self
.
tabs
.
addTab
(
self
.
tab_preprocess
,
""
)
self
.
tab_route
=
QtWidgets
.
QWidget
()
self
.
tab_route
.
setObjectName
(
"
tab_route
"
)
...
...
@@ -181,14 +229,18 @@ class Ui_ED_LRR(object):
self
.
formLayout_2
.
setObjectName
(
"
formLayout_2
"
)
self
.
lbl_sys_lst
=
QtWidgets
.
QLabel
(
self
.
tab_route
)
self
.
lbl_sys_lst
.
setObjectName
(
"
lbl_sys_lst
"
)
self
.
formLayout_2
.
setWidget
(
0
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_sys_lst
)
self
.
formLayout_2
.
setWidget
(
0
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
lbl_sys_lst
)
self
.
gr_sys
=
QtWidgets
.
QGridLayout
()
self
.
gr_sys
.
setObjectName
(
"
gr_sys
"
)
self
.
btn_sys_lst_browse
=
QtWidgets
.
QPushButton
(
self
.
tab_route
)
self
.
btn_sys_lst_browse
.
setObjectName
(
"
btn_sys_lst_browse
"
)
self
.
gr_sys
.
addWidget
(
self
.
btn_sys_lst_browse
,
0
,
1
,
1
,
1
)
self
.
inp_sys_lst
=
QtWidgets
.
QComboBox
(
self
.
tab_route
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
inp_sys_lst
.
sizePolicy
().
hasHeightForWidth
())
...
...
@@ -221,32 +273,44 @@ class Ui_ED_LRR(object):
self
.
formLayout_2
.
setLayout
(
3
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
gr_mode
)
self
.
chk_permute
=
QtWidgets
.
QCheckBox
(
self
.
tab_route
)
self
.
chk_permute
.
setObjectName
(
"
chk_permute
"
)
self
.
formLayout_2
.
setWidget
(
4
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
chk_permute
)
self
.
formLayout_2
.
setWidget
(
4
,
QtWidgets
.
QFormLayout
.
LabelRole
,
self
.
chk_permute
)
self
.
gridLayout_4
=
QtWidgets
.
QGridLayout
()
self
.
gridLayout_4
.
setObjectName
(
"
gridLayout_4
"
)
self
.
chk_permute_keep_last
=
QtWidgets
.
QCheckBox
(
self
.
tab_route
)
self
.
chk_permute_keep_last
.
setObjectName
(
"
chk_permute_keep_last
"
)
self
.
gridLayout_4
.
addWidget
(
self
.
chk_permute_keep_last
,
0
,
3
,
1
,
1
)
self
.
chk_permute_keep_first
=
QtWidgets
.
QCheckBox
(
self
.
tab_route
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Minimum
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Minimum
,
QtWidgets
.
QSizePolicy
.
Fixed
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
chk_permute_keep_first
.
sizePolicy
().
hasHeightForWidth
())
sizePolicy
.
setHeightForWidth
(
self
.
chk_permute_keep_first
.
sizePolicy
().
hasHeightForWidth
()
)
self
.
chk_permute_keep_first
.
setSizePolicy
(
sizePolicy
)
self
.
chk_permute_keep_first
.
setTristate
(
False
)
self
.
chk_permute_keep_first
.
setObjectName
(
"
chk_permute_keep_first
"
)
self
.
gridLayout_4
.
addWidget
(
self
.
chk_permute_keep_first
,
0
,
2
,
1
,
1
)
self
.
lbl_keep
=
QtWidgets
.
QLabel
(
self
.
tab_route
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Preferred
,
QtWidgets
.
QSizePolicy
.
Preferred
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Preferred
,
QtWidgets
.
QSizePolicy
.
Preferred
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
lbl_keep
.
sizePolicy
().
hasHeightForWidth
())
self
.
lbl_keep
.
setSizePolicy
(
sizePolicy
)
self
.
lbl_keep
.
setObjectName
(
"
lbl_keep
"
)
self
.
gridLayout_4
.
addWidget
(
self
.
lbl_keep
,
0
,
1
,
1
,
1
)
self
.
formLayout_2
.
setLayout
(
4
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
gridLayout_4
)
self
.
formLayout_2
.
setLayout
(
4
,
QtWidgets
.
QFormLayout
.
FieldRole
,
self
.
gridLayout_4
)
self
.
lst_sys
=
QtWidgets
.
QTreeWidget
(
self
.
tab_route
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Expanding
)
sizePolicy
=
QtWidgets
.
QSizePolicy
(
QtWidgets
.
QSizePolicy
.
Expanding
,
QtWidgets
.
QSizePolicy
.
Expanding
)
sizePolicy
.
setHorizontalStretch
(
0
)
sizePolicy
.
setVerticalStretch
(
0
)
sizePolicy
.
setHeightForWidth
(
self
.
lst_sys
.
sizePolicy
().
hasHeightForWidth
())
...
...
@@ -353,17 +417,27 @@ class Ui_ED_LRR(object):
def
retranslateUi
(
self
,
ED_LRR
):
_translate
=
QtCore
.
QCoreApplication
.
translate
ED_LRR
.
setWindowTitle
(
_translate
(
"
ED_LRR
"
,
"
Elite: Dangerous Long Range Route Plotter
"
))
ED_LRR
.
setWindowTitle
(
_translate
(
"
ED_LRR
"
,
"
Elite: Dangerous Long Range Route Plotter
"
)
)
self
.
lbl_bodies_dl
.
setText
(
_translate
(
"
ED_LRR
"
,
"
bodies.json
"
))
self
.
lbl_systems_dl
.
setText
(
_translate
(
"
ED_LRR
"
,
"
systemsWithCoordinates.json
"
))
self
.
inp_bodies_dl
.
setCurrentText
(
_translate
(
"
ED_LRR
"
,
"
https://www.edsm.net/dump/bodies.json
"
))
self
.
inp_systems_dl
.
setCurrentText
(
_translate
(
"
ED_LRR
"
,
"
https://www.edsm.net/dump/systemsWithCoordinates.json
"
))
self
.
inp_bodies_dl
.
setCurrentText
(
_translate
(
"
ED_LRR
"
,
"
https://www.edsm.net/dump/bodies.json
"
)
)
self
.
inp_systems_dl
.
setCurrentText
(
_translate
(
"
ED_LRR
"
,
"
https://www.edsm.net/dump/systemsWithCoordinates.json
"
)
)
self
.
btn_bodies_dest_browse_dl
.
setText
(
_translate
(
"
ED_LRR
"
,
"
...
"
))
self
.
btn_systems_dest_browse_dl
.
setText
(
_translate
(
"
ED_LRR
"
,
"
...
"
))
self
.
btn_download
.
setText
(
_translate
(
"
ED_LRR
"
,
"
Download
"
))
self
.
label
.
setText
(
_translate
(
"
ED_LRR
"
,
"
Download path
"
))
self
.
label_2
.
setText
(
_translate
(
"
ED_LRR
"
,
"
Download path
"
))
self
.
tabs
.
setTabText
(
self
.
tabs
.
indexOf
(
self
.
tab_download
),
_translate
(
"
ED_LRR
"
,
"
Download
"
))
self
.
tabs
.
setTabText
(
self
.
tabs
.
indexOf
(
self
.
tab_download
),
_translate
(
"
ED_LRR
"
,
"
Download
"
)
)
self
.
lbl_bodies_pp
.
setText
(
_translate
(
"
ED_LRR
"
,
"
bodies.json
"
))
self
.
btn_bodies_browse_pp
.
setText
(
_translate
(
"
ED_LRR
"
,
"
...
"
))
self
.
lbl_systems_pp
.
setText
(
_translate
(
"
ED_LRR
"
,
"
systemsWithCoordinates.json
"
))
...
...
@@ -371,7 +445,9 @@ class Ui_ED_LRR(object):
self
.
lbl_out_pp
.
setText
(
_translate
(
"
ED_LRR
"
,
"
Output
"
))
self
.
btn_out_browse_pp
.
setText
(
_translate
(
"
ED_LRR
"
,
"
...
"
))
self
.
btn_preprocess
.
setText
(
_translate
(
"
ED_LRR
"
,
"
Preprocess
"
))
self
.
tabs
.
setTabText
(
self
.
tabs
.
indexOf
(
self
.
tab_preprocess
),
_translate
(
"
ED_LRR
"
,
"
Preprocess
"
))
self
.
tabs
.
setTabText
(
self
.
tabs
.
indexOf
(
self
.
tab_preprocess
),
_translate
(
"
ED_LRR
"
,
"
Preprocess
"
)
)
self
.
lbl_sys_lst
.
setText
(
_translate
(
"
ED_LRR
"
,
"
System List
"
))
self
.
btn_sys_lst_browse
.
setText
(
_translate
(
"
ED_LRR
"
,
"
...
"
))
self
.
btn_add
.
setText
(
_translate
(
"
ED_LRR
"
,
"
Add
"
))
...
...
@@ -393,8 +469,12 @@ class Ui_ED_LRR(object):
self
.
chk_primary
.
setText
(
_translate
(
"
ED_LRR
"
,
"
Primary Stars Only
"
))
self
.
lbl_mode
.
setText
(
_translate
(
"
ED_LRR
"
,
"
Mode
"
))
self
.
btn_go
.
setText
(
_translate
(
"
ED_LRR
"
,
"
GO!
"
))
self
.
tabs
.
setTabText
(
self
.
tabs
.
indexOf
(
self
.
tab_route
),
_translate
(
"
ED_LRR
"
,
"
Route
"
))
self
.
tabs
.
setTabText
(
self
.
tabs
.
indexOf
(
self
.
tab_log
),
_translate
(
"
ED_LRR
"
,
"
Log
"
))
self
.
tabs
.
setTabText
(
self
.
tabs
.
indexOf
(
self
.
tab_route
),
_translate
(
"
ED_LRR
"
,
"
Route
"
)
)
self
.
tabs
.
setTabText
(
self
.
tabs
.
indexOf
(
self
.
tab_log
),
_translate
(
"
ED_LRR
"
,
"
Log
"
)
)
self
.
menu_file
.
setTitle
(
_translate
(
"
ED_LRR
"
,
"
File
"
))
self
.
menuWindow
.
setTitle
(
_translate
(
"
ED_LRR
"
,
"
Window
"
))
self
.
menuStyle
.
setTitle
(
_translate
(
"
ED_LRR
"
,
"
Style
"
))
...
...
ed_lrr_gui/gui/main.py
View file @
30dbd24b
...
...
@@ -26,7 +26,7 @@ from PyQt5.QtWidgets import (
QProgressDialog
,
QTreeWidgetItem
,
QLabel
,
QDialog
QDialog
,
)
...
...
@@ -143,9 +143,9 @@ class RouterJob(Job):
self
.
start
()
def
handle_progess
(
self
,
state
):
if
state
.
get
(
'
return
'
)
is
not
None
:
if
state
.
get
(
"
return
"
)
is
not
None
:
self
.
progress_dialog
.
close
()
route_win
=
WRoute
(
self
.
main_window
,
state
[
'
return
'
])
route_win
=
WRoute
(
self
.
main_window
,
state
[
"
return
"
])
return
msg
=
"
Depth: {depth}
\n
Body: {body}
\n
Queued: {queue_size}
\n
Distance remaining: {d_rem:.2f} Ly
"
.
format
(
**
state
[
"
status
"
]
...
...
@@ -241,18 +241,29 @@ class App(QApplication):
self
.
styles
[
style
]
=
palette
self
.
styles
[
"
Light
"
]
=
self
.
style
().
standardPalette
()
class
WRoute
(
Ui_diag_route
):
def
__init__
(
self
,
main_window
,
hops
):
def
__init__
(
self
,
main_window
,
hops
):
super
().
__init__
()
dialog
=
QDialog
(
main_window
)
dialog
=
QDialog
(
main_window
)
self
.
setupUi
(
dialog
)
for
n
,
item
in
enumerate
(
hops
):
if
item
[
'
body
'
].
startswith
(
item
[
'
system
'
]):
item
[
'
body
'
]
=
item
[
'
body
'
].
replace
(
item
[
'
system
'
],
""
).
strip
()
item
=
QTreeWidgetItem
(
self
.
lst_route
,
[
str
(
n
+
1
),
item
[
'
system
'
],
"
{body} ({star_type})
"
.
format
(
**
item
),
str
(
item
[
'
distance
'
]),
None
])
for
n
,
item
in
enumerate
(
hops
):
if
item
[
"
body
"
].
startswith
(
item
[
"
system
"
]):
item
[
"
body
"
]
=
item
[
"
body
"
].
replace
(
item
[
"
system
"
],
""
).
strip
()
item
=
QTreeWidgetItem
(
self
.
lst_route
,
[
str
(
n
+
1
),
item
[
"
system
"
],
"
{body} ({star_type})
"
.
format
(
**
item
),
str
(
item
[
"
distance
"
]),
None
,
],
)
item
.
setFlags
(
item
.
flags
()
&
~
Qt
.
ItemIsDropEnabled
)
dialog
.
exec_
()
class
ED_LRR
(
Ui_ED_LRR
):
dl_thread
=
None
diag_prog
=
None
...
...
@@ -317,23 +328,23 @@ class ED_LRR(Ui_ED_LRR):
self
.
inp_systems_pp
.
clear
()
self
.
inp_systems_dest_dl
.
clear
()
for
path
in
cfg
[
"
history.systems_path
"
][:]:
self
.
inp_systems_pp
.
addItem
(
path
)
self
.
inp_systems_pp
.
addItem
(
path
)
self
.
inp_systems_pp
.
setCurrentText
(
path
)
self
.
inp_systems_dest_dl
.
addItem
(
path
)
self
.
inp_systems_dest_dl
.
addItem
(
path
)
self
.
inp_systems_dest_dl
.
setCurrentText
(
path
)
self
.
inp_bodies_pp
.
clear
()
self
.
inp_bodies_dest_dl
.
clear
()
for
path
in
cfg
[
"
history.bodies_path
"
][:]:
self
.
inp_bodies_pp
.
addItem
(
path
)
self
.
inp_bodies_pp
.
addItem
(
path
)
self
.
inp_bodies_pp
.
setCurrentText
(
path
)
self
.
inp_bodies_dest_dl
.
addItem
(
path
)
self
.
inp_bodies_dest_dl
.
addItem
(
path
)
self
.
inp_bodies_dest_dl
.
setCurrentText
(
path
)
self
.
inp_sys_lst
.
clear
()
self
.
inp_out_pp
.
clear
()
for
path
in
cfg
[
"
history.stars_csv_path
"
]:
self
.
inp_sys_lst
.
addItem
(
path
)
self
.
inp_sys_lst
.
addItem
(
path
)
self
.
inp_sys_lst
.
setCurrentText
(
path
)
self
.
inp_out_pp
.
addItem
(
path
)
self
.
inp_out_pp
.
addItem
(
path
)
self
.
inp_out_pp
.
setCurrentText
(
path
)
return
...
...
@@ -405,16 +416,27 @@ class ED_LRR(Ui_ED_LRR):
def
compute_route
(
self
):
self
.
bar_status
.
showMessage
(
"
Resolving systems...
"
)
num_resolved
=
self
.
resolve_systems
()
num_resolved
=
self
.
resolve_systems
()
if
num_resolved
:
if
QMessageBox
.
question
(
self
.
main_window
,
"
ED_LRR
"
,
"
Resolved {} system(s), are the names correct?
"
.
format
(
num_resolved
))
==
QMessageBox
.
No
:
if
(
QMessageBox
.
question
(
self
.
main_window
,
"
ED_LRR
"
,
"
Resolved {} system(s), are the names correct?
"
.
format
(
num_resolved
),
)
==
QMessageBox
.
No
):
return
self
.
bar_status
.
clearMessage
()
print
(
self
.
systems
)
systems
=
[
str
(
s
[
"
id
"
])
for
s
in
self
.
systems
]
jump_range
=
self
.
sb_range
.
value
()
if
jump_range
==
0
:
self
.
error
(
"
Your jump range is set to zero, you
'
re not going to get anywhere that way
"
)
if
jump_range
==
0
:
self
.
error
(
"
Your jump range is set to zero, you
'
re not going to get anywhere that way
"
)
return
mode
=
self
.
cmb_mode
.
currentText
()
primary
=
self
.
chk_primary
.
isChecked
()
...
...
@@ -479,7 +501,7 @@ class ED_LRR(Ui_ED_LRR):
def
resolve_systems
(
self
):
# TODO: show spinner
names
=
[]
nums
=
[]
nums
=
[]
for
n
in
range
(
self
.
lst_sys
.
topLevelItemCount
()):
sys_id
=
getattr
(
self
.
lst_sys
.
topLevelItem
(
n
),
"
__id__
"
,
None
)
if
sys_id
is
not
None
:
...
...
@@ -491,7 +513,7 @@ class ED_LRR(Ui_ED_LRR):
systems
=
self
.
find_sys_by_names
(
names
)
if
systems
is
None
:
return
for
i
,
name
in
zip
(
nums
,
names
):
for
i
,
name
in
zip
(
nums
,
names
):
_
,
system
=
systems
[
name
]
self
.
lst_sys
.
topLevelItem
(
i
).
setData
(
0
,
0
,
system
[
"
system
"
])
self
.
lst_sys
.
topLevelItem
(
i
).
setData
(
1
,
0
,
system
[
"
star_type
"
])
...
...
ed_lrr_gui/gui/widget_route.py
View file @
30dbd24b
...
...
@@ -25,7 +25,9 @@ class Ui_diag_route(object):
self
.
lst_route
.
setAlternatingRowColors
(
True
)
self
.
lst_route
.
setSelectionMode
(
QtWidgets
.
QAbstractItemView
.
NoSelection
)
self
.
lst_route
.
setVerticalScrollMode
(
QtWidgets
.
QAbstractItemView
.
ScrollPerItem
)
self
.
lst_route
.
setHorizontalScrollMode
(
QtWidgets
.
QAbstractItemView
.
ScrollPerPixel
)
self
.
lst_route
.
setHorizontalScrollMode
(
QtWidgets
.
QAbstractItemView
.
ScrollPerPixel
)
self
.
lst_route
.
setItemsExpandable
(
False
)
self
.
lst_route
.
setAllColumnsShowFocus
(
False
)
self
.
lst_route
.
setObjectName
(
"
lst_route
"
)
...
...
@@ -53,7 +55,11 @@ class Ui_diag_route(object):
self
.
lst_route
.
headerItem
().
setText
(
0
,
_translate
(
"
diag_route
"
,
"
Num
"
))
self
.
lst_route
.
headerItem
().
setText
(
1
,
_translate
(
"
diag_route
"
,
"
System
"
))
self
.
lst_route
.
headerItem
().
setText
(
2
,
_translate
(
"
diag_route
"
,
"
Body
"
))
self
.
lst_route
.
headerItem
().
setText
(
3
,
_translate
(
"
diag_route
"
,
"
Distance (Ls)
"
))
self
.
chk_copy
.
setText
(
_translate
(
"
diag_route
"
,
"
Auto-copy next hop to clipboard
"
))
self
.
lst_route
.
headerItem
().
setText
(
3
,
_translate
(
"
diag_route
"
,
"
Distance (Ls)
"
)
)
self
.
chk_copy
.
setText
(
_translate
(
"
diag_route
"
,
"
Auto-copy next hop to clipboard
"
)
)
self
.
btn_close
.
setText
(
_translate
(
"
diag_route
"
,
"
Close
"
))
self
.
btn_export
.
setText
(
_translate
(
"
diag_route
"
,
"
Export
"
))