новые иконки в OpenBoard
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OpenBoard/src/gui/UBMainWindow.cpp

105 lines
2.3 KiB

#include <QtGui>
#include "UBMainWindow.h"
#include "core/UBApplication.h"
#include "core/UBApplicationController.h"
#include "board/UBBoardController.h"
UBMainWindow::UBMainWindow(QWidget *parent, Qt::WindowFlags flags)
: QMainWindow(parent, flags)
, mBoardWidget(0)
, mWebWidget(0)
, mDocumentsWidget(0)
{
Ui::MainWindow::setupUi(this);
QWidget* centralWidget = new QWidget(this);
mStackedLayout = new QStackedLayout(centralWidget);
setCentralWidget(centralWidget);
#ifdef Q_WS_MAC
actionPreferences->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Comma));
actionQuit->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q));
#elif defined(Q_WS_WIN)
actionPreferences->setShortcut(QKeySequence(Qt::ALT + Qt::Key_Return));
actionQuit->setShortcut(QKeySequence(Qt::ALT + Qt::Key_F4));
#else
// No shortcut on Linux (like GEdit/Nautilius)
#endif
}
UBMainWindow::~UBMainWindow()
{
// NOOP
}
void UBMainWindow::addBoardWidget(QWidget *pWidget)
{
if (!mBoardWidget)
{
mBoardWidget = pWidget;
mStackedLayout->addWidget(mBoardWidget);
}
}
void UBMainWindow::switchToBoardWidget()
{
if (mBoardWidget)
{
mStackedLayout->setCurrentWidget(mBoardWidget);
}
}
void UBMainWindow::addWebWidget(QWidget *pWidget)
{
qDebug() << "add to StackedLayout size height: " << pWidget->height() << " width: " << pWidget->width();
if (!mWebWidget)
{
mWebWidget = pWidget;
mStackedLayout->addWidget(mWebWidget);
}
}
void UBMainWindow::switchToWebWidget()
{
qDebug() << "popped out from StackedLayout size height: " << mWebWidget->height() << " width: " << mWebWidget->width();
if (mWebWidget)
{
mStackedLayout->setCurrentWidget(mWebWidget);
}
}
void UBMainWindow::addDocumentsWidget(QWidget *pWidget)
{
if (!mDocumentsWidget)
{
mDocumentsWidget = pWidget;
mStackedLayout->addWidget(mDocumentsWidget);
}
}
void UBMainWindow::switchToDocumentsWidget()
{
if (mDocumentsWidget)
{
mStackedLayout->setCurrentWidget(mDocumentsWidget);
}
}
void UBMainWindow::keyPressEvent(QKeyEvent *event)
{
QMainWindow::keyPressEvent(event);
/*
if (event->key() == Qt::Key_B && !event->isAccepted())
{
UBApplication::applicationController->blackout();
event->accept();
}
*/
}