Example #1
0
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);
}