mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2026-06-02 14:04:55 -04:00
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.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
#include <QApplication>
|
||||
#include <QIdentityProxyModel>
|
||||
#include <QSqlTableModel>
|
||||
#include "Configuration.hpp"
|
||||
#include "models/Bands.hpp"
|
||||
#include "item_delegates/ForeignKeyDelegate.hpp"
|
||||
@@ -43,26 +44,44 @@ namespace
|
||||
class CabrilloLogWindow::impl final
|
||||
{
|
||||
public:
|
||||
explicit impl () = default;
|
||||
explicit impl (QSqlTableModel * log_model)
|
||||
: log_model_ {log_model}
|
||||
{
|
||||
}
|
||||
|
||||
QSqlTableModel * log_model_;
|
||||
FormatProxyModel format_model_;
|
||||
Ui::CabrilloLogWindow ui_;
|
||||
};
|
||||
|
||||
CabrilloLogWindow::CabrilloLogWindow (QSettings * settings, Configuration const * configuration
|
||||
, QAbstractItemModel * cabrillo_log_model, QWidget * parent)
|
||||
, QSqlTableModel * cabrillo_log_model, QWidget * parent)
|
||||
: AbstractLogWindow {"Cabrillo Log Window", settings, configuration, parent}
|
||||
, m_{cabrillo_log_model}
|
||||
{
|
||||
setWindowTitle (QApplication::applicationName () + " - Cabrillo Log");
|
||||
m_->ui_.setupUi (this);
|
||||
m_->format_model_.setSourceModel (cabrillo_log_model);
|
||||
set_log_model (&m_->format_model_);
|
||||
m_->format_model_.setSourceModel (m_->log_model_);
|
||||
m_->ui_.log_table_view->setModel (&m_->format_model_);
|
||||
set_log_view (m_->ui_.log_table_view);
|
||||
m_->ui_.log_table_view->setItemDelegateForColumn (2, new DateTimeAsSecsSinceEpochDelegate {this});
|
||||
m_->ui_.log_table_view->setItemDelegateForColumn (3, new CallsignDelegate {this});
|
||||
m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), cabrillo_log_model, 0, 6, this});
|
||||
m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), m_->log_model_, 0, 6, this});
|
||||
m_->ui_.log_table_view->horizontalHeader ()->moveSection (6, 1); // band to first column
|
||||
}
|
||||
|
||||
CabrilloLogWindow::~CabrilloLogWindow ()
|
||||
{
|
||||
}
|
||||
|
||||
void CabrilloLogWindow::log_model_changed (int row)
|
||||
{
|
||||
if (row >= 0)
|
||||
{
|
||||
m_->log_model_->selectRow (row);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_->log_model_->select ();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user