You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw/apps/opencs/view/doc/subview.cpp

61 lines
1.4 KiB
C++

#include "subview.hpp"
#include <QEvent>
#include <QKeyEvent>
#include <apps/opencs/model/world/universalid.hpp>
bool CSVDoc::SubView::event(QEvent* event)
{
if (event->type() == QEvent::ShortcutOverride)
{
QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event);
if (keyEvent->key() == Qt::Key_W && keyEvent->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier))
emit closeRequest();
return true;
}
return QDockWidget::event(event);
}
CSVDoc::SubView::SubView(const CSMWorld::UniversalId& id)
: mUniversalId(id)
{
/// \todo add a button to the title bar that clones this sub view
setWindowTitle(QString::fromUtf8(mUniversalId.toString().c_str()));
setAttribute(Qt::WA_DeleteOnClose);
}
CSMWorld::UniversalId CSVDoc::SubView::getUniversalId() const
{
return mUniversalId;
}
void CSVDoc::SubView::setStatusBar(bool show) {}
void CSVDoc::SubView::useHint(const std::string& hint) {}
void CSVDoc::SubView::setUniversalId(const CSMWorld::UniversalId& id)
{
mUniversalId = id;
setWindowTitle(QString::fromUtf8(mUniversalId.toString().c_str()));
emit universalIdChanged(mUniversalId);
}
void CSVDoc::SubView::closeEvent(QCloseEvent* event)
{
emit updateSubViewIndices(this);
}
std::string CSVDoc::SubView::getTitle() const
{
return mUniversalId.toString();
}
void CSVDoc::SubView::closeRequest()
{
emit closeRequest(this);
}