GithubHelp home page GithubHelp logo

kflog-project / kflog Goto Github PK

View Code? Open in Web Editor NEW
17.0 17.0 8.0 46.88 MB

Flight planning and analysis software

License: Other

Shell 0.21% Makefile 0.09% Python 0.49% C++ 94.77% QMake 0.44% C 3.53% PowerShell 0.18% NSIS 0.21% Batchfile 0.09%

kflog's People

Contributors

exadios avatar hjr avatar klaussnd avatar offa avatar speed-axel avatar ventusfahrer avatar washingt0 avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

kflog's Issues

Replace the 2 control zone items by a new one

KFLog uses two different items for a control zone. These items should be replaced by one common item because the airspace file format description do not differ between different control zones.

Port KFLog to Qt5

KFLog should be ported to Qt5 to be useable in the future. The effort is not so much. Cumulus can be used as an example for that.

Menu Flight - Show Flight Data has no function

When changing the selection Flight - Show Flight Data from Altitude to something else nothing changes in the visualization of the flight path.

I looks very much like the current visualization only supports Altitude, indication for that is:
changing the value of Flight Path width for the altitude in Settings - Kflog Setup... Flight Display the flight path is shown with the selected with - regardless the selection of Flight - Show Flight Data.

Other Flight Path Width values are not used, the colors in the settings dialogs are not used at all. The colors used for the path are somewhat depending on the heigth (you can see that the color changes after a thermal), but there is no legent (color - heigth) shown anywhere.

Crash after opening and closing the KFLog settings dialog

without doing any changes.

I am not very familiar with Qt and mingw but I think we are facing an overwritten stack.
The crash happens after the Settings Dialog has been close at the end of the reload (progress bar is close to 100%).

Any idea what I should look for?

regards

Peter

Callstack:

0 WaypointTreeView::slotFillWaypoints waypointtreeview.cpp 681 0x52c026
1 WaypointTreeView::qt_static_metacall moc_waypointtreeview.cpp 124 0x53e16a
2 QMetaObject::activate 3567 0x69ddc373
3 KFLogConfig::configOk moc_kflogconfig.cpp 215 0x539ed0
4 KFLogConfig::slotOk kflogconfig.cpp 349 0x479c0e
5 KFLogConfig::qt_static_metacall moc_kflogconfig.cpp 153 0x539c9a
6 QMetaObject::activate 3567 0x69ddc373
7 QAbstractButton::clicked 219 0x29ff8c1
8 QAbstractButtonPrivate::emitClicked 548 0x2788c50
9 QAbstractButtonPrivate::click 541 0x2788bce
10 QAbstractButton::mouseReleaseEvent 1123 0x2789e7e
11 QWidget::event 8389 0x24627ba
12 QAbstractButton::event 1082 0x2789d12
13 QPushButton::event 683 0x28222a6
14 QApplicationPrivate::notify_helper 4565 0x2421b4b
15 QApplication::notify 4108 0x241fd9c
16 QCoreApplication::notifyInternal 953 0x69dc81b5
17 QCoreApplication::sendSpontaneousEvent 234 0x2a6ca89
18 QApplicationPrivate::sendMouseEvent 3171 0x241e6d4
19 QETWidget::translateMouseEvent 3386 0x247e46b
20 QtWndProc*16 1713 0x2479348
21 gapfnScSendMessage C:\Windows\system32\user32.dll 0x75ddc4e7
22 ?? 0x100230
23 gapfnScSendMessage C:\Windows\system32\user32.dll 0x75ddc5e7
24 qt_is_translatable_mouse_event 1477 0x2478911
25 ?? 0x100230
26 gapfnScSendMessage C:\Windows\system32\user32.dll 0x75ddcc19
27 ??

Task definitions and flight task evaluation are too restrictive

According to IGC Code Sportive Section 3 / Class D, 4.2 it is not necessary to specify the airfield you are starting and landing during a task.

Currently KFLog requires Startfield / Startpoint / Taskpoint 1...n / Endpoint / Endfield.

The first and the last are not necessary for an IGC Badge or Record Flight.

This should be fixed in the Task Editor and the Task-Validation routines.

List of Airfields in Identity is filtered

when selecting the Homesite in Settings - KFLog Setup - Identity, the list of shown airfields is filtered according the Airfields specifications in Airfields Dialog.

This looks like a chicken-egg-problem.

At this point I would expect the unfiltered Airfields list - but that is a minor enhancement

Improve task editor help

At the moment the task editor opens a message box with hints to the selected task type, if the task editor is opened. The popup message boxes can not be switched off even if the related checkbox is checked.

The QNH handling of a flight must be improved.

The QNH handling of a flight must be improved.

  1. Do not ask during read in of a flight for the QNH. That prevents batch jobs. Set always the QNH to 1013 hPa.
  2. The set QHN should not be stored in every read flight point. That makes no sense. Put it in the statistics of a flight.
  3. Show the set QNH in the airspace item of a flight in the object tree. Here is the right place, if the user must adapt it due to airspace violations.
  4. Add the duration of an airspace violation to the text.
  5. Add a mouse popup menu to the airspace item in the object tree for QNH setting and airspace violation check.
  6. Move all QNH actions from the flight loader into the flight class because every flight can have its own QNH.

limit scope of Default button

defaultbuttonscopy

currently the reset scope of the Default button is global.
If I am working on the forrest element and hit the default button the settings of all other map elements (Airspace A...Trail) are also resetted to the programs defaults.

The default button should only reset the current map element back to default.

Standardize Online Help System

Currently KFLog uses two different Helpsystems,

  1. Help -> What's this is only working over the map area, other dialogs are not using this helpsystem
  2. Windows --> Show Help Window. This Windows is only working for the Evaluation Window.

