コード例 #1
0
void QMainWindowProto::saveState ( int version) const
{
  QMainWindow *item = qscriptvalue_cast<QMainWindow*>(thisObject());
  if (item)
  {
    QByteArray state = item->saveState(version);
    xtsettingsSetValue(item->objectName() + "/WindowState", state);
  }
}
コード例 #2
0
bool QMainWindowProto::restoreState ( int version )
{
  QMainWindow *item = qscriptvalue_cast<QMainWindow*>(thisObject());
  if (item)
  {
    QByteArray state;
    state = xtsettingsValue(item->objectName() + "/WindowState", QByteArray()).toByteArray();
    return item->restoreState(state, version);
  }
  return false;
}
コード例 #3
0
void DocumentManager::add(DocumentInfo *documentInfo)
{
    QMainWindow *mainWindow = documentInfo->mainWindow;
    d->documentInfos.append(documentInfo);
    connect(mainWindow, SIGNAL(destroyed(QObject *)),
            this, SLOT(remove(QObject *)));
    // update object name ("window ID")
    mainWindow->setObjectName(mainWindow->objectName() + QString::number(d->nextWindowId));
    mainWindow->installEventFilter(this);
    /*!\todo This gets messy: make DocumentInfo a proper class. */
    documentInfo->id = d->nextWindowId;
    ++d->nextWindowId;
    documentInfo->windowTitle = tr("New %1", "New document title + ID").arg(d->nextWindowId);
    QAction *action = new QAction(d->windowActionGroup);
    action->setCheckable(true);
    action->setData(documentInfo->id);
    action->setText(documentInfo->windowTitle);
    d->windowMapper.setMapping(action, documentInfo->id);
    connect(action, SIGNAL(triggered()),
            &d->windowMapper, SLOT(map()));
    emit changed();
}