forked from len0rd/rockbox
qeditor: message widget now supports IDs, useful to clear messages
Change-Id: Ibe0a8909128469a71a25415761860e06fc9f1e67 Reviewed-on: http://gerrit.rockbox.org/1006 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
This commit is contained in:
parent
cef5e1018e
commit
7749c4d0e9
4 changed files with 37 additions and 6 deletions
|
@ -179,8 +179,9 @@ RegTab::RegTab(Backend *backend, QWidget *parent)
|
||||||
connect(m_data_sel_reload, SIGNAL(clicked(bool)), this, SLOT(OnBackendReload(bool)));
|
connect(m_data_sel_reload, SIGNAL(clicked(bool)), this, SLOT(OnBackendReload(bool)));
|
||||||
connect(m_type_selector, SIGNAL(currentChanged(int)), this, SLOT(OnTypeChanged(int)));
|
connect(m_type_selector, SIGNAL(currentChanged(int)), this, SLOT(OnTypeChanged(int)));
|
||||||
|
|
||||||
SetMessage(MessageWidget::Information,
|
m_msg_select_id = SetMessage(MessageWidget::Information,
|
||||||
"You can browse the registers. Select a data source to analyse the values.");
|
"You can browse the registers. Select a data source to analyse the values.");
|
||||||
|
m_msg_error_id = 0;
|
||||||
|
|
||||||
OnSocListChanged();
|
OnSocListChanged();
|
||||||
SetDataSocName("");
|
SetDataSocName("");
|
||||||
|
@ -222,6 +223,12 @@ void RegTab::OnDataSocActivated(const QString& str)
|
||||||
int index = m_soc_selector->findText(str);
|
int index = m_soc_selector->findText(str);
|
||||||
if(index != -1)
|
if(index != -1)
|
||||||
m_soc_selector->setCurrentIndex(index);
|
m_soc_selector->setCurrentIndex(index);
|
||||||
|
else if(str.size() > 0)
|
||||||
|
{
|
||||||
|
m_msg_error_id = SetMessage(MessageWidget::Error,
|
||||||
|
"Description file for this SoC is not available.");
|
||||||
|
SetPanel(new EmptyRegTabPanel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void RegTab::UpdateTabName()
|
void RegTab::UpdateTabName()
|
||||||
|
@ -252,6 +259,9 @@ void RegTab::UpdateTabName()
|
||||||
|
|
||||||
void RegTab::OnBackendSelect(IoBackend *backend)
|
void RegTab::OnBackendSelect(IoBackend *backend)
|
||||||
{
|
{
|
||||||
|
/* Hide "Please select two SoC" and errors message */
|
||||||
|
HideMessage(m_msg_select_id);
|
||||||
|
HideMessage(m_msg_error_id);
|
||||||
m_io_backend = backend;
|
m_io_backend = backend;
|
||||||
SetReadOnlyIndicator();
|
SetReadOnlyIndicator();
|
||||||
SetDataSocName(m_io_backend->GetSocName());
|
SetDataSocName(m_io_backend->GetSocName());
|
||||||
|
@ -316,9 +326,14 @@ void RegTab::DisplaySoc(const SocRef& ref)
|
||||||
SetPanel(new SocDisplayPanel(this, ref));
|
SetPanel(new SocDisplayPanel(this, ref));
|
||||||
}
|
}
|
||||||
|
|
||||||
void RegTab::SetMessage(MessageWidget::MessageType type, const QString& msg)
|
int RegTab::SetMessage(MessageWidget::MessageType type, const QString& msg)
|
||||||
{
|
{
|
||||||
m_msg->SetMessage(type, msg);
|
return m_msg->SetMessage(type, msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void RegTab::HideMessage(int id)
|
||||||
|
{
|
||||||
|
m_msg->HideMessage(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RegTab::SetPanel(RegTabPanel *panel)
|
void RegTab::SetPanel(RegTabPanel *panel)
|
||||||
|
|
|
@ -78,7 +78,8 @@ protected:
|
||||||
void SetPanel(RegTabPanel *panel);
|
void SetPanel(RegTabPanel *panel);
|
||||||
void UpdateSocFilename();
|
void UpdateSocFilename();
|
||||||
void UpdateTabName();
|
void UpdateTabName();
|
||||||
void SetMessage(MessageWidget::MessageType type, const QString& msg);
|
int SetMessage(MessageWidget::MessageType type, const QString& msg);
|
||||||
|
void HideMessage(int id);
|
||||||
|
|
||||||
QComboBox *m_soc_selector;
|
QComboBox *m_soc_selector;
|
||||||
BackendSelector *m_backend_selector;
|
BackendSelector *m_backend_selector;
|
||||||
|
@ -95,6 +96,8 @@ protected:
|
||||||
QTabWidget *m_type_selector;
|
QTabWidget *m_type_selector;
|
||||||
QListWidget *m_analysers_list;
|
QListWidget *m_analysers_list;
|
||||||
MessageWidget *m_msg;
|
MessageWidget *m_msg;
|
||||||
|
int m_msg_select_id;
|
||||||
|
int m_msg_error_id;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void SetReadOnlyIndicator();
|
void SetReadOnlyIndicator();
|
||||||
|
|
|
@ -998,6 +998,8 @@ MessageWidget::MessageWidget(QWidget *parent)
|
||||||
layout->addWidget(m_text, 1);
|
layout->addWidget(m_text, 1);
|
||||||
layout->addWidget(m_close, 0);
|
layout->addWidget(m_close, 0);
|
||||||
|
|
||||||
|
m_id = 0;
|
||||||
|
|
||||||
connect(m_close, SIGNAL(clicked(bool)), this, SLOT(OnClose(bool)));
|
connect(m_close, SIGNAL(clicked(bool)), this, SLOT(OnClose(bool)));
|
||||||
|
|
||||||
hide();
|
hide();
|
||||||
|
@ -1042,12 +1044,19 @@ void MessageWidget::UpdateType()
|
||||||
.arg(border.name()));
|
.arg(border.name()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageWidget::SetMessage(MessageType type, const QString& msg)
|
int MessageWidget::SetMessage(MessageType type, const QString& msg)
|
||||||
{
|
{
|
||||||
m_type = type;
|
m_type = type;
|
||||||
m_text->setText(msg);
|
m_text->setText(msg);
|
||||||
UpdateType();
|
UpdateType();
|
||||||
show();
|
show();
|
||||||
|
return ++m_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MessageWidget::HideMessage(int id)
|
||||||
|
{
|
||||||
|
if(m_id == id)
|
||||||
|
OnClose(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageWidget::OnClose(bool clicked)
|
void MessageWidget::OnClose(bool clicked)
|
||||||
|
|
|
@ -355,7 +355,10 @@ public:
|
||||||
|
|
||||||
MessageWidget(QWidget *parent = 0);
|
MessageWidget(QWidget *parent = 0);
|
||||||
virtual ~MessageWidget();
|
virtual ~MessageWidget();
|
||||||
void SetMessage(MessageType type, const QString& msg);
|
/* returns message ID */
|
||||||
|
int SetMessage(MessageType type, const QString& msg);
|
||||||
|
/* clear message if ID match, nop otherwise */
|
||||||
|
void HideMessage(int id);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void UpdateType();
|
void UpdateType();
|
||||||
|
@ -364,6 +367,7 @@ protected:
|
||||||
QLabel *m_text;
|
QLabel *m_text;
|
||||||
QToolButton *m_close;
|
QToolButton *m_close;
|
||||||
MessageType m_type;
|
MessageType m_type;
|
||||||
|
int m_id;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void OnClose(bool clicked);
|
void OnClose(bool clicked);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue