43 qDebug(log) << Q_FUNC_INFO;
50 if(!m_pView)
return -2;
51 m_pView->setWindowTitle(plugin->
Name());
55 check = connect(m_pView, &CFrmWakeOnLan::customContextMenuRequested,
56 this, [&](
const QPoint &pos){
57 m_Menu.exec(m_pView->mapToGlobal(pos));
61 m_Menu.addAction(QIcon::fromTheme(
"edit-copy"), tr(
"Copy ip address to clipbord"),
63 if(!m_pModel || !m_pView)
65 foreach(
auto index, m_pView->GetSelect()) {
66 QSharedPointer<CParameterWakeOnLan> p = m_pModel->GetData(index);
68 QString szIp = p->m_Net.GetHost();
69 if(szIp.isEmpty()) continue;
70 QApplication::clipboard()->setText(szIp);
73 m_Menu.addSeparator();
75 m_Menu.addAction(QIcon::fromTheme(
"view-refresh"), tr(
"Refresh"),
77 foreach(
auto p, m_pModel->m_Data)
81 QIcon::fromTheme(
"mac"), tr(
"Get mac address"),
83 if(!m_pModel || !m_pView)
85 foreach(
auto index, m_pView->GetSelect()) {
86 QSharedPointer<CParameterWakeOnLan> p = m_pModel->GetData(index);
89 p->SetHostState(CParameterWakeOnLan::HostState::GetMac);
93 QIcon::fromTheme(
"lan"), tr(
"Wake on lan"),
95 if(!m_pModel || !m_pView)
97 foreach(
auto index, m_pView->GetSelect()) {
98 QSharedPointer<CParameterWakeOnLan> p = m_pModel->GetData(index);
100 if(!m_Arp.WakeOnLan(p))
101 p->SetHostState(CParameterWakeOnLan::HostState::WakeOnLan);
104 m_Menu.addSeparator();
106 m_Menu.addAction(QIcon::fromTheme(
"list-add"), tr(
"Add"),
107 this, SLOT(slotAdd()));
108 m_Menu.addAction(QIcon::fromTheme(
"document-edit"), tr(
"Edit"),
110 QSharedPointer<CParameterWakeOnLan> para
111 = m_pModel->GetData(m_pView->GetCurrentIndex());
113 QMessageBox::information(
116 tr(
"Please select a item"));
121 RC_SHOW_WINDOW(&dlg);
123 m_Menu.addAction(QIcon::fromTheme(
"list-remove"), tr(
"Remove"),
124 m_pView, SLOT(slotRemoveRow()));