1 #include "tmcandidatewidget.h"
12 TM::CandidateWidget::CandidateWidget(Settings *settings, Service *service, QWidget *parent)
15 , m_settings(settings)
16 , m_connection(nullptr)
18 QVBoxLayout *vlayout = new QVBoxLayout(this);
19 vlayout->setSpacing(4);
20 vlayout->setContentsMargins(0, 0, 0, 0);
22 m_toolbar = new QToolBar("candidate", this);
24 m_search = new QAction(QIcon(":/search.png"), "search", this);
25 m_toolbar->addAction(m_search);
27 m_list_widget = new QListWidget(this);
28 m_list_widget->setWordWrap(true);
30 vlayout->addWidget(m_toolbar);
31 vlayout->addWidget(m_list_widget);
33 connect(m_search, SIGNAL(triggered(bool)), this, SLOT(onSearchTriggered(bool)));
36 void TM::CandidateWidget::attach(SocketConnection *connection)
38 if(m_connection == connection) return;
39 if(m_connection) detach(connection);
42 m_connection = connection;
45 void TM::CandidateWidget::detach(SocketConnection *connection)
47 if(m_connection != connection) return;
50 m_connection = nullptr;
53 void TM::CandidateWidget::clear() { m_list_widget->clear(); }
55 void TM::CandidateWidget::append(QString text)
58 QListWidgetItem *wi = new QListWidgetItem(m_list_widget);
60 //QLabel *l = new QLabel(m_list_widget);
61 //l->setTextFormat(Qt::RichText);
62 //l->setWordWrap(true);
64 m_list_widget->addItem(wi);
65 //m_list_widget->setItemWidget(wi, l);
68 void TM::CandidateWidget::onSearchTriggered(bool)
71 if(!m_connection) return;
72 TextSentence::pointer sentence =
73 m_connection->segment_list()->current_sentence();
76 m_service->find_candidates(sentence);