Commit Graph

11 Commits

Author SHA1 Message Date
Bill Somerville
12b6efb189 Make sure database models are synchronized before using QSqlTableModel::rowCount()
This is necessary  as the cached model will not  reflect a correct row
count if there are un-fetched rows.
2019-01-21 13:35:18 +00:00
Bill Somerville
12299957d7 Add Fox log ADIF export to the Fox Log window log table contextual pop up menu 2018-12-30 12:35:41 +00:00
Bill Somerville
b8e4517718 Improve performance of Fox and contest log view windows
This include inverting  the order of table view rows  so the newest is
at the top, without that the Qt MVC interactions when using a database
table based model is too slow and complex to manage.

The table views  now have sort by column capability  in the normal way
(click column  header to  reverse sort order)  for timely  logging and
non-disruption  of  Tx  starts  the  log  view  should  be  sorted  in
descending time order and scrolled to the last row added. Without that
Fox and  contest logging will work  but serious delays may  be invoked
that disrupt operation.
2018-12-06 05:41:16 +00:00
Bill Somerville
d5c59e51c1 Ensure that pending log table edits do not lock out adding new QSOs
Pending edits are  now discarded when adding a new  log contest or Fox
log record.  Also switch to commit  on fields change edit  strategy so
there should be no pending edits now anyway.
2018-12-02 02:30:32 +00:00
Bill Somerville
db51726da2 Move Fox log reset action to Fox log window context menu and allow deletes of QSOs
Move to OnRowChange edit strategy for log tables so that deletes from
view can be implemented cleanly.

Improve layout of log view tables by resizing to contents.
2018-11-25 22:19:41 +00:00
Bill Somerville
c81b3c8e65 Validate contest QSO details before allowing logging
Basic  validation, must  have  non-empty exchange  sent and  received.
Abstracted log view window widget  behaviour into a base class. Turned
on  auto  resize  to  row  height in  log  view  windows  and  enabled
alternating colours. Convert  empty fields to NULL  when inserting new
log table  rows to signify missing  data. Trap insert row  errors when
adding  to contest  log table  so  that logging  can be  held back  if
constraints are not met. Re-factored  log QSO processing to try insert
row into log table  first and pop up a message  box if constraints are
not met, this pops  up the Log QSO window in case  it was initiated by
an auto log event.
2018-11-23 01:18:39 +00:00
Bill Somerville
018a1218ce Fix swapped sent and received reports in Fox log window 2018-11-12 18:26:05 +00:00
Bill Somerville
c2ec277cfc Fix assert when resetting empty Fox log table 2018-11-12 04:00:55 +00:00
Bill Somerville
0d6f6612d7 Improved FoxLog model, has dupe check query and better error checking
Now uses factored out helpers in qt_db_helpers.hpp .
2018-11-12 02:06:44 +00:00
Bill Somerville
f9151ee3f2 Fix typos that break the build on non-Windows machines 2018-11-07 23:55:15 +00:00
Bill Somerville
947b429723 Start implememntation of database based Fox log model and a new Fox log window widget
This change incorporates a reorganization of the GUI code with
widgets, validators, models, and item delegates being moved to
sub-directories.

Relax  the   requirements  of   the  ForeignKeyDelegate   and  related
CandidateKeyFilter classes to  allow them to work  with constant model
pointers for both referenced and referencing models.
2018-11-07 17:49:45 +00:00