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