| 168 | } |
| 169 | |
| 170 | void COperateFtpServer::slotStart(bool checked) |
| 171 | { |
| 172 | qDebug(log) << Q_FUNC_INFO << m_pStart->isChecked(); |
| 173 | bool check = false; |
| 174 | if(!checked) { |
| 175 | m_pStart->setText(tr("Start server")); |
| 176 | m_pStart->setToolTip(m_pStart->text()); |
| 177 | m_pStart->setIcon(QIcon::fromTheme("media-playback-start")); |
| 178 | if(m_pThread) |
| 179 | { |
| 180 | slotSetSecurityLevel(CSecurityLevel::Level::No); |
| 181 | m_pThread->quit(); |
| 182 | //Don't delete m_pThread, See CBackendThread |
| 183 | m_pThread = nullptr; |
| 184 | } |
| 185 | return; |
| 186 | } |
| 187 | |
| 188 | m_pStart->setText(tr("Stop server")); |
| 189 | m_pStart->setToolTip(m_pStart->text()); |
| 190 | m_pStart->setIcon(QIcon::fromTheme("media-playback-stop")); |
| 191 | Q_ASSERT(!m_pThread); |
| 192 | m_pThread = new CBackendThread(this, false); |
| 193 | if(!m_pThread) { |
| 194 | qCritical(log) << "new CBackendThread fail"; |
| 195 | return; |
| 196 | } |
| 197 | check = connect(this, &COperateFtpServer::sigError, |
| 198 | this, [this](const int nError, const QString &szError){ |
| 199 | m_pStart->setChecked(false); |
| 200 | }); |
| 201 | Q_ASSERT(check); |
| 202 | m_pThread->start(); |
| 203 | } |
| 204 | |
| 205 | const QString COperateFtpServer::Name() |
| 206 | { |