Band activity & Rx frequency widget enhancements

Ensure that  these windows have  their viewport scrolled fully  to the
left after deocdes and font changes.

Add the band to the separator line but only if we are certain that the
decodes below it are on that band.

Thanks to  Ton PA0TBR for the  implementation and testing of  the core
features of this change.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5207 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville 2015-04-10 20:25:14 +00:00
parent 99bacb5aa2
commit 227a7907df
3 changed files with 24 additions and 9 deletions

View File

@ -28,6 +28,11 @@ void DisplayText::setContentFont(QFont const& font)
cursor.mergeCharFormat (m_charFormat); cursor.mergeCharFormat (m_charFormat);
cursor.clearSelection (); cursor.clearSelection ();
cursor.movePosition (QTextCursor::End); cursor.movePosition (QTextCursor::End);
// position so viewport scrolled to left
cursor.movePosition (QTextCursor::Up);
cursor.movePosition (QTextCursor::StartOfLine);
setTextCursor (cursor); setTextCursor (cursor);
ensureCursorVisible (); ensureCursorVisible ();
} }
@ -40,11 +45,9 @@ void DisplayText::mouseDoubleClickEvent(QMouseEvent *e)
QTextEdit::mouseDoubleClickEvent(e); QTextEdit::mouseDoubleClickEvent(e);
} }
void DisplayText::insertLineSpacer() void DisplayText::insertLineSpacer(QString const& line)
{ {
QString tt="----------------------------------------"; _insertText (line, "#d3d3d3");
QString bg="#d3d3d3";
_insertText(tt,bg);
} }
void DisplayText::_insertText(const QString text, const QString bg) void DisplayText::_insertText(const QString text, const QString bg)
@ -59,6 +62,11 @@ void DisplayText::_insertText(const QString text, const QString bg)
cursor.movePosition (QTextCursor::End, QTextCursor::KeepAnchor); cursor.movePosition (QTextCursor::End, QTextCursor::KeepAnchor);
cursor.mergeCharFormat (m_charFormat); cursor.mergeCharFormat (m_charFormat);
cursor.clearSelection (); cursor.clearSelection ();
// position so viewport scrolled to left
cursor.movePosition (QTextCursor::Up);
cursor.movePosition (QTextCursor::StartOfLine);
setTextCursor (cursor); setTextCursor (cursor);
ensureCursorVisible (); ensureCursorVisible ();
} }

View File

@ -14,7 +14,7 @@ public:
explicit DisplayText(QWidget *parent = 0); explicit DisplayText(QWidget *parent = 0);
void setContentFont (QFont const&); void setContentFont (QFont const&);
void insertLineSpacer(); void insertLineSpacer(QString const&);
void displayDecodedText(DecodedText decodedText, QString myCall, bool displayDXCCEntity, void displayDecodedText(DecodedText decodedText, QString myCall, bool displayDXCCEntity,
LogBook logBook, QColor color_CQ, QColor color_MyCall, LogBook logBook, QColor color_CQ, QColor color_MyCall,
QColor color_DXCC, QColor color_NewCall); QColor color_DXCC, QColor color_NewCall);

View File

@ -1384,10 +1384,16 @@ void MainWindow::readFromStdout() //readFromStdout
msgBox("Cannot open \"" + f.fileName () + "\" for append:" + f.errorString ()); msgBox("Cannot open \"" + f.fileName () + "\" for append:" + f.errorString ());
} }
if(m_config.insert_blank () && m_blankLine) if (m_config.insert_blank () && m_blankLine)
{ {
ui->decodedTextBrowser->insertLineSpacer(); QString band;
m_blankLine=false; if (QDateTime::currentMSecsSinceEpoch() / 1000 - m_secBandChanged > 50)
{
auto const& bands_model = m_config.bands ();
band = ' ' + bands_model->data (bands_model->find (m_dialFreq + ui->TxFreqSpinBox->value ())).toString ();
}
ui->decodedTextBrowser->insertLineSpacer (band.rightJustified (40, '-'));
m_blankLine = false;
} }
DecodedText decodedtext; DecodedText decodedtext;
@ -2513,7 +2519,8 @@ void MainWindow::acceptQSO2(bool accepted)
{ {
if(accepted) if(accepted)
{ {
QString band = ADIF::bandFromFrequency ((m_dialFreq + ui->TxFreqSpinBox->value ()) / 1.e6); auto const& bands_model = m_config.bands ();
auto band = bands_model->data (bands_model->find (m_dialFreq + ui->TxFreqSpinBox->value ())).toString ();
QString date = m_dateTimeQSO.toString("yyyy-MM-dd"); QString date = m_dateTimeQSO.toString("yyyy-MM-dd");
date=date.mid(0,4) + date.mid(5,2) + date.mid(8,2); date=date.mid(0,4) + date.mid(5,2) + date.mid(8,2);
m_logBook.addAsWorked(m_hisCall,band,m_modeTx,date); m_logBook.addAsWorked(m_hisCall,band,m_modeTx,date);