Consolidate other viewer indicators
This commit is contained in:
parent
7fb91e07d6
commit
1f915133ce
10 changed files with 70 additions and 75 deletions
|
@ -235,8 +235,8 @@ public:
|
||||||
void setColorCalibrationLutPath(QString monitorName, QString path);
|
void setColorCalibrationLutPath(QString monitorName, QString path);
|
||||||
QString getColorCalibrationLutPath(QString &monitorName) const;
|
QString getColorCalibrationLutPath(QString &monitorName) const;
|
||||||
|
|
||||||
bool isCheckIndicatorEnabled() const {
|
bool isViewerIndicatorEnabled() const {
|
||||||
return getBoolValue(checkIndicatorEnabled);
|
return getBoolValue(viewerIndicatorEnabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Visualization tab
|
// Visualization tab
|
||||||
|
|
|
@ -46,7 +46,7 @@ enum PreferencesItemId {
|
||||||
interfaceFontStyle,
|
interfaceFontStyle,
|
||||||
colorCalibrationEnabled,
|
colorCalibrationEnabled,
|
||||||
colorCalibrationLutPaths,
|
colorCalibrationLutPaths,
|
||||||
checkIndicatorEnabled,
|
viewerIndicatorEnabled,
|
||||||
|
|
||||||
//----------
|
//----------
|
||||||
// Visualization
|
// Visualization
|
||||||
|
|
|
@ -2475,8 +2475,8 @@ void MainWindow::defineActions() {
|
||||||
Preferences::instance()->isAutoStretchEnabled(),
|
Preferences::instance()->isAutoStretchEnabled(),
|
||||||
MiscCommandType, "auto_stretch",
|
MiscCommandType, "auto_stretch",
|
||||||
tr("Toggles the auto-stretch of a frame to the next frame"));
|
tr("Toggles the auto-stretch of a frame to the next frame"));
|
||||||
createToggle(MI_CheckIndicator, QT_TR_NOOP("Toggle Check Indicators"), "",
|
createToggle(MI_ViewerIndicator, QT_TR_NOOP("Toggle Viewer Indicators"), "",
|
||||||
Preferences::instance()->isCheckIndicatorEnabled(),
|
Preferences::instance()->isViewerIndicatorEnabled(),
|
||||||
RightClickMenuCommandType);
|
RightClickMenuCommandType);
|
||||||
|
|
||||||
// Tools
|
// Tools
|
||||||
|
|
|
@ -244,7 +244,7 @@
|
||||||
#define MI_OnionSkin "MI_OnionSkin"
|
#define MI_OnionSkin "MI_OnionSkin"
|
||||||
#define MI_ZeroThick "MI_ZeroThick"
|
#define MI_ZeroThick "MI_ZeroThick"
|
||||||
#define MI_CursorOutline "MI_CursorOutline"
|
#define MI_CursorOutline "MI_CursorOutline"
|
||||||
#define MI_CheckIndicator "MI_CheckIndicator"
|
#define MI_ViewerIndicator "MI_ViewerIndicator"
|
||||||
|
|
||||||
//#define MI_LoadResourceFile "MI_LoadResourceFile"
|
//#define MI_LoadResourceFile "MI_LoadResourceFile"
|
||||||
#define MI_DuplicateFile "MI_DuplicateFile"
|
#define MI_DuplicateFile "MI_DuplicateFile"
|
||||||
|
|
|
@ -1019,7 +1019,7 @@ QString PreferencesPopup::getUIString(PreferencesItemId id) {
|
||||||
{colorCalibrationLutPaths,
|
{colorCalibrationLutPaths,
|
||||||
tr("3DLUT File for [%1]:")
|
tr("3DLUT File for [%1]:")
|
||||||
.arg(LutManager::instance()->getMonitorName())},
|
.arg(LutManager::instance()->getMonitorName())},
|
||||||
{checkIndicatorEnabled, tr("Show Check Indicators")},
|
{viewerIndicatorEnabled, tr("Show Viewer Indicators")},
|
||||||
|
|
||||||
// Visualization
|
// Visualization
|
||||||
{show0ThickLines, tr("Show Lines with Thickness 0")},
|
{show0ThickLines, tr("Show Lines with Thickness 0")},
|
||||||
|
@ -1463,7 +1463,7 @@ QWidget* PreferencesPopup::createInterfacePage() {
|
||||||
insertUI(moveCurrentFrameByClickCellArea, lay);
|
insertUI(moveCurrentFrameByClickCellArea, lay);
|
||||||
insertUI(actualPixelViewOnSceneEditingMode, lay);
|
insertUI(actualPixelViewOnSceneEditingMode, lay);
|
||||||
// insertUI(levelNameOnEachMarkerEnabled, lay);
|
// insertUI(levelNameOnEachMarkerEnabled, lay);
|
||||||
insertUI(checkIndicatorEnabled, lay);
|
insertUI(viewerIndicatorEnabled, lay);
|
||||||
insertUI(showRasterImagesDarkenBlendedInViewer, lay);
|
insertUI(showRasterImagesDarkenBlendedInViewer, lay);
|
||||||
// insertUI(showFrameNumberWithLetters, lay);
|
// insertUI(showFrameNumberWithLetters, lay);
|
||||||
insertUI(iconSize, lay);
|
insertUI(iconSize, lay);
|
||||||
|
|
|
@ -1634,22 +1634,9 @@ void SceneViewer::drawOverlay() {
|
||||||
|
|
||||||
TXsheet *xsh = TApp::instance()->getCurrentXsheet()->getXsheet();
|
TXsheet *xsh = TApp::instance()->getCurrentXsheet()->getXsheet();
|
||||||
TStageObjectId objId = app->getCurrentObject()->getObjectId();
|
TStageObjectId objId = app->getCurrentObject()->getObjectId();
|
||||||
bool isMotionPath = false;
|
bool isMotionPath =
|
||||||
|
(objId == xsh->getStageObjectTree()->getMotionPathViewerId() &&
|
||||||
if (objId == xsh->getStageObjectTree()->getMotionPathViewerId() &&
|
app->getCurrentObject()->isSpline());
|
||||||
app->getCurrentObject()->isSpline()) {
|
|
||||||
isMotionPath = true;
|
|
||||||
int x0, x1, y0, y1;
|
|
||||||
rect().getCoords(&x0, &y0, &x1, &y1);
|
|
||||||
x0 = (-(x1 / 2)) + 15;
|
|
||||||
y0 = ((y1 / 2)) - 25;
|
|
||||||
glPushMatrix();
|
|
||||||
glScaled(3, 3, 3);
|
|
||||||
glColor3d(1.0, 0.0, 0.0);
|
|
||||||
tglDrawText(TPointD(x0 / 3, y0 / 3),
|
|
||||||
tr("Motion Path Selected").toStdWString());
|
|
||||||
glPopMatrix();
|
|
||||||
}
|
|
||||||
|
|
||||||
// draw camera
|
// draw camera
|
||||||
if (!isMotionPath && viewCameraToggle.getStatus() &&
|
if (!isMotionPath && viewCameraToggle.getStatus() &&
|
||||||
|
@ -1735,10 +1722,6 @@ void SceneViewer::drawOverlay() {
|
||||||
else
|
else
|
||||||
m_FPS = 0;
|
m_FPS = 0;
|
||||||
|
|
||||||
if (m_freezedStatus != NO_FREEZED) {
|
|
||||||
tglColor(TPixel32::Red);
|
|
||||||
tglDrawText(TPointD(0, 0), "FROZEN");
|
|
||||||
}
|
|
||||||
assert(glGetError() == GL_NO_ERROR);
|
assert(glGetError() == GL_NO_ERROR);
|
||||||
|
|
||||||
} //! cameraTest
|
} //! cameraTest
|
||||||
|
@ -1851,27 +1834,36 @@ void SceneViewer::drawOverlay() {
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void SceneViewer::drawCheckNotices() {
|
void SceneViewer::drawViewerIndicators() {
|
||||||
if (m_previewMode) return;
|
if (!Preferences::instance()->isViewerIndicatorEnabled()) return;
|
||||||
|
|
||||||
if (!Preferences::instance()->isCheckIndicatorEnabled()) return;
|
|
||||||
|
|
||||||
ToonzCheck *tc = ToonzCheck::instance();
|
|
||||||
int mask = tc->getChecks();
|
|
||||||
|
|
||||||
if (!mask) return;
|
|
||||||
|
|
||||||
QStringList checkTexts;
|
QStringList checkTexts;
|
||||||
|
|
||||||
if (mask & ToonzCheck::eTransparency)
|
// Frozen Viewer Indicator
|
||||||
checkTexts.append(tr("*Transparency Check*"));
|
if (m_freezedStatus) checkTexts.append(tr("FROZEN"));
|
||||||
if (mask & ToonzCheck::eInk) checkTexts.append(tr("*Ink Check*"));
|
|
||||||
if (mask & ToonzCheck::eInk1) checkTexts.append(tr("*Ink#1 Check*"));
|
// Motion Path Indicator
|
||||||
if (mask & ToonzCheck::ePaint) checkTexts.append(tr("*Paint Check*"));
|
TApp *app = TApp::instance();
|
||||||
if (mask & ToonzCheck::eInksOnly) checkTexts.append(tr("*Inks Only Check*"));
|
TStageObjectId objId = app->getCurrentObject()->getObjectId();
|
||||||
if (mask & ToonzCheck::eBlackBg) checkTexts.append(tr("*Black BG Check*"));
|
TXsheet *xsh = app->getCurrentXsheet()->getXsheet();
|
||||||
if (mask & ToonzCheck::eGap) checkTexts.append(tr("*Fill Check*"));
|
if (objId == xsh->getStageObjectTree()->getMotionPathViewerId() &&
|
||||||
if (mask & ToonzCheck::eAutoclose) checkTexts.append(tr("*Gap Check*"));
|
app->getCurrentObject()->isSpline())
|
||||||
|
checkTexts.append(tr("Motion Path Selected"));
|
||||||
|
|
||||||
|
// Check Indicators (disabled in Preview mode)
|
||||||
|
ToonzCheck *tc = ToonzCheck::instance();
|
||||||
|
int mask = tc->getChecks();
|
||||||
|
if (!m_previewMode && mask) {
|
||||||
|
if (mask & ToonzCheck::eTransparency)
|
||||||
|
checkTexts.append(tr("Transparency Check"));
|
||||||
|
if (mask & ToonzCheck::eInk) checkTexts.append(tr("Ink Check"));
|
||||||
|
if (mask & ToonzCheck::eInk1) checkTexts.append(tr("Ink#1 Check"));
|
||||||
|
if (mask & ToonzCheck::ePaint) checkTexts.append(tr("Paint Check"));
|
||||||
|
if (mask & ToonzCheck::eInksOnly) checkTexts.append(tr("Inks Only Check"));
|
||||||
|
if (mask & ToonzCheck::eBlackBg) checkTexts.append(tr("Black BG Check"));
|
||||||
|
if (mask & ToonzCheck::eGap) checkTexts.append(tr("Fill Check"));
|
||||||
|
if (mask & ToonzCheck::eAutoclose) checkTexts.append(tr("Gap Check"));
|
||||||
|
}
|
||||||
|
|
||||||
if (!checkTexts.size()) return;
|
if (!checkTexts.size()) return;
|
||||||
|
|
||||||
|
@ -1995,6 +1987,8 @@ void SceneViewer::paintGL() {
|
||||||
if (!m_isPicking && m_lutCalibrator && m_lutCalibrator->isValid())
|
if (!m_isPicking && m_lutCalibrator && m_lutCalibrator->isValid())
|
||||||
m_lutCalibrator->onEndDraw(m_fbo);
|
m_lutCalibrator->onEndDraw(m_fbo);
|
||||||
|
|
||||||
|
drawViewerIndicators();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2016,7 +2010,7 @@ void SceneViewer::paintGL() {
|
||||||
|
|
||||||
drawDisableScissor();
|
drawDisableScissor();
|
||||||
|
|
||||||
drawCheckNotices();
|
drawViewerIndicators();
|
||||||
|
|
||||||
// Il freezed e' attivo ed e' in stato "update": faccio il grab del viewer.
|
// Il freezed e' attivo ed e' in stato "update": faccio il grab del viewer.
|
||||||
if (m_freezedStatus == UPDATE_FREEZED) {
|
if (m_freezedStatus == UPDATE_FREEZED) {
|
||||||
|
|
|
@ -168,7 +168,7 @@ class SceneViewer final : public GLWidgetForHighDpi,
|
||||||
|
|
||||||
bool m_isPicking;
|
bool m_isPicking;
|
||||||
bool m_canShowPerspectiveGrids = false;
|
bool m_canShowPerspectiveGrids = false;
|
||||||
bool m_showCheckIndicators = true;
|
bool m_showViewerIndicators = true;
|
||||||
|
|
||||||
TRaster32P m_3DSideL;
|
TRaster32P m_3DSideL;
|
||||||
TRaster32P m_3DSideR;
|
TRaster32P m_3DSideR;
|
||||||
|
@ -351,7 +351,7 @@ protected:
|
||||||
void drawCameraStand();
|
void drawCameraStand();
|
||||||
void drawPreview();
|
void drawPreview();
|
||||||
void drawOverlay();
|
void drawOverlay();
|
||||||
void drawCheckNotices();
|
void drawViewerIndicators();
|
||||||
|
|
||||||
void drawScene();
|
void drawScene();
|
||||||
void drawToolGadgets();
|
void drawToolGadgets();
|
||||||
|
|
|
@ -226,7 +226,7 @@ SceneViewerContextMenu::SceneViewerContextMenu(SceneViewer *parent)
|
||||||
// Brush size outline
|
// Brush size outline
|
||||||
CursorOutlineToggleGui::addCursorOutlineCommand(this);
|
CursorOutlineToggleGui::addCursorOutlineCommand(this);
|
||||||
|
|
||||||
CheckIndicatorToggleGui::addCheckIndicatorCommand(this);
|
ViewerIndicatorToggleGui::addViewerIndicatorCommand(this);
|
||||||
|
|
||||||
// preview
|
// preview
|
||||||
if (parent->isPreviewEnabled()) {
|
if (parent->isPreviewEnabled()) {
|
||||||
|
@ -550,40 +550,40 @@ void CursorOutlineToggleGui::CursorOutlineToggleHandler::deactivate() {
|
||||||
CursorOutlineToggle::enableCursorOutline(false);
|
CursorOutlineToggle::enableCursorOutline(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
class CheckIndicatorToggle : public MenuItemHandler {
|
class ViewerIndicatorToggle : public MenuItemHandler {
|
||||||
public:
|
public:
|
||||||
CheckIndicatorToggle() : MenuItemHandler(MI_CheckIndicator) {}
|
ViewerIndicatorToggle() : MenuItemHandler(MI_ViewerIndicator) {}
|
||||||
void execute() {
|
void execute() {
|
||||||
QAction *action = CommandManager::instance()->getAction(MI_CheckIndicator);
|
QAction *action = CommandManager::instance()->getAction(MI_ViewerIndicator);
|
||||||
if (!action) return;
|
if (!action) return;
|
||||||
bool checked = action->isChecked();
|
bool checked = action->isChecked();
|
||||||
enableCheckIndicator(checked);
|
enableViewerIndicator(checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void enableCheckIndicator(bool enable = true) {
|
static void enableViewerIndicator(bool enable = true) {
|
||||||
Preferences::instance()->setValue(checkIndicatorEnabled, enable);
|
Preferences::instance()->setValue(viewerIndicatorEnabled, enable);
|
||||||
}
|
}
|
||||||
} CheckIndicatorToggle;
|
} ViewerIndicatorToggle;
|
||||||
|
|
||||||
void CheckIndicatorToggleGui::addCheckIndicatorCommand(QMenu *menu) {
|
void ViewerIndicatorToggleGui::addViewerIndicatorCommand(QMenu *menu) {
|
||||||
static CheckIndicatorToggleHandler switcher;
|
static ViewerIndicatorToggleHandler switcher;
|
||||||
if (Preferences::instance()->isCheckIndicatorEnabled()) {
|
if (Preferences::instance()->isViewerIndicatorEnabled()) {
|
||||||
QAction *hideCheckIndicator =
|
QAction *hideViewerIndicator =
|
||||||
menu->addAction(QString(QObject::tr("Hide Check Indicators")));
|
menu->addAction(QString(QObject::tr("Hide Viewer Indicators")));
|
||||||
menu->connect(hideCheckIndicator, SIGNAL(triggered()), &switcher,
|
menu->connect(hideViewerIndicator, SIGNAL(triggered()), &switcher,
|
||||||
SLOT(deactivate()));
|
SLOT(deactivate()));
|
||||||
} else {
|
} else {
|
||||||
QAction *showCheckIndicator =
|
QAction *showViewerIndicator =
|
||||||
menu->addAction(QString(QObject::tr("Show Check Indicators")));
|
menu->addAction(QString(QObject::tr("Show Viewer Indicators")));
|
||||||
menu->connect(showCheckIndicator, SIGNAL(triggered()), &switcher,
|
menu->connect(showViewerIndicator, SIGNAL(triggered()), &switcher,
|
||||||
SLOT(activate()));
|
SLOT(activate()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CheckIndicatorToggleGui::CheckIndicatorToggleHandler::activate() {
|
void ViewerIndicatorToggleGui::ViewerIndicatorToggleHandler::activate() {
|
||||||
CheckIndicatorToggle::enableCheckIndicator(true);
|
ViewerIndicatorToggle::enableViewerIndicator(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CheckIndicatorToggleGui::CheckIndicatorToggleHandler::deactivate() {
|
void ViewerIndicatorToggleGui::ViewerIndicatorToggleHandler::deactivate() {
|
||||||
CheckIndicatorToggle::enableCheckIndicator(false);
|
ViewerIndicatorToggle::enableViewerIndicator(false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,10 +65,10 @@ public slots:
|
||||||
|
|
||||||
} // Namespace CursorOutlineToggleGui
|
} // Namespace CursorOutlineToggleGui
|
||||||
|
|
||||||
namespace CheckIndicatorToggleGui {
|
namespace ViewerIndicatorToggleGui {
|
||||||
void addCheckIndicatorCommand(QMenu *menu);
|
void addViewerIndicatorCommand(QMenu *menu);
|
||||||
|
|
||||||
class CheckIndicatorToggleHandler : public QObject {
|
class ViewerIndicatorToggleHandler : public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
@ -76,6 +76,6 @@ public slots:
|
||||||
void deactivate();
|
void deactivate();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // Namespace CheckIndicatorToggleGui
|
} // Namespace ViewerIndicatorToggleGui
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -441,7 +441,8 @@ void Preferences::definePreferenceItems() {
|
||||||
setCallBack(linearUnits, &Preferences::setUnits);
|
setCallBack(linearUnits, &Preferences::setUnits);
|
||||||
setCallBack(cameraUnits, &Preferences::setCameraUnits);
|
setCallBack(cameraUnits, &Preferences::setCameraUnits);
|
||||||
|
|
||||||
define(checkIndicatorEnabled, "checkIndicatorEnabled", QMetaType::Bool, true);
|
define(viewerIndicatorEnabled, "viewerIndicatorEnabled", QMetaType::Bool,
|
||||||
|
true);
|
||||||
|
|
||||||
// Visualization
|
// Visualization
|
||||||
define(show0ThickLines, "show0ThickLines", QMetaType::Bool, true);
|
define(show0ThickLines, "show0ThickLines", QMetaType::Bool, true);
|
||||||
|
|
Loading…
Reference in a new issue