|
|
|
@ -108,6 +108,7 @@ UBBoardController::UBBoardController(UBMainWindow* mainWindow) |
|
|
|
|
, mMovingSceneIndex(-1) |
|
|
|
|
, mActionGroupText(tr("Group")) |
|
|
|
|
, mActionUngroupText(tr("Ungroup")) |
|
|
|
|
, mAutosaveTimer(0) |
|
|
|
|
{ |
|
|
|
|
mZoomFactor = UBSettings::settings()->boardZoomFactor->get().toDouble(); |
|
|
|
|
|
|
|
|
@ -395,6 +396,21 @@ void UBBoardController::stopScript() |
|
|
|
|
freezeW3CWidgets(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void UBBoardController::saveData(SaveFlags fls) |
|
|
|
|
{ |
|
|
|
|
bool verbose = fls | sf_showProgress; |
|
|
|
|
|
|
|
|
|
if (verbose) { |
|
|
|
|
UBApplication::showMessage("Saving document..."); |
|
|
|
|
} |
|
|
|
|
if (mActiveScene && mActiveScene->isModified()) { |
|
|
|
|
persistCurrentScene(); |
|
|
|
|
} |
|
|
|
|
if (verbose) { |
|
|
|
|
UBApplication::showMessage("Document has just been saved..."); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void UBBoardController::initToolbarTexts() |
|
|
|
|
{ |
|
|
|
|
QList<QAction*> allToolbarActions; |
|
|
|
@ -1647,6 +1663,14 @@ void UBBoardController::adjustDisplayViews() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int UBBoardController::autosaveTimeoutFromSettings() |
|
|
|
|
{ |
|
|
|
|
int value = UBSettings::settings()->timerInterval->get().toInt(); |
|
|
|
|
int minute = 60 * 1000; |
|
|
|
|
|
|
|
|
|
return value * minute; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void UBBoardController::changeBackground(bool isDark, bool isCrossed) |
|
|
|
|
{ |
|
|
|
|
bool currentIsDark = mActiveScene->isDarkBackground(); |
|
|
|
@ -1768,6 +1792,36 @@ void UBBoardController::documentSceneChanged(UBDocumentProxy* pDocumentProxy, in |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void UBBoardController::autosaveTimeout() |
|
|
|
|
{ |
|
|
|
|
if (UBApplication::applicationController->displayMode() != UBApplicationController::Board) { |
|
|
|
|
//perform autosave only in board mode
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
saveData(sf_showProgress); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void UBBoardController::appMainModeChanged(UBApplicationController::MainMode md) |
|
|
|
|
{ |
|
|
|
|
// int timerInterval = autosaveTimeoutFromSettings();
|
|
|
|
|
int timerInterval = 50000; |
|
|
|
|
if (!timerInterval) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!mAutosaveTimer) { |
|
|
|
|
mAutosaveTimer = new QTimer(this); |
|
|
|
|
connect(mAutosaveTimer, SIGNAL(timeout()), this, SLOT(autosaveTimeout())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (md == UBApplicationController::Board) { |
|
|
|
|
mAutosaveTimer->start(timerInterval); |
|
|
|
|
} else if (mAutosaveTimer->isActive()) { |
|
|
|
|
mAutosaveTimer->stop(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void UBBoardController::closing() |
|
|
|
|
{ |
|
|
|
|
mIsClosing = true; |
|
|
|
|