fxmytabwidget.cpp

来自「linux-下的fetion-0.8.1。包括所有源代码」· C++ 代码 · 共 77 行

CPP
77
字号
#include "fxmsgwindow.h"#include "fxmytabwidget.h"#include "fxshowHistory.h"FxMyTabWidget::FxMyTabWidget(QWidget *parent)		: QTabWidget(parent){	myTabBar()->installEventFilter(this);	this->installEventFilter(this);}bool FxMyTabWidget::eventFilter(QObject *target, QEvent *event){	if (target == myTabBar() ) {		if (event->type() == QEvent::MouseButtonDblClick ) {			emit  mouseDblClick( currentIndex() ); 			return true;		}	}	if (event->type() == QEvent::KeyPress ) {		QKeyEvent *keyEvent = (QKeyEvent *) event;		if (keyEvent->modifiers() == Qt::AltModifier && 				keyEvent->key() >= Qt::Key_1 &&				keyEvent->key() <= Qt::Key_9) {			int index = keyEvent->key() - Qt::Key_0;			if (index <= 0 || index > this->count())				return true;				this->setCurrentIndex(index -1); 			return true;			}		if (keyEvent->key() == Qt::Key_W && 		(keyEvent->modifiers() == Qt::AltModifier || keyEvent->modifiers() == Qt::ControlModifier )		) {			((FxMsgWindow *)(this->parentWidget()))->closeTabWid(currentIndex()); 			return true;		}		if (keyEvent->key() == Qt::Key_Escape)		{			AccountTab * Actab = ((AccountTab*)this->widget(currentIndex()));			if (Actab)			{				if (Actab->msgSend->MsgEdit->toPlainText().isEmpty())				{					((FxMsgWindow *)(this->parentWidget()))->hide();					return true;				}			}		}		/*		if (keyEvent->key() == Qt::Key_H && 				(keyEvent->modifiers() == Qt::AltModifier || keyEvent->modifiers() == Qt::ControlModifier )) {			printf("fxmytabwinget will show history...\n");			Fetion_Account *account = ((AccountTab*)this->widget(currentIndex()))->m_account;			if (account)			{				FxShowHistory * histroy = new FxShowHistory (account->id, this);				histroy->show();			}			return true;		}		*/	}	return QObject::eventFilter(target, event);}QTabBar * FxMyTabWidget::myTabBar(){	return tabBar();}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?