void MainWindow::setTabCloseToolTips(QTabWidget *tabs, QString tooltip) { QList<QAbstractButton*> allPButtons = tabs->findChildren<QAbstractButton*>(); for (int ind = 0; ind < allPButtons.size(); ind++) { QAbstractButton* item = allPButtons.at(ind); if (item->inherits("CloseButton")) item->setToolTip(tooltip); } }
MainWindowController::MainWindowController(QObject *o) { //mainwindow onglet community mainWindow = static_cast<MyIRC*>(o); this->inputHandler = new UserInputHandler(this); session = mainWindow->getSession(); this->myChannels = new QList<Channel>(); //list users QList<QString>* users = new QList<QString>; this->activeChan = new Channel(QString("Server"), QString("the topic"), *users); //la nav tab, qui contient server,chan et pvs navTab = new QTabWidget(this->mainWindow->getMainWindow()); navTab->setTabsClosable(true); QTextEdit *serverTab = new QTextEdit(navTab); navTab->addTab(serverTab, "Server"); //No close Button for this tab. QList<QAbstractButton*> allPButtons = navTab->findChildren<QAbstractButton*>(); for (int ind = 0; ind < allPButtons.size(); ind++) { QAbstractButton* item = allPButtons.at(ind); if (item->inherits("CloseButton")) item->hide(); ; // Default "Close Tab" } outPutwin = serverTab; //la passer a mainwindow pour le resize event mainWindow->getMainWindow()->setNavTab(navTab); //creation de l'input de l'user userInputEditor = new QLineEdit(this->mainWindow->getMainWindow()); mainWindow->getMainWindow()->setUserInput(userInputEditor); connect(userInputEditor, SIGNAL(returnPressed()), this->getInputHandler(), SLOT(parseInput())); // le paSSER A LA MAIN WINDOW POUR sLE RESIZE EVENT mainWindow->getMainWindow()->setUserInput(userInputEditor); connect(navTab , SIGNAL(currentChanged(int)),this,SLOT(onSelectedTab(int))); connect(navTab , SIGNAL(tabCloseRequested(int)),this,SLOT(onSelectedTab(int))); connect(navTab, SIGNAL(tabCloseRequested(int)), this, SLOT(onCloseTab(int))); //connect(navTab, SIGNAL() void cellClicked ( int row, int column ))); }