@@ -14,6 +14,7 @@ CFrmMain::CFrmMain(COperateFtpServer *pOperate, QWidget *parent)
1414 bool check = false ;
1515 ui->setupUi (this );
1616
17+ ui->tvConnect ->installEventFilter (this );
1718 ui->tvConnect ->setModel (&m_ModelConnect);
1819 // ui->tvConnect->verticalHeader()->hide();
1920 ui->tvConnect ->setSelectionMode (QAbstractItemView::MultiSelection);
@@ -35,6 +36,7 @@ CFrmMain::CFrmMain(COperateFtpServer *pOperate, QWidget *parent)
3536#endif
3637 QHeaderView::Interactive);
3738
39+ Q_ASSERT (pOperate);
3840 check = connect (ui->tvConnect , SIGNAL (customContextMenuRequested (const QPoint &)),
3941 this , SLOT (slotContextMenuRequested (const QPoint&)));
4042 Q_ASSERT (check);
@@ -56,6 +58,10 @@ CFrmMain::CFrmMain(COperateFtpServer *pOperate, QWidget *parent)
5658 });
5759 Q_ASSERT (check);
5860 slotConnectCount (0 , 0 , 0 );
61+
62+ check = connect (this , &CFrmMain::sigViewerFocusIn,
63+ pOperate, &COperate::sigViewerFocusIn);
64+ Q_ASSERT (check);
5965}
6066
6167CFrmMain::~CFrmMain ()
@@ -115,3 +121,23 @@ void CFrmMain::slotContextMenuRequested(const QPoint& pos)
115121 QPoint p = ui->tvConnect ->mapToGlobal (pos);
116122 m.exec (p);
117123}
124+
125+ void CFrmMain::focusInEvent (QFocusEvent *event)
126+ {
127+ emit sigViewerFocusIn (this );
128+ }
129+
130+ bool CFrmMain::eventFilter (QObject *watched, QEvent *event)
131+ {
132+ switch (event->type ()){
133+ case QEvent::FocusIn: {
134+ emit sigViewerFocusIn (this );
135+ event->accept ();
136+ return true ;
137+ }
138+ default :
139+ break ;
140+ }
141+
142+ return QWidget::eventFilter (watched, event);
143+ }
0 commit comments