void HelpWindow::setHelpEngine(QHelpEngine* engine) { mpHelpEngine = engine; mpSearchEngine = engine->searchEngine(); ui->textBrowser->setHelpEngine(engine); QTabWidget* tWidget = new QTabWidget; tWidget->setMaximumWidth(200); QWidget *widget = new QWidget(this); QVBoxLayout *vLayout = new QVBoxLayout(widget); QHelpSearchQueryWidget* queryWidget = mpSearchEngine->queryWidget(); QHelpSearchResultWidget* resultWidget = mpSearchEngine->resultWidget(); QHelpContentWidget * contentWidget = engine->contentWidget(); vLayout->addWidget(queryWidget); vLayout->addWidget(resultWidget); widget->setLayout(vLayout); widget->setFocusProxy(queryWidget); mpSearchEngine->reindexDocumentation(); tWidget->addTab(contentWidget, "Contents"); tWidget->addTab(widget, "Search"); // no use in displaying the index for now as we don't // have one specified yet //tWidget->addTab(engine->indexWidget(), "Index"); ui->dockWidget->setWidget(tWidget); connect(queryWidget, SIGNAL(search()), this, SLOT(search())); connect(resultWidget, SIGNAL(requestShowLink(QUrl)), ui->textBrowser, SLOT(setSource(QUrl))); connect(contentWidget, SIGNAL(linkActivated(QUrl)), ui->textBrowser, SLOT(setSource(QUrl))); connect(engine->indexWidget(), SIGNAL(linkActivated(QUrl, QString)), ui->textBrowser, SLOT(setSource(QUrl))); contentWidget->setItemsExpandable(true); ui->textBrowser->setSource(QUrl("qthelp://org.sphinx.deviser.1.0/doc/deviser.html")); // expanding the content for whatever reason does not work // right away, so we delay it for a bit. QTimer::singleShot(100, contentWidget, SLOT(expandAll())); }
GameSelectionWindow::GameSelectionWindow(QWidget* parent) : QWidget(parent), m_selectedGameWidget(NULL) { this->setWindowTitle(QString(ms_gameControllerInstance->m_applicationTitle.c_str())); this->setMinimumWidth(900); this->setMinimumHeight(600); this->move(200, 200); // set text based on logged in/offline status QString greetingLabelText; QString logoutButtonText; if (ms_gameControllerInstance->inOnlineMode()) { greetingLabelText = "Welcome, " + QString(ms_gameControllerInstance->m_username.c_str()); logoutButtonText = QString(ms_onlineLogoutText.c_str()); } else { greetingLabelText = QString(ms_offlineModeGreeting.c_str()); logoutButtonText = QString(ms_offlineLogoutText.c_str()); } // layout for entire window QVBoxLayout* windowLayout = new QVBoxLayout(); // construct greeting label (upper rh corner) QLabel* greetingLabel = new QLabel(greetingLabelText); windowLayout->addWidget(greetingLabel, 0, Qt::AlignRight); // create tabbed pane, to hold main contents QTabWidget* tabbedPane = new QTabWidget(); tabbedPane->setMaximumWidth(16777215); QWidget* gamesTab = constructGameSelectionTab(); tabbedPane->addTab(gamesTab, QString(ms_gamesTabTitle.c_str())); if (ms_gameControllerInstance->inOnlineMode()) { QWidget* statsTab = constructStatisticsTab(); tabbedPane->addTab(statsTab, QString(ms_statsTabTitle.c_str())); } else { int statTabId = tabbedPane->addTab(new QWidget(), QString(ms_statsTabTitle.c_str())); tabbedPane->setTabEnabled(statTabId, false); } windowLayout->addWidget(tabbedPane, 100); // logout button (bottom lh corner) QPushButton* logoutReturnButton = new QPushButton(logoutButtonText); QObject::connect(logoutReturnButton, SIGNAL(clicked()), this, SLOT(logoutAndReturn())); windowLayout->addWidget(logoutReturnButton, 0, Qt::AlignLeft); // set layout this->setLayout(windowLayout); }