remove mysettings (#2366)

This commit is contained in:
shun-iwasawa 2018-11-16 18:28:38 +09:00 committed by masafumi-inoue
parent e93284d9ca
commit 7846407b39
21 changed files with 259 additions and 345 deletions

View file

@ -5,7 +5,7 @@ pane_1\name=FilmStrip
pane_1\geometry=@Rect(1168 34 342 514) pane_1\geometry=@Rect(1168 34 342 514)
pane_2\name=LevelPalette pane_2\name=LevelPalette
pane_2\geometry=@Rect(421 706 739 290) pane_2\geometry=@Rect(421 706 739 290)
pane_2\viewtype=0 pane_2\viewtype=2
pane_3\name=StyleEditor pane_3\name=StyleEditor
pane_3\geometry=@Rect(1168 556 342 440) pane_3\geometry=@Rect(1168 556 342 440)
pane_4\name=SceneViewer pane_4\name=SceneViewer

View file

@ -9,7 +9,7 @@ pane_3\name=ToolOptions
pane_3\geometry=@Rect(0 0 1920 26) pane_3\geometry=@Rect(0 0 1920 26)
pane_4\name=LevelPalette pane_4\name=LevelPalette
pane_4\geometry=@Rect(1131 34 398 217) pane_4\geometry=@Rect(1131 34 398 217)
pane_4\viewtype=0 pane_4\viewtype=2
pane_5\name=StyleEditor pane_5\name=StyleEditor
pane_5\geometry=@Rect(1131 259 398 737) pane_5\geometry=@Rect(1131 259 398 737)
hierarchy="-1 1 [ 3 [ 1 0 [ 4 5 ] 2 ] ] " hierarchy="-1 1 [ 3 [ 1 0 [ 4 5 ] 2 ] ] "

View file

@ -11,7 +11,7 @@ pane_4\name=Xsheet
pane_4\geometry=@Rect(43 646 1181 350) pane_4\geometry=@Rect(43 646 1181 350)
pane_5\name=LevelPalette pane_5\name=LevelPalette
pane_5\geometry=@Rect(1232 320 688 130) pane_5\geometry=@Rect(1232 320 688 130)
pane_5\viewtype=0 pane_5\viewtype=2
pane_6\name=StyleEditor pane_6\name=StyleEditor
pane_6\geometry=@Rect(1232 458 688 538) pane_6\geometry=@Rect(1232 458 688 538)
pane_7\name=StudioPalette pane_7\name=StudioPalette

View file

@ -20,4 +20,4 @@ pane_5\name=ToolOptions
pane_5\geometry=@Rect(0 0 1920 26) pane_5\geometry=@Rect(0 0 1920 26)
pane_6\name=LevelPalette pane_6\name=LevelPalette
pane_6\geometry=@Rect(0 521 238 190) pane_6\geometry=@Rect(0 521 238 190)
pane_6\viewtype=0 pane_6\viewtype=2

View file

@ -176,7 +176,6 @@ inline std::ostream &operator<<(std::ostream &out, const std::string &s) {
#define tArrayCount(ARRAY) (sizeof(ARRAY) / sizeof(ARRAY[0])) #define tArrayCount(ARRAY) (sizeof(ARRAY) / sizeof(ARRAY[0]))
const std::string mySettingsFileName = "mysettings.ini";
const std::string styleNameEasyInputWordsFileName = "stylename_easyinput.ini"; const std::string styleNameEasyInputWordsFileName = "stylename_easyinput.ini";
#endif //__T_COMMON_INCLUDED #endif //__T_COMMON_INCLUDED

View file

@ -50,22 +50,6 @@ class StyleNameEditor;
namespace PaletteViewerGUI { namespace PaletteViewerGUI {
// class for managing the palette's default style chip size
class DVAPI ChipSizeManager {
public:
int chipSize_Palette;
int chipSize_Cleanup;
int chipSize_Studio;
static ChipSizeManager *instance() {
static ChipSizeManager _instance;
return &_instance;
}
private:
ChipSizeManager()
: chipSize_Palette(2), chipSize_Cleanup(2), chipSize_Studio(2) {}
};
enum PaletteViewType //! Possible palette contents of a Palette Viewer. enum PaletteViewType //! Possible palette contents of a Palette Viewer.
{ LEVEL_PALETTE, //!< Content palette is from a level. { LEVEL_PALETTE, //!< Content palette is from a level.
CLEANUP_PALETTE, //!< Content palette is from cleanup settings. CLEANUP_PALETTE, //!< Content palette is from cleanup settings.

View file

@ -26,7 +26,7 @@ class TFrameHandle;
class PalettesScanPopup; class PalettesScanPopup;
class TXsheetHandle; class TXsheetHandle;
class TXshLevelHandle; class TXshLevelHandle;
class PaletteViewer;
//============================================================================= //=============================================================================
//! The StudioPaletteTreeViewer class provides an object to view and manage //! The StudioPaletteTreeViewer class provides an object to view and manage
//! palettes files. //! palettes files.
@ -207,6 +207,7 @@ class DVAPI StudioPaletteViewer final : public QSplitter {
Q_OBJECT Q_OBJECT
StudioPaletteTreeViewer *m_studioPaletteTreeViewer; StudioPaletteTreeViewer *m_studioPaletteTreeViewer;
PaletteViewer *m_studioPaletteViewer;
public: public:
StudioPaletteViewer(QWidget *parent, TPaletteHandle *studioPaletteHandle, StudioPaletteViewer(QWidget *parent, TPaletteHandle *studioPaletteHandle,
@ -217,6 +218,9 @@ public:
/*! In order to save current palette from the tool button in the PageViewer.*/ /*! In order to save current palette from the tool button in the PageViewer.*/
TFilePath getCurrentItemPath(); TFilePath getCurrentItemPath();
int getViewMode() const;
void setViewMode(int mode);
}; };
#endif // STUDIOPALETTEVIEWER_H #endif // STUDIOPALETTEVIEWER_H

View file

@ -85,12 +85,11 @@ ComboViewerPanel::ComboViewerPanel(QWidget *parent, Qt::WindowFlags flags)
#else #else
ComboViewerPanel::ComboViewerPanel(QWidget *parent, Qt::WFlags flags) ComboViewerPanel::ComboViewerPanel(QWidget *parent, Qt::WFlags flags)
#endif #endif
: StyleShortcutSwitchablePanel(parent) { : QFrame(parent) {
TApp *app = TApp::instance(); TApp *app = TApp::instance();
QFrame *hbox = new QFrame(this); setFrameStyle(QFrame::StyledPanel);
hbox->setFrameStyle(QFrame::StyledPanel); setObjectName("ComboViewerPanel");
hbox->setObjectName("ComboViewerPanel");
// ToolBar // ToolBar
m_toolbar = new Toolbar(this, false); m_toolbar = new Toolbar(this, false);
@ -151,8 +150,7 @@ ComboViewerPanel::ComboViewerPanel(QWidget *parent, Qt::WFlags flags)
new FlipConsole(mainLayout, buttons, false, m_keyFrameButton, new FlipConsole(mainLayout, buttons, false, m_keyFrameButton,
"SceneViewerConsole", this, true); "SceneViewerConsole", this, true);
} }
hbox->setLayout(mainLayout); setLayout(mainLayout);
setWidget(hbox);
m_flipConsole->enableButton(FlipConsole::eMatte, false, false); m_flipConsole->enableButton(FlipConsole::eMatte, false, false);
m_flipConsole->enableButton(FlipConsole::eSave, false, false); m_flipConsole->enableButton(FlipConsole::eSave, false, false);
@ -192,22 +190,17 @@ ComboViewerPanel::ComboViewerPanel(QWidget *parent, Qt::WFlags flags)
SLOT(update())); SLOT(update()));
ret = ret && connect(app->getCurrentScene(), SIGNAL(sceneSwitched()), this, ret = ret && connect(app->getCurrentScene(), SIGNAL(sceneSwitched()), this,
SLOT(onSceneSwitched())); SLOT(onSceneSwitched()));
ret = ret && connect(m_toolOptions, SIGNAL(newPanelCreated()), this,
SLOT(updateTabFocus()));
assert(ret); assert(ret);
m_flipConsole->setChecked(FlipConsole::eSound, true); m_flipConsole->setChecked(FlipConsole::eSound, true);
m_playSound = m_flipConsole->isChecked(FlipConsole::eSound); m_playSound = m_flipConsole->isChecked(FlipConsole::eSound);
// note: initializeTitleBar() refers to m_sceneViewer
initializeTitleBar(getTitleBar());
// initial state of the parts // initial state of the parts
m_visibleFlag[CVPARTS_TOOLBAR] = true; m_visiblePartsFlag = CVPARTS_ALL;
m_visibleFlag[CVPARTS_TOOLOPTIONS] = true;
m_visibleFlag[CVPARTS_FLIPCONSOLE] = true;
updateShowHide(); updateShowHide();
setFocusProxy(m_sceneViewer);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -216,11 +209,11 @@ ComboViewerPanel::ComboViewerPanel(QWidget *parent, Qt::WFlags flags)
void ComboViewerPanel::updateShowHide() { void ComboViewerPanel::updateShowHide() {
// toolbar // toolbar
m_toolbar->setVisible(m_visibleFlag[CVPARTS_TOOLBAR]); m_toolbar->setVisible(m_visiblePartsFlag & CVPARTS_TOOLBAR);
// tool options bar // tool options bar
m_toolOptions->setVisible(m_visibleFlag[CVPARTS_TOOLOPTIONS]); m_toolOptions->setVisible(m_visiblePartsFlag & CVPARTS_TOOLOPTIONS);
// flip console // flip console
m_flipConsole->showHideAllParts(m_visibleFlag[CVPARTS_FLIPCONSOLE]); m_flipConsole->showHideAllParts(m_visiblePartsFlag & CVPARTS_FLIPCONSOLE);
update(); update();
} }
@ -244,16 +237,16 @@ void ComboViewerPanel::addShowHideContextMenu(QMenu *menu) {
QAction *flipConsoleSHAct = showHideMenu->addAction(tr("Console")); QAction *flipConsoleSHAct = showHideMenu->addAction(tr("Console"));
toolbarSHAct->setCheckable(true); toolbarSHAct->setCheckable(true);
toolbarSHAct->setChecked(m_visibleFlag[CVPARTS_TOOLBAR]); toolbarSHAct->setChecked(m_visiblePartsFlag & CVPARTS_TOOLBAR);
toolbarSHAct->setData((int)CVPARTS_TOOLBAR); toolbarSHAct->setData((UINT)CVPARTS_TOOLBAR);
toolOptionsSHAct->setCheckable(true); toolOptionsSHAct->setCheckable(true);
toolOptionsSHAct->setChecked(m_visibleFlag[CVPARTS_TOOLOPTIONS]); toolOptionsSHAct->setChecked(m_visiblePartsFlag & CVPARTS_TOOLOPTIONS);
toolOptionsSHAct->setData((int)CVPARTS_TOOLOPTIONS); toolOptionsSHAct->setData((UINT)CVPARTS_TOOLOPTIONS);
flipConsoleSHAct->setCheckable(true); flipConsoleSHAct->setCheckable(true);
flipConsoleSHAct->setChecked(m_visibleFlag[CVPARTS_FLIPCONSOLE]); flipConsoleSHAct->setChecked(m_visiblePartsFlag & CVPARTS_FLIPCONSOLE);
flipConsoleSHAct->setData((int)CVPARTS_FLIPCONSOLE); flipConsoleSHAct->setData((UINT)CVPARTS_FLIPCONSOLE);
QActionGroup *showHideActGroup = new QActionGroup(this); QActionGroup *showHideActGroup = new QActionGroup(this);
showHideActGroup->setExclusive(false); showHideActGroup->setExclusive(false);
@ -280,13 +273,10 @@ void ComboViewerPanel::addShowHideContextMenu(QMenu *menu) {
*/ */
void ComboViewerPanel::onShowHideActionTriggered(QAction *act) { void ComboViewerPanel::onShowHideActionTriggered(QAction *act) {
CV_Parts parts = (CV_Parts)act->data().toInt(); CV_Parts part = (CV_Parts)act->data().toUInt();
assert(parts < CVPARTS_COUNT); assert(part < CVPARTS_End);
if (m_visibleFlag[parts]) m_visiblePartsFlag ^= part;
m_visibleFlag[parts] = false;
else
m_visibleFlag[parts] = true;
updateShowHide(); updateShowHide();
} }
@ -335,15 +325,11 @@ void ComboViewerPanel::onDrawFrame(
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
ComboViewerPanel::~ComboViewerPanel() { ComboViewerPanel::~ComboViewerPanel() {}
if (TApp::instance()->getInknPaintViewerPanel() == this)
TApp::instance()->setInknPaintViewerPanel(0);
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void ComboViewerPanel::showEvent(QShowEvent *event) { void ComboViewerPanel::showEvent(QShowEvent *event) {
StyleShortcutSwitchablePanel::showEvent(event);
TApp *app = TApp::instance(); TApp *app = TApp::instance();
TFrameHandle *frameHandle = app->getCurrentFrame(); TFrameHandle *frameHandle = app->getCurrentFrame();
TSceneHandle *sceneHandle = app->getCurrentScene(); TSceneHandle *sceneHandle = app->getCurrentScene();
@ -373,6 +359,10 @@ void ComboViewerPanel::showEvent(QShowEvent *event) {
*/ */
ret = ret && connect(sceneHandle, SIGNAL(nameSceneChanged()), this, ret = ret && connect(sceneHandle, SIGNAL(nameSceneChanged()), this,
SLOT(changeWindowTitle())); SLOT(changeWindowTitle()));
ret =
ret && connect(sceneHandle, SIGNAL(preferenceChanged(const QString &)),
m_flipConsole, SLOT(onPreferenceChanged(const QString &)));
ret = ret && connect(levelHandle, SIGNAL(xshLevelChanged()), this, ret = ret && connect(levelHandle, SIGNAL(xshLevelChanged()), this,
SLOT(changeWindowTitle())); SLOT(changeWindowTitle()));
ret = ret && connect(frameHandle, SIGNAL(frameSwitched()), this, ret = ret && connect(frameHandle, SIGNAL(frameSwitched()), this,
@ -400,6 +390,7 @@ void ComboViewerPanel::showEvent(QShowEvent *event) {
assert(ret); assert(ret);
m_flipConsole->setActive(true); m_flipConsole->setActive(true);
m_flipConsole->onPreferenceChanged("");
// refresh // refresh
onSceneChanged(); onSceneChanged();
@ -409,7 +400,6 @@ void ComboViewerPanel::showEvent(QShowEvent *event) {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void ComboViewerPanel::hideEvent(QHideEvent *event) { void ComboViewerPanel::hideEvent(QHideEvent *event) {
StyleShortcutSwitchablePanel::hideEvent(event);
TApp *app = TApp::instance(); TApp *app = TApp::instance();
disconnect(app->getCurrentFrame(), 0, this, 0); disconnect(app->getCurrentFrame(), 0, this, 0);
disconnect(app->getCurrentScene(), 0, this, 0); disconnect(app->getCurrentScene(), 0, this, 0);
@ -419,6 +409,8 @@ void ComboViewerPanel::hideEvent(QHideEvent *event) {
disconnect(app->getCurrentTool(), SIGNAL(toolSwitched()), m_sceneViewer, disconnect(app->getCurrentTool(), SIGNAL(toolSwitched()), m_sceneViewer,
SLOT(onToolSwitched())); SLOT(onToolSwitched()));
disconnect(app->getCurrentScene(), SIGNAL(preferenceChanged(const QString &)),
m_flipConsole, SLOT(onPreferenceChanged(const QString &)));
m_flipConsole->setActive(false); m_flipConsole->setActive(false);
} }
@ -436,9 +428,9 @@ void ComboViewerPanel::initializeTitleBar(TPanelTitleBar *titleBar) {
// buttons for show / hide toggle for the field guide and the safe area // buttons for show / hide toggle for the field guide and the safe area
TPanelTitleBarButtonForSafeArea *safeAreaButton = TPanelTitleBarButtonForSafeArea *safeAreaButton =
new TPanelTitleBarButtonForSafeArea(titleBar, ":Resources/pane_safe_off.svg", new TPanelTitleBarButtonForSafeArea(
":Resources/pane_safe_over.svg", titleBar, ":Resources/pane_safe_off.svg",
":Resources/pane_safe_on.svg"); ":Resources/pane_safe_over.svg", ":Resources/pane_safe_on.svg");
safeAreaButton->setToolTip(tr("Safe Area (Right Click to Select)")); safeAreaButton->setToolTip(tr("Safe Area (Right Click to Select)"));
titleBar->add(QPoint(x, 0), safeAreaButton); titleBar->add(QPoint(x, 0), safeAreaButton);
ret = ret && connect(safeAreaButton, SIGNAL(toggled(bool)), ret = ret && connect(safeAreaButton, SIGNAL(toggled(bool)),
@ -507,8 +499,8 @@ void ComboViewerPanel::initializeTitleBar(TPanelTitleBar *titleBar) {
// preview toggles // preview toggles
m_previewButton = new TPanelTitleBarButton( m_previewButton = new TPanelTitleBarButton(
titleBar, ":Resources/pane_preview_off.svg", ":Resources/pane_preview_over.svg", titleBar, ":Resources/pane_preview_off.svg",
":Resources/pane_preview_on.svg"); ":Resources/pane_preview_over.svg", ":Resources/pane_preview_on.svg");
x += 10 + iconWidth; x += 10 + iconWidth;
titleBar->add(QPoint(x, 0), m_previewButton); titleBar->add(QPoint(x, 0), m_previewButton);
m_previewButton->setToolTip(tr("Preview")); m_previewButton->setToolTip(tr("Preview"));
@ -616,6 +608,7 @@ void ComboViewerPanel::changeWindowTitle() {
TApp *app = TApp::instance(); TApp *app = TApp::instance();
ToonzScene *scene = app->getCurrentScene()->getScene(); ToonzScene *scene = app->getCurrentScene()->getScene();
if (!scene) return; if (!scene) return;
if (!parentWidget()) return;
int frame = app->getCurrentFrame()->getFrame(); int frame = app->getCurrentFrame()->getFrame();
// put the titlebar texts in this string // put the titlebar texts in this string
@ -637,7 +630,7 @@ void ComboViewerPanel::changeWindowTitle() {
!m_sceneViewer->is3DView()) { !m_sceneViewer->is3DView()) {
name = name + tr(" (Flipped)"); name = name + tr(" (Flipped)");
} }
setWindowTitle(name); parentWidget()->setWindowTitle(name);
return; return;
} }
TXsheet *xsh = app->getCurrentXsheet()->getXsheet(); TXsheet *xsh = app->getCurrentXsheet()->getXsheet();
@ -647,7 +640,7 @@ void ComboViewerPanel::changeWindowTitle() {
!m_sceneViewer->is3DView()) { !m_sceneViewer->is3DView()) {
name = name + tr(" (Flipped)"); name = name + tr(" (Flipped)");
} }
setWindowTitle(name); parentWidget()->setWindowTitle(name);
return; return;
} }
assert(cell.m_level.getPointer()); assert(cell.m_level.getPointer());
@ -712,7 +705,7 @@ void ComboViewerPanel::changeWindowTitle() {
!m_sceneViewer->is3DView()) { !m_sceneViewer->is3DView()) {
name = name + tr(" (Flipped)"); name = name + tr(" (Flipped)");
} }
setWindowTitle(name); parentWidget()->setWindowTitle(name);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -821,13 +814,6 @@ void ComboViewerPanel::onFrameTypeChanged() {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void ComboViewerPanel::onPreferenceChanged(const QString &prefName) {
m_flipConsole->onPreferenceChanged(prefName);
StyleShortcutSwitchablePanel::onPreferenceChanged(prefName);
}
//-----------------------------------------------------------------------------
void ComboViewerPanel::playAudioFrame(int frame) { void ComboViewerPanel::playAudioFrame(int frame) {
if (m_first) { if (m_first) {
m_first = false; m_first = false;
@ -876,3 +862,20 @@ void ComboViewerPanel::onButtonPressed(FlipConsole::EGadget button) {
m_playSound = !m_playSound; m_playSound = !m_playSound;
} }
} }
//-----------------------------------------------------------------------------
void ComboViewerPanel::setVisiblePartsFlag(UINT flag) {
m_visiblePartsFlag = flag;
updateShowHide();
}
// SaveLoadQSettings
void ComboViewerPanel::save(QSettings &settings) const {
settings.setValue("visibleParts", m_visiblePartsFlag);
}
void ComboViewerPanel::load(QSettings &settings) {
m_visiblePartsFlag = settings.value("visibleParts", CVPARTS_ALL).toUInt();
updateShowHide();
}

View file

@ -3,12 +3,14 @@
#ifndef COMBOVIEWER_PANE_INCLUDED #ifndef COMBOVIEWER_PANE_INCLUDED
#define COMBOVIEWER_PANE_INCLUDED #define COMBOVIEWER_PANE_INCLUDED
#include "styleshortcutswitchablepanel.h"
#include "sceneviewer.h" #include "sceneviewer.h"
#include "toonzqt/intfield.h" #include "toonzqt/intfield.h"
#include "toonzqt/keyframenavigator.h" #include "toonzqt/keyframenavigator.h"
#include "toonzqt/flipconsoleowner.h" #include "toonzqt/flipconsoleowner.h"
#include "saveloadqsettings.h"
#include <QFrame>
class QPoint; class QPoint;
class QToolBar; class QToolBar;
@ -30,15 +32,19 @@ class ToolOptions;
// ComboViewerPanel // ComboViewerPanel
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
enum CV_Parts { enum CV_Parts {
CVPARTS_TOOLBAR = 0, CVPARTS_None = 0,
CVPARTS_TOOLOPTIONS, CVPARTS_TOOLBAR = 0x1,
CVPARTS_FLIPCONSOLE, CVPARTS_TOOLOPTIONS = 0x2,
CVPARTS_COUNT CVPARTS_FLIPCONSOLE = 0x4,
CVPARTS_End = 0x8,
CVPARTS_ALL = CVPARTS_TOOLBAR | CVPARTS_TOOLOPTIONS | CVPARTS_FLIPCONSOLE
}; };
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
class ComboViewerPanel final : public StyleShortcutSwitchablePanel, class ComboViewerPanel final : public QFrame,
public FlipConsoleOwner { public FlipConsoleOwner,
public SaveLoadQSettings {
Q_OBJECT Q_OBJECT
SceneViewer *m_sceneViewer; SceneViewer *m_sceneViewer;
@ -50,7 +56,7 @@ class ComboViewerPanel final : public StyleShortcutSwitchablePanel,
ToolOptions *m_toolOptions; ToolOptions *m_toolOptions;
Ruler *m_vRuler; Ruler *m_vRuler;
Ruler *m_hRuler; Ruler *m_hRuler;
bool m_visibleFlag[CVPARTS_COUNT]; UINT m_visiblePartsFlag;
bool m_onionSkinActive = false; bool m_onionSkinActive = false;
bool m_playSound = true; bool m_playSound = true;
bool m_hasSoundtrack = false; bool m_hasSoundtrack = false;
@ -73,37 +79,36 @@ public:
~ComboViewerPanel(); ~ComboViewerPanel();
SceneViewer *getSceneViewer() { return m_sceneViewer; } SceneViewer *getSceneViewer() { return m_sceneViewer; }
ToolOptions *getToolOptions() { return m_toolOptions; }
// toggle show/hide of the widgets according to m_visibleFlag // toggle show/hide of the widgets according to m_visiblePartsFlag
void setVisiblePartsFlag(UINT flag);
void updateShowHide(); void updateShowHide();
void addShowHideContextMenu(QMenu *); void addShowHideContextMenu(QMenu *);
void setShowHideFlag(CV_Parts parts, bool visible) {
m_visibleFlag[parts] = visible;
}
bool getShowHideFlag(CV_Parts parts) { return m_visibleFlag[parts]; }
// reimplementation of TPanel::widgetInThisPanelIsFocused
bool widgetInThisPanelIsFocused() override {
return m_sceneViewer->hasFocus();
}
void onDrawFrame(int frame, void onDrawFrame(int frame,
const ImagePainter::VisualSettings &settings) override; const ImagePainter::VisualSettings &settings) override;
void onEnterPanel() {
m_sceneViewer->setFocus(Qt::OtherFocusReason);
// activate shortcut key for this flipconsole
m_flipConsole->makeCurrent();
}
void onLeavePanel() { m_sceneViewer->clearFocus(); }
// SaveLoadQSettings
virtual void save(QSettings &settings) const override;
virtual void load(QSettings &settings) override;
void initializeTitleBar(TPanelTitleBar *titleBar);
protected: protected:
void showEvent(QShowEvent *) override; void showEvent(QShowEvent *) override;
void hideEvent(QHideEvent *) override; void hideEvent(QHideEvent *) override;
void initializeTitleBar(TPanelTitleBar *titleBar);
void createFrameToolBar(); void createFrameToolBar();
void createPlayToolBar(); void createPlayToolBar();
void addColorMaskButton(QWidget *parent, const char *iconSVGName, int id); void addColorMaskButton(QWidget *parent, const char *iconSVGName, int id);
void contextMenuEvent(QContextMenuEvent *event) override; void contextMenuEvent(QContextMenuEvent *event) override;
// reimplementation of TPanel::widgetFocusOnEnter
void widgetFocusOnEnter() override {
m_sceneViewer->setFocus(Qt::OtherFocusReason);
// activate shortcut key for this flipconsole
m_flipConsole->makeCurrent();
};
void widgetClearFocusOnLeave() override { m_sceneViewer->clearFocus(); };
void playAudioFrame(int frame); void playAudioFrame(int frame);
bool hasSoundtrack(); bool hasSoundtrack();
@ -127,8 +132,6 @@ protected slots:
void onSceneSwitched(); void onSceneSwitched();
void enableFullPreview(bool enabled); void enableFullPreview(bool enabled);
void enableSubCameraPreview(bool enabled); void enableSubCameraPreview(bool enabled);
void onPreferenceChanged(const QString &prefName) override;
}; };
#endif #endif

View file

@ -112,7 +112,6 @@ FilmstripFrames::FilmstripFrames(QScrollArea *parent, Qt::WFlags flags)
, m_dragSelectionStartIndex(-1) , m_dragSelectionStartIndex(-1)
, m_dragSelectionEndIndex(-1) , m_dragSelectionEndIndex(-1)
, m_timerId(0) , m_timerId(0)
, m_isGhibli(false)
, m_selecting(false) , m_selecting(false)
, m_dragDropArmed(false) , m_dragDropArmed(false)
, m_readOnly(false) { , m_readOnly(false) {
@ -132,9 +131,6 @@ FilmstripFrames::FilmstripFrames(QScrollArea *parent, Qt::WFlags flags)
m_selection->setView(this); m_selection->setView(this);
setMouseTracking(true); setMouseTracking(true);
std::string room =
Preferences::instance()->getCurrentRoomChoice().toStdString();
m_isGhibli = room == "StudioGhibli";
m_viewer = NULL; m_viewer = NULL;
} }
@ -357,26 +353,33 @@ void FilmstripFrames::showEvent(QShowEvent *) {
// cambiamenti al livello // cambiamenti al livello
TXshLevelHandle *levelHandle = app->getCurrentLevel(); TXshLevelHandle *levelHandle = app->getCurrentLevel();
connect(levelHandle, SIGNAL(xshLevelSwitched(TXshLevel *)), this, bool ret = true;
ret = ret && connect(levelHandle, SIGNAL(xshLevelSwitched(TXshLevel *)), this,
SLOT(onLevelSwitched(TXshLevel *))); SLOT(onLevelSwitched(TXshLevel *)));
connect(levelHandle, SIGNAL(xshLevelChanged()), this, SLOT(onLevelChanged())); ret = ret && connect(levelHandle, SIGNAL(xshLevelChanged()), this,
connect(levelHandle, SIGNAL(xshLevelViewChanged()), this, SLOT(onLevelChanged()));
ret = ret && connect(levelHandle, SIGNAL(xshLevelViewChanged()), this,
SLOT(onLevelChanged())); SLOT(onLevelChanged()));
// al frame corrente // al frame corrente
connect(app->getCurrentFrame(), SIGNAL(frameSwitched()), this, ret = ret && connect(app->getCurrentFrame(), SIGNAL(frameSwitched()), this,
SLOT(onFrameSwitched())); SLOT(onFrameSwitched()));
connect(app->getCurrentFrame(), SIGNAL(frameTypeChanged()), this, ret = ret && connect(app->getCurrentFrame(), SIGNAL(frameTypeChanged()), this,
SLOT(update())); SLOT(update()));
// iconcine // iconcine
connect(IconGenerator::instance(), SIGNAL(iconGenerated()), this, ret = ret && connect(IconGenerator::instance(), SIGNAL(iconGenerated()), this,
SLOT(update())); SLOT(update()));
// onion skin // onion skin
connect(app->getCurrentOnionSkin(), SIGNAL(onionSkinMaskChanged()), this, ret = ret && connect(app->getCurrentOnionSkin(),
SLOT(update())); SIGNAL(onionSkinMaskChanged()), this, SLOT(update()));
// active viewer change
ret = ret &&
connect(app, SIGNAL(activeViewerChanged()), this, SLOT(getViewer()));
assert(ret);
getViewer(); getViewer();
} }
@ -402,9 +405,13 @@ void FilmstripFrames::hideEvent(QHideEvent *) {
disconnect(app->getCurrentOnionSkin(), SIGNAL(onionSkinMaskChanged()), this, disconnect(app->getCurrentOnionSkin(), SIGNAL(onionSkinMaskChanged()), this,
SLOT(update())); SLOT(update()));
// active viewer change
disconnect(app, SIGNAL(activeViewerChanged()), this, SLOT(getViewer()));
if (m_viewer) { if (m_viewer) {
disconnect(m_viewer, SIGNAL(onZoomChanged()), this, SLOT(update())); disconnect(m_viewer, SIGNAL(onZoomChanged()), this, SLOT(update()));
disconnect(m_viewer, SIGNAL(refreshNavi()), this, SLOT(update())); disconnect(m_viewer, SIGNAL(refreshNavi()), this, SLOT(update()));
m_viewer = nullptr;
} }
} }
@ -419,16 +426,13 @@ void FilmstripFrames::getViewer() {
} }
viewerChanged = true; viewerChanged = true;
} }
ComboViewerPanel *inknPaintViewerPanel =
TApp::instance()->getInknPaintViewerPanel();
if (m_isGhibli && inknPaintViewerPanel) {
m_viewer = inknPaintViewerPanel->getSceneViewer();
} else {
m_viewer = TApp::instance()->getActiveViewer(); m_viewer = TApp::instance()->getActiveViewer();
}
if (m_viewer && viewerChanged) { if (m_viewer && viewerChanged) {
connect(m_viewer, SIGNAL(onZoomChanged()), this, SLOT(update())); connect(m_viewer, SIGNAL(onZoomChanged()), this, SLOT(update()));
connect(m_viewer, SIGNAL(refreshNavi()), this, SLOT(update())); connect(m_viewer, SIGNAL(refreshNavi()), this, SLOT(update()));
update();
} }
} }
@ -738,7 +742,7 @@ void FilmstripFrames::mousePressEvent(QMouseEvent *event) {
if (fid.getNumber() >= 0 && fid == getCurrentFrameId() && if (fid.getNumber() >= 0 && fid == getCurrentFrameId() &&
(sl->getType() == TZP_XSHLEVEL || sl->getType() == OVL_XSHLEVEL) && (sl->getType() == TZP_XSHLEVEL || sl->getType() == OVL_XSHLEVEL) &&
m_viewer && m_viewer->isVisible() && actualIconClicked && m_viewer && m_viewer->isVisible() && actualIconClicked &&
(m_isGhibli != (event->button() == Qt::MiddleButton))) { event->button() == Qt::MiddleButton) {
m_isNavigatorPanning = true; m_isNavigatorPanning = true;
execNavigatorPan(event->pos()); execNavigatorPan(event->pos());
QApplication::setOverrideCursor(Qt::ClosedHandCursor); QApplication::setOverrideCursor(Qt::ClosedHandCursor);

View file

@ -131,7 +131,6 @@ protected:
void stopAutoPanning(); void stopAutoPanning();
void timerEvent(QTimerEvent *) override; void timerEvent(QTimerEvent *) override;
TFrameId getCurrentFrameId(); TFrameId getCurrentFrameId();
void getViewer();
void contextMenuEvent(QContextMenuEvent *event) override; void contextMenuEvent(QContextMenuEvent *event) override;
void startDragDrop(); void startDragDrop();
@ -145,6 +144,7 @@ protected slots:
void onLevelChanged(); void onLevelChanged();
void onLevelSwitched(TXshLevel *); void onLevelSwitched(TXshLevel *);
void onFrameSwitched(); void onFrameSwitched();
void getViewer();
private: private:
// QSS Properties // QSS Properties
@ -166,7 +166,6 @@ private:
FilmstripFrameHeadGadget *m_frameHeadGadget; FilmstripFrameHeadGadget *m_frameHeadGadget;
InbetweenDialog *m_inbetweenDialog; InbetweenDialog *m_inbetweenDialog;
SceneViewer *m_viewer; SceneViewer *m_viewer;
bool m_isGhibli = false;
bool m_justStartedSelection = false; bool m_justStartedSelection = false;
int m_indexForResetSelection = -1; int m_indexForResetSelection = -1;
bool m_allowResetSelection = false; bool m_allowResetSelection = false;

View file

@ -348,10 +348,6 @@ void Room::load(const TFilePath &fp) {
dynamic_cast<FlipBook *>(pane->widget())->setPoolIndex(index); dynamic_cast<FlipBook *>(pane->widget())->setPoolIndex(index);
} }
/*-- もしRoomにComboViewerがロードされたら、centralWidgetとして登録する --*/
if (paneObjectName == "ComboViewer")
setCentralViewerPanel(qobject_cast<ComboViewerPanel *>(pane));
settings.endGroup(); settings.endGroup();
} }
@ -549,20 +545,6 @@ void MainWindow::refreshWriteSettings() { writeSettings(); }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void MainWindow::readSettings(const QString &argumentLayoutFileName) { void MainWindow::readSettings(const QString &argumentLayoutFileName) {
TFilePath fp(ToonzFolder::getMyModuleDir() + TFilePath(mySettingsFileName));
QSettings mySettings(toQString(fp), QSettings::IniFormat);
/*-- Palette-PageViewerのチップサイズのロード --*/
mySettings.beginGroup("PaletteChipSizes");
{
PaletteViewerGUI::ChipSizeManager::instance()->chipSize_Palette =
mySettings.value("PaletteViewer", 2).toInt();
PaletteViewerGUI::ChipSizeManager::instance()->chipSize_Cleanup =
mySettings.value("CleanupSettings", 0).toInt();
PaletteViewerGUI::ChipSizeManager::instance()->chipSize_Studio =
mySettings.value("StudioPalette", 1).toInt();
}
mySettings.endGroup();
QTabBar *roomTabWidget = m_topBar->getRoomTabWidget(); QTabBar *roomTabWidget = m_topBar->getRoomTabWidget();
/*-- Pageを追加すると同時にMenubarを追加する --*/ /*-- Pageを追加すると同時にMenubarを追加する --*/
@ -656,7 +638,7 @@ void MainWindow::readSettings(const QString &argumentLayoutFileName) {
writeRoomList(rooms); writeRoomList(rooms);
// Imposto la stanza corrente // Imposto la stanza corrente
fp = ToonzFolder::getRoomsFile(currentRoomFileName); TFilePath fp = ToonzFolder::getRoomsFile(currentRoomFileName);
Tifstream is(fp); Tifstream is(fp);
std::string currentRoomName; std::string currentRoomName;
is >> currentRoomName; is >> currentRoomName;
@ -673,38 +655,6 @@ void MainWindow::readSettings(const QString &argumentLayoutFileName) {
} }
RecentFiles::instance()->loadRecentFiles(); RecentFiles::instance()->loadRecentFiles();
QStringList roomNames;
roomNames << "InknPaint"
<< "Cleanup"
<< "PltEdit"
<< "Schematic"
<< "QAR";
/*--- ComboViewerのパーツのShow/Hideの再現 ---*/
mySettings.beginGroup("ComboViewerPartsVisible");
{
for (int r = 0; r < roomNames.size(); r++) {
QString tmpRoomName = roomNames.at(r);
Room *tmpRoom = getRoomByName(tmpRoomName);
if (tmpRoom) {
ComboViewerPanel *cvp = tmpRoom->getCentralViewerPanel();
if (cvp) {
if (r == 0) // InknPaintRoom
TApp::instance()->setInknPaintViewerPanel(cvp);
mySettings.beginGroup(tmpRoomName);
cvp->setShowHideFlag(CVPARTS_TOOLBAR,
mySettings.value("Toolbar", true).toBool());
cvp->setShowHideFlag(CVPARTS_TOOLOPTIONS,
mySettings.value("ToolOptions", true).toBool());
cvp->setShowHideFlag(CVPARTS_FLIPCONSOLE,
mySettings.value("Console", true).toBool());
cvp->updateShowHide();
mySettings.endGroup();
}
}
}
}
mySettings.endGroup();
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -748,56 +698,6 @@ void MainWindow::writeSettings() {
QSettings settings(toQString(fp), QSettings::IniFormat); QSettings settings(toQString(fp), QSettings::IniFormat);
settings.setValue("MainWindowGeometry", saveGeometry()); settings.setValue("MainWindowGeometry", saveGeometry());
// Recent Files
// RecentFiles::instance()->saveRecentFiles();
fp = ToonzFolder::getMyModuleDir() + TFilePath(mySettingsFileName);
QSettings mySettings(toQString(fp), QSettings::IniFormat);
/*--- Palette-PageViewerのチップサイズの保存 ---*/
mySettings.beginGroup("PaletteChipSizes");
{
mySettings.setValue(
"PaletteViewer",
PaletteViewerGUI::ChipSizeManager::instance()->chipSize_Palette);
mySettings.setValue(
"CleanupSettings",
PaletteViewerGUI::ChipSizeManager::instance()->chipSize_Cleanup);
mySettings.setValue(
"StudioPalette",
PaletteViewerGUI::ChipSizeManager::instance()->chipSize_Studio);
}
mySettings.endGroup();
QStringList roomNames;
roomNames << "InknPaint"
<< "Cleanup"
<< "PltEdit"
<< "Schematic"
<< "QAR";
/*--- ComboViewerのパーツのShow/Hideの保存 ---*/
mySettings.beginGroup("ComboViewerPartsVisible");
{
for (int r = 0; r < roomNames.size(); r++) {
QString tmpRoomName = roomNames.at(r);
Room *tmpRoom = getRoomByName(tmpRoomName);
if (tmpRoom) {
ComboViewerPanel *cvp = tmpRoom->getCentralViewerPanel();
if (cvp) {
mySettings.beginGroup(tmpRoomName);
mySettings.setValue("Toolbar", cvp->getShowHideFlag(CVPARTS_TOOLBAR));
mySettings.setValue("ToolOptions",
cvp->getShowHideFlag(CVPARTS_TOOLOPTIONS));
mySettings.setValue("Console",
cvp->getShowHideFlag(CVPARTS_FLIPCONSOLE));
cvp->updateShowHide();
mySettings.endGroup();
}
}
}
}
mySettings.endGroup();
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -817,15 +717,9 @@ Room *MainWindow::createCleanupRoom() {
cleanupRoom->addDockWidget(viewer); cleanupRoom->addDockWidget(viewer);
layout->dockItem(viewer); layout->dockItem(viewer);
ComboViewerPanel *cvp = qobject_cast<ComboViewerPanel *>(viewer); ComboViewerPanel *cvp = qobject_cast<ComboViewerPanel *>(viewer);
if (cvp) { if (cvp)
/*- UI隠す -*/ // hide all parts
cvp->setShowHideFlag(CVPARTS_TOOLBAR, false); cvp->setVisiblePartsFlag(CVPARTS_None);
cvp->setShowHideFlag(CVPARTS_TOOLOPTIONS, false);
cvp->setShowHideFlag(CVPARTS_FLIPCONSOLE, false);
cvp->updateShowHide();
cleanupRoom->setCentralViewerPanel(cvp);
}
} }
// CleanupSettings // CleanupSettings
@ -864,11 +758,7 @@ Room *MainWindow::createPltEditRoom() {
layout->dockItem(viewer); layout->dockItem(viewer);
ComboViewerPanel *cvp = qobject_cast<ComboViewerPanel *>(viewer); ComboViewerPanel *cvp = qobject_cast<ComboViewerPanel *>(viewer);
if (cvp) { if (cvp) cvp->setVisiblePartsFlag(CVPARTS_TOOLBAR | CVPARTS_TOOLOPTIONS);
cvp->setShowHideFlag(CVPARTS_FLIPCONSOLE, false);
cvp->updateShowHide();
pltEditRoom->setCentralViewerPanel(cvp);
}
} }
// Palette // Palette
@ -920,12 +810,6 @@ Room *MainWindow::createInknPaintRoom() {
if (viewer) { if (viewer) {
inknPaintRoom->addDockWidget(viewer); inknPaintRoom->addDockWidget(viewer);
layout->dockItem(viewer); layout->dockItem(viewer);
ComboViewerPanel *cvp = qobject_cast<ComboViewerPanel *>(viewer);
if (cvp) {
inknPaintRoom->setCentralViewerPanel(cvp);
TApp::instance()->setInknPaintViewerPanel(cvp);
}
} }
// Palette // Palette
@ -1959,15 +1843,17 @@ void MainWindow::defineActions() {
MenuViewCommandType); MenuViewCommandType);
createToggle(MI_ACheck, tr("&Gap Check"), "", ACheckToggleAction ? 1 : 0, createToggle(MI_ACheck, tr("&Gap Check"), "", ACheckToggleAction ? 1 : 0,
MenuViewCommandType); MenuViewCommandType);
QAction* shiftTraceAction = createToggle(MI_ShiftTrace, tr("Shift and Trace"), "", false, QAction *shiftTraceAction = createToggle(MI_ShiftTrace, tr("Shift and Trace"),
MenuViewCommandType); "", false, MenuViewCommandType);
shiftTraceAction->setIcon(QIcon(":Resources/shift_and_trace.svg")); shiftTraceAction->setIcon(QIcon(":Resources/shift_and_trace.svg"));
shiftTraceAction = createToggle(MI_EditShift, tr("Edit Shift"), "", false, MenuViewCommandType); shiftTraceAction = createToggle(MI_EditShift, tr("Edit Shift"), "", false,
MenuViewCommandType);
shiftTraceAction->setIcon(QIcon(":Resources/shift_and_trace_edit.svg")); shiftTraceAction->setIcon(QIcon(":Resources/shift_and_trace_edit.svg"));
createToggle(MI_NoShift, tr("No Shift"), "", false, MenuViewCommandType); createToggle(MI_NoShift, tr("No Shift"), "", false, MenuViewCommandType);
CommandManager::instance()->enable(MI_EditShift, false); CommandManager::instance()->enable(MI_EditShift, false);
CommandManager::instance()->enable(MI_NoShift, false); CommandManager::instance()->enable(MI_NoShift, false);
shiftTraceAction = createAction(MI_ResetShift, tr("Reset Shift"), "", MenuViewCommandType); shiftTraceAction =
createAction(MI_ResetShift, tr("Reset Shift"), "", MenuViewCommandType);
shiftTraceAction->setIcon(QIcon(":Resources/shift_and_trace_reset.svg")); shiftTraceAction->setIcon(QIcon(":Resources/shift_and_trace_reset.svg"));
if (QGLPixelBuffer::hasOpenGLPbuffers()) if (QGLPixelBuffer::hasOpenGLPbuffers())

View file

@ -30,18 +30,13 @@ class Room final : public TMainWindow {
TFilePath m_path; TFilePath m_path;
QString m_name; QString m_name;
/*--
* Room毎にComboViewerの初期状態をLoadするためMainWindowからComboViewerにアクセスできるようにする
* --*/
ComboViewerPanel *m_centralViewer;
public: public:
#if QT_VERSION >= 0x050500 #if QT_VERSION >= 0x050500
Room(QWidget *parent = 0, Qt::WindowFlags flags = 0) Room(QWidget *parent = 0, Qt::WindowFlags flags = 0)
#else #else
Room(QWidget *parent = 0, Qt::WFlags flags = 0) Room(QWidget *parent = 0, Qt::WFlags flags = 0)
#endif #endif
: TMainWindow(parent, flags), m_centralViewer(0) { : TMainWindow(parent, flags) {
} }
~Room() {} ~Room() {}
@ -52,11 +47,6 @@ public:
QString getName() const { return m_name; } QString getName() const { return m_name; }
void setName(QString name) { m_name = name; } void setName(QString name) { m_name = name; }
ComboViewerPanel *getCentralViewerPanel() const { return m_centralViewer; }
void setCentralViewerPanel(ComboViewerPanel *cvp) {
if (!m_centralViewer) m_centralViewer = cvp;
}
void save(); void save();
void load(const TFilePath &fp); void load(const TFilePath &fp);
}; };

View file

@ -1096,20 +1096,22 @@ bool SceneViewer::event(QEvent *e) {
break; break;
} }
*/ */
if (CommandManager::instance() if (e->type() == QEvent::Gesture &&
CommandManager::instance()
->getAction(MI_TouchGestureControl) ->getAction(MI_TouchGestureControl)
->isChecked()) { ->isChecked()) {
if (e->type() == QEvent::Gesture) {
gestureEvent(static_cast<QGestureEvent *>(e)); gestureEvent(static_cast<QGestureEvent *>(e));
return true; return true;
} }
if (e->type() == QEvent::TouchBegin || e->type() == QEvent::TouchEnd || if ((e->type() == QEvent::TouchBegin || e->type() == QEvent::TouchEnd ||
e->type() == QEvent::TouchCancel || e->type() == QEvent::TouchUpdate) { e->type() == QEvent::TouchCancel || e->type() == QEvent::TouchUpdate) &&
CommandManager::instance()
->getAction(MI_TouchGestureControl)
->isChecked()) {
touchEvent(static_cast<QTouchEvent *>(e), e->type()); touchEvent(static_cast<QTouchEvent *>(e), e->type());
m_gestureActive = true; m_gestureActive = true;
return true; return true;
} }
}
if (e->type() == QEvent::ShortcutOverride || e->type() == QEvent::KeyPress) { if (e->type() == QEvent::ShortcutOverride || e->type() == QEvent::KeyPress) {
if (!((QKeyEvent *)e)->isAutoRepeat()) { if (!((QKeyEvent *)e)->isAutoRepeat()) {
TApp::instance()->getCurrentTool()->storeTool(); TApp::instance()->getCurrentTool()->storeTool();
@ -1474,8 +1476,8 @@ void SceneViewer::onContextMenu(const QPoint &pos, const QPoint &globalPos) {
menu->addLevelCommands(columnIndices); menu->addLevelCommands(columnIndices);
ComboViewerPanel *cvp = qobject_cast<ComboViewerPanel *>( ComboViewerPanel *cvp =
parentWidget()->parentWidget()->parentWidget()); qobject_cast<ComboViewerPanel *>(parentWidget()->parentWidget());
if (cvp) { if (cvp) {
menu->addSeparator(); menu->addSeparator();
cvp->addShowHideContextMenu(menu); cvp->addShowHideContextMenu(menu);

View file

@ -81,9 +81,6 @@ class TApp final : public QObject,
QMainWindow *m_mainWindow; QMainWindow *m_mainWindow;
// keep a pointer of the inknpaint viewer in order to enable navigator pan in
// the filmstrip
ComboViewerPanel *m_inknPaintViewerPanel;
SceneViewer *m_activeViewer; SceneViewer *m_activeViewer;
XsheetViewer *m_xsheetViewer; XsheetViewer *m_xsheetViewer;
@ -190,16 +187,11 @@ public:
QString getCurrentRoomName() const; QString getCurrentRoomName() const;
// keep a pointer of the inknpaint viewer in order to enable navigator pan in void setActiveViewer(SceneViewer *viewer) {
// the filmstrip if (m_activeViewer == viewer) return;
void setInknPaintViewerPanel(ComboViewerPanel *panel) { m_activeViewer = viewer;
m_inknPaintViewerPanel = panel; emit activeViewerChanged();
} }
ComboViewerPanel *getInknPaintViewerPanel() const {
return m_inknPaintViewerPanel;
}
void setActiveViewer(SceneViewer *viewer) { m_activeViewer = viewer; }
SceneViewer *getActiveViewer() const { return m_activeViewer; } SceneViewer *getActiveViewer() const { return m_activeViewer; }
@ -254,6 +246,9 @@ signals:
// NOTE: For now QEvent::TabletLeaveProximity is NOT detected on Windows. See // NOTE: For now QEvent::TabletLeaveProximity is NOT detected on Windows. See
// QTBUG-53628. // QTBUG-53628.
void tabletLeft(); void tabletLeft();
void
activeViewerChanged(); // TODO: put widgets-related stuffs in some new handle
}; };
#endif // TAPP_H #endif // TAPP_H

View file

@ -626,6 +626,17 @@ void StudioPaletteViewerPanel::onPaletteSwitched() {
m_studioPaletteHandle); m_studioPaletteHandle);
} }
//-----------------------------------------------------------------------------
void StudioPaletteViewerPanel::setViewType(int viewType) {
m_studioPaletteViewer->setViewMode(viewType);
}
//-----------------------------------------------------------------------------
int StudioPaletteViewerPanel::getViewType() {
return m_studioPaletteViewer->getViewMode();
}
//============================================================================= //=============================================================================
// StudioPaletteViewerFactory // StudioPaletteViewerFactory
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -1264,21 +1275,43 @@ OpenFloatingPanel openLineTestCaptureCommand(MI_OpenLineTestCapture,
// ComboViewer : Viewer + Toolbar + Tool Options // ComboViewer : Viewer + Toolbar + Tool Options
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
ComboViewerPanelContainer::ComboViewerPanelContainer(QWidget *parent)
: StyleShortcutSwitchablePanel(parent) {
m_comboViewer = new ComboViewerPanel(parent);
setFocusProxy(m_comboViewer);
setWidget(m_comboViewer);
m_comboViewer->initializeTitleBar(getTitleBar());
bool ret = connect(m_comboViewer->getToolOptions(), SIGNAL(newPanelCreated()),
this, SLOT(updateTabFocus()));
assert(ret);
}
// reimplementation of TPanel::widgetInThisPanelIsFocused
bool ComboViewerPanelContainer::widgetInThisPanelIsFocused() {
return m_comboViewer->hasFocus();
}
// reimplementation of TPanel::widgetFocusOnEnter
void ComboViewerPanelContainer::widgetFocusOnEnter() {
m_comboViewer->onEnterPanel();
}
void ComboViewerPanelContainer::widgetClearFocusOnLeave() {
m_comboViewer->onLeavePanel();
}
//-----------------------------------------------------------------------------
class ComboViewerFactory final : public TPanelFactory { class ComboViewerFactory final : public TPanelFactory {
public: public:
ComboViewerFactory() : TPanelFactory("ComboViewer") {} ComboViewerFactory() : TPanelFactory("ComboViewer") {}
TPanel *createPanel(QWidget *parent) override { TPanel *createPanel(QWidget *parent) override {
ComboViewerPanel *panel = new ComboViewerPanel(parent); ComboViewerPanelContainer *panel = new ComboViewerPanelContainer(parent);
panel->setObjectName(getPanelType()); panel->setObjectName(getPanelType());
panel->setWindowTitle(QObject::tr("Combo Viewer")); panel->setWindowTitle(QObject::tr("Combo Viewer"));
panel->resize(700, 600); panel->resize(700, 600);
return panel; return panel;
} }
void initialize(TPanel *panel) override { void initialize(TPanel *panel) override { assert(0); }
assert(0); } comboViewerFactory;
panel->setWidget(new ComboViewerPanel(panel));
}
} ghibliViewerFactory;
//============================================================================= //=============================================================================
OpenFloatingPanel openComboViewerCommand(MI_OpenComboViewer, "ComboViewer", OpenFloatingPanel openComboViewerCommand(MI_OpenComboViewer, "ComboViewer",

View file

@ -24,6 +24,7 @@ class SchematicViewer;
class FunctionViewer; class FunctionViewer;
class FlipBook; class FlipBook;
class ToolOptions; class ToolOptions;
class ComboViewerPanel;
//========================================================= //=========================================================
// PaletteViewerPanel // PaletteViewerPanel
//--------------------------------------------------------- //---------------------------------------------------------
@ -69,6 +70,9 @@ class StudioPaletteViewerPanel final : public TPanel {
public: public:
StudioPaletteViewerPanel(QWidget *parent); StudioPaletteViewerPanel(QWidget *parent);
void setViewType(int viewType) override;
int getViewType() override;
protected: protected:
bool isActivatableOnEnter() override { return true; } bool isActivatableOnEnter() override { return true; }
protected slots: protected slots:
@ -244,4 +248,23 @@ protected slots:
void onMinimizeButtonToggled(bool); void onMinimizeButtonToggled(bool);
}; };
//=========================================================
// ComboViewerPanel
//---------------------------------------------------------
class ComboViewerPanelContainer final : public StyleShortcutSwitchablePanel {
Q_OBJECT
ComboViewerPanel *m_comboViewer;
public:
ComboViewerPanelContainer(QWidget *parent);
// reimplementation of TPanel::widgetInThisPanelIsFocused
bool widgetInThisPanelIsFocused() override;
protected:
// reimplementation of TPanel::widgetFocusOnEnter
void widgetFocusOnEnter() override;
void widgetClearFocusOnLeave() override;
};
#endif #endif

View file

@ -263,13 +263,11 @@ FunctionPanel::FunctionPanel(QWidget *parent, bool isFloating)
if (m_isFloating) { if (m_isFloating) {
// load the dialog size // load the dialog size
TFilePath fp(ToonzFolder::getMyModuleDir() + TFilePath(mySettingsFileName)); TFilePath fp(ToonzFolder::getMyModuleDir() + TFilePath("popups.ini"));
QSettings mySettings(toQString(fp), QSettings::IniFormat); QSettings settings(toQString(fp), QSettings::IniFormat);
mySettings.beginGroup("Dialogs");
setGeometry( setGeometry(
mySettings.value("FunctionCurves", QRect(500, 500, 400, 300)).toRect()); settings.value("FunctionCurves", QRect(500, 500, 400, 300)).toRect());
mySettings.endGroup();
} }
} }
@ -278,12 +276,10 @@ FunctionPanel::FunctionPanel(QWidget *parent, bool isFloating)
FunctionPanel::~FunctionPanel() { FunctionPanel::~FunctionPanel() {
if (m_isFloating) { if (m_isFloating) {
// save the dialog size // save the dialog size
TFilePath fp(ToonzFolder::getMyModuleDir() + TFilePath(mySettingsFileName)); TFilePath fp(ToonzFolder::getMyModuleDir() + TFilePath("popups.ini"));
QSettings mySettings(toQString(fp), QSettings::IniFormat); QSettings settings(toQString(fp), QSettings::IniFormat);
mySettings.beginGroup("Dialogs"); settings.setValue("FunctionCurves", geometry());
mySettings.setValue("FunctionCurves", geometry());
mySettings.endGroup();
} }
delete m_dragTool; delete m_dragTool;

View file

@ -977,14 +977,11 @@ FunctionSheet::FunctionSheet(QWidget *parent, bool isFloating)
if (m_isFloating) { if (m_isFloating) {
// load the dialog size // load the dialog size
TFilePath fp(ToonzFolder::getMyModuleDir() + TFilePath(mySettingsFileName)); TFilePath fp(ToonzFolder::getMyModuleDir() + TFilePath("popups.ini"));
QSettings mySettings(toQString(fp), QSettings::IniFormat); QSettings settings(toQString(fp), QSettings::IniFormat);
mySettings.beginGroup("Dialogs"); setGeometry(settings.value("FunctionSpreadsheet", QRect(500, 500, 400, 300))
setGeometry(
mySettings.value("FunctionSpreadsheet", QRect(500, 500, 400, 300))
.toRect()); .toRect());
mySettings.endGroup();
} }
} }
@ -992,12 +989,10 @@ FunctionSheet::FunctionSheet(QWidget *parent, bool isFloating)
FunctionSheet::~FunctionSheet() { FunctionSheet::~FunctionSheet() {
if (m_isFloating) { if (m_isFloating) {
TFilePath fp(ToonzFolder::getMyModuleDir() + TFilePath(mySettingsFileName)); TFilePath fp(ToonzFolder::getMyModuleDir() + TFilePath("popups.ini"));
QSettings mySettings(toQString(fp), QSettings::IniFormat); QSettings settings(toQString(fp), QSettings::IniFormat);
mySettings.beginGroup("Dialogs"); settings.setValue("FunctionSpreadsheet", geometry());
mySettings.setValue("FunctionSpreadsheet", geometry());
mySettings.endGroup();
} }
} }

View file

@ -138,16 +138,16 @@ PageViewer::PageViewer(QWidget *parent, PaletteViewType viewType,
ViewMode defaultChipSize; ViewMode defaultChipSize;
switch (m_viewType) { switch (m_viewType) {
case LEVEL_PALETTE: case LEVEL_PALETTE:
defaultChipSize = (ViewMode)ChipSizeManager::instance()->chipSize_Palette; defaultChipSize = LargeChips;
break; break;
case CLEANUP_PALETTE: case CLEANUP_PALETTE:
defaultChipSize = (ViewMode)ChipSizeManager::instance()->chipSize_Cleanup; defaultChipSize = SmallChips;
break; break;
case STUDIO_PALETTE: case STUDIO_PALETTE:
defaultChipSize = (ViewMode)ChipSizeManager::instance()->chipSize_Studio; defaultChipSize = MediumChips;
break; break;
default: default:
defaultChipSize = (ViewMode)2; defaultChipSize = LargeChips;
break; break;
} }
setViewMode(defaultChipSize); setViewMode(defaultChipSize);
@ -246,21 +246,6 @@ void PageViewer::setViewMode(ViewMode viewMode) {
m_viewMode = viewMode; m_viewMode = viewMode;
computeSize(); computeSize();
update(); update();
// keep new view mode for reproducing the same mode when a new palette is made
switch (m_viewType) {
case LEVEL_PALETTE:
ChipSizeManager::instance()->chipSize_Palette = (int)m_viewMode;
break;
case CLEANUP_PALETTE:
ChipSizeManager::instance()->chipSize_Cleanup = (int)m_viewMode;
break;
case STUDIO_PALETTE:
ChipSizeManager::instance()->chipSize_Studio = (int)m_viewMode;
break;
default:
break;
}
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View file

@ -1191,17 +1191,17 @@ StudioPaletteViewer::StudioPaletteViewer(QWidget *parent,
treeWidget->setLayout(treeVLayout); treeWidget->setLayout(treeVLayout);
// Second Splitter Widget // Second Splitter Widget
PaletteViewer *studioPaletteViewer = m_studioPaletteViewer =
new PaletteViewer(this, PaletteViewerGUI::STUDIO_PALETTE); new PaletteViewer(this, PaletteViewerGUI::STUDIO_PALETTE);
studioPaletteViewer->setObjectName("PaletteViewerInStudioPalette"); m_studioPaletteViewer->setObjectName("PaletteViewerInStudioPalette");
studioPaletteViewer->setXsheetHandle(xsheetHandle); m_studioPaletteViewer->setXsheetHandle(xsheetHandle);
studioPaletteViewer->setPaletteHandle(studioPaletteHandle); m_studioPaletteViewer->setPaletteHandle(studioPaletteHandle);
studioPaletteViewer->setFrameHandle(frameHandle); m_studioPaletteViewer->setFrameHandle(frameHandle);
addWidget(treeWidget); addWidget(treeWidget);
addWidget(studioPaletteViewer); addWidget(m_studioPaletteViewer);
setFocusProxy(studioPaletteViewer); setFocusProxy(m_studioPaletteViewer);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -1214,3 +1214,16 @@ StudioPaletteViewer::~StudioPaletteViewer() {}
TFilePath StudioPaletteViewer::getCurrentItemPath() { TFilePath StudioPaletteViewer::getCurrentItemPath() {
return m_studioPaletteTreeViewer->getCurrentItemPath(); return m_studioPaletteTreeViewer->getCurrentItemPath();
} }
//-----------------------------------------------------------------------------
int StudioPaletteViewer::getViewMode() const {
return m_studioPaletteViewer->getViewMode();
}
//-----------------------------------------------------------------------------
void StudioPaletteViewer::setViewMode(int mode) {
m_studioPaletteViewer->setViewMode(
(PaletteViewerGUI::PageViewer::ViewMode)mode);
}