mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-21 21:05:31 +08:00
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:
@@ -345,7 +345,7 @@ namespace BlackGui
|
|||||||
Q_ASSERT(this->getIContextOwnAircraft());
|
Q_ASSERT(this->getIContextOwnAircraft());
|
||||||
Q_ASSERT(this->getIContextSimulator());
|
Q_ASSERT(this->getIContextSimulator());
|
||||||
|
|
||||||
static const CAircraftIcao defaultIcao("C172", "L1P", "FOO", "", ""); // default values
|
static const CAircraftIcao defaultIcao("C172", "L1P", "", "", ""); // default values
|
||||||
CAircraftIcao icao;
|
CAircraftIcao icao;
|
||||||
|
|
||||||
bool simConnected = this->getIContextSimulator() && this->getIContextSimulator()->isSimulating();
|
bool simConnected = this->getIContextSimulator() && this->getIContextSimulator()->isSimulating();
|
||||||
@@ -367,6 +367,7 @@ namespace BlackGui
|
|||||||
//! \todo Currently not working in OBS mode
|
//! \todo Currently not working in OBS mode
|
||||||
this->ui->gbp_LoginMode->setLoginMode(INetwork::LoginNormal);
|
this->ui->gbp_LoginMode->setLoginMode(INetwork::LoginNormal);
|
||||||
this->ui->le_SimulatorModel->setText("No simulator");
|
this->ui->le_SimulatorModel->setText("No simulator");
|
||||||
|
icao = defaultIcao;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (icao.hasAircraftDesignator())
|
if (icao.hasAircraftDesignator())
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace BlackGui
|
|||||||
this->m_textDocument = new QTextDocument(this);
|
this->m_textDocument = new QTextDocument(this);
|
||||||
this->setDocument(m_textDocument);
|
this->setDocument(m_textDocument);
|
||||||
this->setReadOnly(true);
|
this->setReadOnly(true);
|
||||||
this->setWordWrapMode(QTextOption::NoWrap);
|
this->setWordWrap(true);
|
||||||
|
|
||||||
// menu
|
// menu
|
||||||
this->setContextMenuPolicy(Qt::CustomContextMenu);
|
this->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
@@ -34,11 +34,10 @@ namespace BlackGui
|
|||||||
m_actionAll = new QAction("Keep all messages", this);
|
m_actionAll = new QAction("Keep all messages", this);
|
||||||
m_actionWithRecipient = new QAction("With recipient", this);
|
m_actionWithRecipient = new QAction("With recipient", this);
|
||||||
m_actionWithSender = new QAction("With sender", this);
|
m_actionWithSender = new QAction("With sender", this);
|
||||||
|
m_actionWordWrap = new QAction("Word wrap", this);
|
||||||
m_actionWithRecipient->setCheckable(true);
|
m_actionWithRecipient->setCheckable(true);
|
||||||
m_actionWithSender->setCheckable(true);
|
m_actionWithSender->setCheckable(true);
|
||||||
m_actionWithRecipient->setChecked(this->m_withRecipient);
|
m_actionWordWrap->setCheckable(true);
|
||||||
m_actionWithSender->setCheckable(true);
|
|
||||||
m_actionWithSender->setChecked(this->m_withSender);
|
|
||||||
|
|
||||||
connect(this->m_actionClearTextEdit, &QAction::triggered, this, &CTextMessageTextEdit::clear);
|
connect(this->m_actionClearTextEdit, &QAction::triggered, this, &CTextMessageTextEdit::clear);
|
||||||
connect(this->m_actionAll, &QAction::triggered, this, &CTextMessageTextEdit::ps_keepLastNMessages);
|
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_actionLast25, &QAction::triggered, this, &CTextMessageTextEdit::ps_keepLastNMessages);
|
||||||
connect(this->m_actionWithSender, &QAction::triggered, this, &CTextMessageTextEdit::ps_setVisibleFields);
|
connect(this->m_actionWithSender, &QAction::triggered, this, &CTextMessageTextEdit::ps_setVisibleFields);
|
||||||
connect(this->m_actionWithRecipient, &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);
|
connect(this, &QTextEdit::customContextMenuRequested, this, &CTextMessageTextEdit::ps_showContextMenuForTextEdit);
|
||||||
|
|
||||||
@@ -146,9 +146,14 @@ namespace BlackGui
|
|||||||
|
|
||||||
void CTextMessageTextEdit::ps_showContextMenuForTextEdit(const QPoint &pt)
|
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());
|
QScopedPointer<QMenu> menu(this->createStandardContextMenu());
|
||||||
menu->setObjectName(this->objectName().append("_contextMenu"));
|
menu->setObjectName(this->objectName().append("_contextMenu"));
|
||||||
menu->addSeparator();
|
menu->addSeparator();
|
||||||
|
menu->addAction(this->m_actionWordWrap);
|
||||||
QMenu *subMenu = menu->addMenu("Max.messages");
|
QMenu *subMenu = menu->addMenu("Max.messages");
|
||||||
subMenu->addAction(this->m_actionLast10);
|
subMenu->addAction(this->m_actionLast10);
|
||||||
subMenu->addAction(this->m_actionLast25);
|
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
|
} // namespace
|
||||||
|
|||||||
@@ -54,6 +54,9 @@ namespace BlackGui
|
|||||||
//! Visible fields
|
//! Visible fields
|
||||||
void ps_setVisibleFields();
|
void ps_setVisibleFields();
|
||||||
|
|
||||||
|
//! Toggle word wrap
|
||||||
|
void ps_setWordWrap();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//! Convert to HTML
|
//! Convert to HTML
|
||||||
static QString toHtml(const BlackMisc::Network::CTextMessageList &messages, bool withFrom, bool withTo);
|
static QString toHtml(const BlackMisc::Network::CTextMessageList &messages, bool withFrom, bool withTo);
|
||||||
@@ -64,11 +67,15 @@ namespace BlackGui
|
|||||||
//! Stylesheet for content
|
//! Stylesheet for content
|
||||||
void setStyleSheetForContent(const QString &styleSheet);
|
void setStyleSheetForContent(const QString &styleSheet);
|
||||||
|
|
||||||
|
//! Word wrap
|
||||||
|
void setWordWrap(bool wordWrap);
|
||||||
|
|
||||||
BlackMisc::Network::CTextMessageList m_messages;
|
BlackMisc::Network::CTextMessageList m_messages;
|
||||||
QTextDocument *m_textDocument = nullptr;
|
QTextDocument *m_textDocument = nullptr;
|
||||||
int m_keepMaxMessages = 10;
|
int m_keepMaxMessages = 10;
|
||||||
bool m_withSender = true;
|
bool m_withSender = true;
|
||||||
bool m_withRecipient = false;
|
bool m_withRecipient = false;
|
||||||
|
bool m_wordWrap = true;
|
||||||
|
|
||||||
QAction *m_actionClearTextEdit = nullptr;
|
QAction *m_actionClearTextEdit = nullptr;
|
||||||
QAction *m_actionLast10 = nullptr;
|
QAction *m_actionLast10 = nullptr;
|
||||||
@@ -76,6 +83,8 @@ namespace BlackGui
|
|||||||
QAction *m_actionAll = nullptr;
|
QAction *m_actionAll = nullptr;
|
||||||
QAction *m_actionWithSender = nullptr;
|
QAction *m_actionWithSender = nullptr;
|
||||||
QAction *m_actionWithRecipient = nullptr;
|
QAction *m_actionWithRecipient = nullptr;
|
||||||
|
QAction *m_actionWordWrap = nullptr;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
Reference in New Issue
Block a user