If the Evaluation is part of the KFLog Window the Help Window seems to be a part of the Evaluation Windows (additional Tab in this Window). If the Evaluation Window is used as a separate dialog (Window with Windows Manager decoration) the help Windows stays inside the KFLog application and is no longer a TAB of Evaluation.

Following enhancements are proposed:

  1. We should use none unique mechanism to implement online help
  2. All KFLog-dialogs/windows should implement their help into this mechanism.

provide a KFLog user guide

An up-to-date KFLog user guide is currently not available. There exists only an old German user guide from release 3.x, which is not more up-to-date. At first an English user guide should be setup.

KFLog crashes, if the main window is resized

KFLog crashes, if the main window is resized and a message box is opened to ask the user for data downloads. That was observed on a 64bit XUbuntu OS in a virtual box from Oracle. Analysing that, I found out the following facts:

  1. Main window is resized by the user
  2. That generates a resize event by Qt and implies a redraw of the KFLog map
  3. During the redraw of the map is detected, that map data are missing.
  4. That implies to ask the user to allow the downloads of the missing data in a Qt message box
  5. The Qt message box goes into the GUI event loop and waits for an answer from the user. The resize event call is not yet finished at this moment.
  6. The user generates further resize events, which will overrun the previous resize event.
  7. If the user answers to the message box and the first resize event is finished, the application is crashing.

I could fix that, by introducing a single shot timer in the resize event call, so that the resize event is immediately finished and the further processing is done in the generated timer event.

QTimer::singleShot(0, this, SLOT(slotRedrawMap()));

That has prevented further crashes on a 64bit XUbuntu OS in a virtual box from Oracle.

enhance user experience with mouse wheel zooming

  • zooming is very slow at the moment
  • every wheel-click will increase/decrease the zoom/level by one scale.
  • +10 zoom events can easily happen with one time turning the wheel

very bad user experience caused by slow performance!
(maybe one should peek events from the event queue and do only one zoom operation instead of 10).

  • when mouse wheel based zooming is handeled the current mouse location on the map should also be considered to move the map center towards the mouse position.

how did I get to here

Don't ask me how I get to here. I don't know it.
And it is even hard to get back to germany:-)
interesting coords

downloadmanager.cpp changes do break welt2000 download

we have the loop again.

download manager does download welt2000.txt to kflog/mapdata/airfields/wetl2000.txt.new

some later:

welt2000.cpp does following check:

get last writetime on kflog/mapdata/airfields/wetl2000.txt
if the file was alread downloaded today it will load the file - no further downloads.
if the timestamp of the file is older than today, it will trigger the download.

This check is done to avoid unnecessary downloads in the case kflog is started mutliple times.
But the check makes no sense if the file is already downloaded before the check is performed.

if kflog/mapdata/airfields/wetl2000.txt does not exist welt2000.cpp will trigger the download manager, who will again download welt2000.txt.new.

No routine is currently renaming (or copying) welt2000.txt.new to welt2000.txt.

allow transparency on forrest

currently we can't change the transparency (opaqueness) on forrest objects (the controls are disabled).

All map elements which cover areas should allow the selection of opaqueness.

opaqueforrest

elevation display in statusbar

The elevation label in the statusbar is not updated during flight animation. Furthermore it considers not the user's set unit.

Map Scale Settings limits and units

scalelimits

Scale Limits:

  1. Changing the Lower Limit seems not to have any influence on zooming.
  2. Changing the Upper Limit seems to have no effect on the maximum zoom, but the smaller you choose the number, the smaller you can zoom (looks like working as lower limit)

What units are we talking about (kilometers / miles / pixels)???
The units we are working on should be shown.

Action shortcuts in temporary popup menus makes no sense.

The defined action shortcuts in the temporary popup menus e.g. of map and object browser makes no sense because they can overlap with the global menu shortcuts. Therefore action shortcuts should only be used in the global tool menus.

waypoint and airfields handling

when planing a task we have to specify takeoff Start and End location.
This three points will be identical with airfields in most cases.

They have to be part of the waypoint catalog otherwise we can't select them into a task.
On the map we will then show airfields and waypoints which are airfields in order to work with them.

this leads into double information on the map in order to work properly with tasks.
fp1

The example shows Musbach with the gilder symbol (originated in airfields) and a black rectangle (originated from the waypoint catalog).

My suggestion would be, that we should have something like a merged waypoint catalog which will contain the airfields and the elements from the waypoint catalog selected with a filter.

check whether forrest area is show correctly

if I have a look at my home area, I recognize that the forrest zones (the two dark green doted areas) visible on the KFLog map do not really represent what is existing:

wasndas

compare it with google maps

gmaps

is there any possibility to have a look on a map generated with other software and based on the same data?

by the way:
I would prefer a different default setting for forrest - something looking like this:

smarter

crash in OpenGL 3D view

with test IGC File: KFLog/testdata/391V7331.igc.

crash happens only on linux (windows has no opengl port).

what is the purpose of menu item Window?

Menu item it is always empty.
Under menu item Settings we have a lot of entries which create new dialogs/windows. most of the dialogs do not deal very much with Settings.
w1

We should either move them to the Windows Menu Item - or delete the Windows Menu Item

Provide GUI surface translations for other languages

Provide GUI surface translations for other languages. The KFLog default language is English. As next a German translation should be provided. Other languages are also possible, if we get the support for that. Qt uses the tr macro for strings to be translated. The KFLog code uses this macro already.

Don't use DOM model for reading/writing of KFLog XML waypoint files

We should change in the class WaypointCatalog the usage of the xml DOM model to a xml stream reader model for reading/writing of KFLog XML waypoint files. The DOM model uses a lot of allocated memory and can therefore cause problems, if the waypoint files are very big.

Maybe the waypoint XML syntax structure should also be overworked?

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.