Some minor improvements

* Allow to toggle word wrap for text messages
* set default ICAO code when simulator isn't connected
This commit is contained in:
Klaus Basan
2015-03-16 20:52:35 +01:00
parent 3153c2012b
commit f074dff095
3 changed files with 40 additions and 5 deletions

View File

@@ -345,7 +345,7 @@ namespace BlackGui
Q_ASSERT(this->getIContextOwnAircraft());
Q_ASSERT(this->getIContextSimulator());
static const CAircraftIcao defaultIcao("C172", "L1P", "FOO", "", ""); // default values
static const CAircraftIcao defaultIcao("C172", "L1P", "", "", ""); // default values
CAircraftIcao icao;
bool simConnected = this->getIContextSimulator() && this->getIContextSimulator()->isSimulating();
@@ -367,6 +367,7 @@ namespace BlackGui
//! \todo Currently not working in OBS mode
this->ui->gbp_LoginMode->setLoginMode(INetwork::LoginNormal);
this->ui->le_SimulatorModel->setText("No simulator");
icao = defaultIcao;
}
if (icao.hasAircraftDesignator())

View File

@@ -24,7 +24,7 @@ namespace BlackGui
this->m_textDocument = new QTextDocument(this);
this->setDocument(m_textDocument);
this->setReadOnly(true);
this->setWordWrapMode(QTextOption::NoWrap);
this->setWordWrap(true);
// menu
this->setContextMenuPolicy(Qt::CustomContextMenu);
@@ -34,11 +34,10 @@ namespace BlackGui
m_actionAll = new QAction("Keep all messages", this);
m_actionWithRecipient = new QAction("With recipient", this);
m_actionWithSender = new QAction("With sender", this);
m_actionWordWrap = new QAction("Word wrap", this);
m_actionWithRecipient->setCheckable(true);
m_actionWithSender->setCheckable(true);
m_actionWithRecipient->setChecked(this->m_withRecipient);
m_actionWithSender->setCheckable(true);
m_actionWithSender->setChecked(this->m_withSender);
m_actionWordWrap->setCheckable(true);
connect(this->m_actionClearTextEdit, &QAction::triggered, this, &CTextMessageTextEdit::clear);
connect(this->m_actionAll, &QAction::triggered, this, &CTextMessageTextEdit::ps_keepLastNMessages);
@@ -46,6 +45,7 @@ namespace BlackGui
connect(this->m_actionLast25, &QAction::triggered, this, &CTextMessageTextEdit::ps_keepLastNMessages);
connect(this->m_actionWithSender, &QAction::triggered, this, &CTextMessageTextEdit::ps_setVisibleFields);
connect(this->m_actionWithRecipient, &QAction::triggered, this, &CTextMessageTextEdit::ps_setVisibleFields);
connect(this->m_actionWordWrap, &QAction::triggered, this, &CTextMessageTextEdit::ps_setWordWrap);
connect(this, &QTextEdit::customContextMenuRequested, this, &CTextMessageTextEdit::ps_showContextMenuForTextEdit);
@@ -146,9 +146,14 @@ namespace BlackGui
void CTextMessageTextEdit::ps_showContextMenuForTextEdit(const QPoint &pt)
{
m_actionWithRecipient->setChecked(this->m_withRecipient);
m_actionWithSender->setChecked(this->m_withSender);
m_actionWordWrap->setChecked(this->m_wordWrap);
QScopedPointer<QMenu> menu(this->createStandardContextMenu());
menu->setObjectName(this->objectName().append("_contextMenu"));
menu->addSeparator();
menu->addAction(this->m_actionWordWrap);
QMenu *subMenu = menu->addMenu("Max.messages");
subMenu->addAction(this->m_actionLast10);
subMenu->addAction(this->m_actionLast25);
@@ -197,4 +202,24 @@ namespace BlackGui
}
}
void CTextMessageTextEdit::setWordWrap(bool wordWrap)
{
m_wordWrap = wordWrap;
if (m_wordWrap)
{
this->setWordWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
}
else
{
this->setWordWrapMode(QTextOption::NoWrap);
}
}
void CTextMessageTextEdit::ps_setWordWrap()
{
QObject *sender = QObject::sender();
if (sender != m_actionWordWrap) { return; }
this->setWordWrap(m_actionWordWrap->isChecked());
}
} // namespace

View File

@@ -54,6 +54,9 @@ namespace BlackGui
//! Visible fields
void ps_setVisibleFields();
//! Toggle word wrap
void ps_setWordWrap();
private:
//! Convert to HTML
static QString toHtml(const BlackMisc::Network::CTextMessageList &messages, bool withFrom, bool withTo);
@@ -64,11 +67,15 @@ namespace BlackGui
//! Stylesheet for content
void setStyleSheetForContent(const QString &styleSheet);
//! Word wrap
void setWordWrap(bool wordWrap);
BlackMisc::Network::CTextMessageList m_messages;
QTextDocument *m_textDocument = nullptr;
int m_keepMaxMessages = 10;
bool m_withSender = true;
bool m_withRecipient = false;
bool m_wordWrap = true;
QAction *m_actionClearTextEdit = nullptr;
QAction *m_actionLast10 = nullptr;
@@ -76,6 +83,8 @@ namespace BlackGui
QAction *m_actionAll = nullptr;
QAction *m_actionWithSender = nullptr;
QAction *m_actionWithRecipient = nullptr;
QAction *m_actionWordWrap = nullptr;
};
} // namespace