Changes palette active button to a pause button by shun-iwasawa (#191)
This commit is contained in:
parent
a4f7ab9b6e
commit
6ca8901aec
4 changed files with 29 additions and 50 deletions
|
@ -48,7 +48,6 @@ TPanel::TPanel(QWidget *parent, Qt::WindowFlags flags,
|
|||
, m_panelType("")
|
||||
, m_isMaximizable(true)
|
||||
, m_isMaximized(false)
|
||||
, m_isActive(true)
|
||||
, m_panelTitleBar(0)
|
||||
, m_multipleInstancesAllowed(true) {
|
||||
// setFeatures(QDockWidget::DockWidgetMovable |
|
||||
|
@ -86,15 +85,6 @@ TPanel::~TPanel() {
|
|||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void TPanel::setActive(bool value) {
|
||||
m_isActive = value;
|
||||
if (m_panelTitleBar) {
|
||||
m_panelTitleBar->setIsActive(m_isActive);
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void TPanel::paintEvent(QPaintEvent *e) {
|
||||
QPainter painter(this);
|
||||
|
||||
|
@ -430,7 +420,7 @@ void TPanelTitleBarButtonSet::select(TPanelTitleBarButton *button) {
|
|||
|
||||
TPanelTitleBar::TPanelTitleBar(QWidget *parent,
|
||||
TDockWidget::Orientation orientation)
|
||||
: QFrame(parent), m_isActive(true), m_closeButtonHighlighted(false) {
|
||||
: QFrame(parent), m_closeButtonHighlighted(false) {
|
||||
setMouseTracking(true);
|
||||
setFocusPolicy(Qt::NoFocus);
|
||||
setCursor(Qt::ArrowCursor);
|
||||
|
@ -438,13 +428,6 @@ TPanelTitleBar::TPanelTitleBar(QWidget *parent,
|
|||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void TPanelTitleBar::setIsActive(bool value) {
|
||||
if (m_isActive == value) return;
|
||||
m_isActive = value;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
QSize TPanelTitleBar::minimumSizeHint() const { return QSize(20, 18); }
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
|
@ -135,7 +135,6 @@ signals:
|
|||
class TPanelTitleBar final : public QFrame {
|
||||
Q_OBJECT
|
||||
|
||||
bool m_isActive;
|
||||
bool m_closeButtonHighlighted;
|
||||
std::vector<std::pair<QPoint, QWidget *>> m_buttons;
|
||||
|
||||
|
@ -149,9 +148,6 @@ public:
|
|||
QSize sizeHint() const override { return minimumSizeHint(); }
|
||||
QSize minimumSizeHint() const override;
|
||||
|
||||
void setIsActive(bool value);
|
||||
bool isActive() { return m_isActive; }
|
||||
|
||||
// pos = widget position. n.b. if pos.x()<0 then origin is topright corner
|
||||
void add(const QPoint &pos, QWidget *widget);
|
||||
|
||||
|
@ -219,7 +215,6 @@ class TPanel : public TDockWidget {
|
|||
std::string m_panelType;
|
||||
bool m_isMaximizable;
|
||||
bool m_isMaximized;
|
||||
bool m_isActive;
|
||||
bool m_multipleInstancesAllowed;
|
||||
|
||||
TPanelTitleBar *m_panelTitleBar;
|
||||
|
@ -243,9 +238,6 @@ public:
|
|||
QList<TPanel *> getHiddenDockWidget() const { return m_hiddenDockWidgets; }
|
||||
QByteArray getSavedOldState() const { return m_currentRoomOldState; }
|
||||
|
||||
bool isActive() { return m_isActive; }
|
||||
void setActive(bool value);
|
||||
|
||||
// void setTitleBarWidget(TPanelTitleBar *newTitleBar);
|
||||
|
||||
// si riferisce a istanze multiple dei pannelli floating; default = true
|
||||
|
|
|
@ -428,7 +428,7 @@ public:
|
|||
//-----------------------------------------------------------------------------
|
||||
|
||||
PaletteViewerPanel::PaletteViewerPanel(QWidget *parent)
|
||||
: StyleShortcutSwitchablePanel(parent) {
|
||||
: StyleShortcutSwitchablePanel(parent), m_isFrozen(false) {
|
||||
m_paletteHandle = new TPaletteHandle();
|
||||
connect(m_paletteHandle, SIGNAL(colorStyleSwitched()),
|
||||
SLOT(onColorStyleSwitched()));
|
||||
|
@ -470,19 +470,20 @@ int PaletteViewerPanel::getViewType() { return m_paletteViewer->getViewMode(); }
|
|||
void PaletteViewerPanel::reset() {
|
||||
m_paletteViewer->setPaletteHandle(
|
||||
TApp::instance()->getPaletteController()->getCurrentLevelPalette());
|
||||
m_isCurrentButton->setPressed(true);
|
||||
setActive(true);
|
||||
m_freezeButton->setPressed(false);
|
||||
setFrozen(false);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void PaletteViewerPanel::initializeTitleBar() {
|
||||
m_isCurrentButton = new TPanelTitleBarButton(
|
||||
getTitleBar(), svgToPixmap(getIconThemePath("actions/18/switch.svg")));
|
||||
getTitleBar()->add(QPoint(-54, 0), m_isCurrentButton);
|
||||
m_isCurrentButton->setPressed(true);
|
||||
connect(m_isCurrentButton, SIGNAL(toggled(bool)),
|
||||
SLOT(onCurrentButtonToggled(bool)));
|
||||
m_freezeButton = new TPanelTitleBarButton(
|
||||
getTitleBar(), getIconThemePath("actions/20/pane_freeze.svg"));
|
||||
m_freezeButton->setToolTip("Freeze");
|
||||
getTitleBar()->add(QPoint(-54, 0), m_freezeButton);
|
||||
m_freezeButton->setPressed(m_isFrozen);
|
||||
connect(m_freezeButton, SIGNAL(toggled(bool)),
|
||||
SLOT(onFreezeButtonToggled(bool)));
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -499,23 +500,23 @@ void PaletteViewerPanel::onPaletteSwitched() {
|
|||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void PaletteViewerPanel::onCurrentButtonToggled(bool isCurrent) {
|
||||
if (isActive() == isCurrent) return;
|
||||
void PaletteViewerPanel::onFreezeButtonToggled(bool frozen) {
|
||||
if (isFrozen() == frozen) return;
|
||||
|
||||
TApp *app = TApp::instance();
|
||||
TPaletteHandle *ph = app->getPaletteController()->getCurrentLevelPalette();
|
||||
// Se sono sulla palette del livello corrente e le palette e' vuota non
|
||||
// consento di bloccare il pannello.
|
||||
if (isActive() && !ph->getPalette()) {
|
||||
m_isCurrentButton->setPressed(true);
|
||||
if (!isFrozen() && !ph->getPalette()) {
|
||||
m_freezeButton->setPressed(false);
|
||||
return;
|
||||
}
|
||||
|
||||
setActive(isCurrent);
|
||||
m_paletteViewer->enableSaveAction(isCurrent);
|
||||
setFrozen(frozen);
|
||||
m_paletteViewer->enableSaveAction(!frozen);
|
||||
|
||||
// Cambio il livello corrente
|
||||
if (isCurrent) {
|
||||
if (!frozen) {
|
||||
std::set<TXshSimpleLevel *> levels;
|
||||
TXsheet *xsheet = app->getCurrentXsheet()->getXsheet();
|
||||
int row, column;
|
||||
|
@ -558,14 +559,14 @@ void PaletteViewerPanel::onCurrentButtonToggled(bool isCurrent) {
|
|||
void PaletteViewerPanel::onSceneSwitched() {
|
||||
// Se e' il paletteHandle del livello corrente l'aggiornamento viene fatto
|
||||
// grazie all'aggiornamento del livello.
|
||||
if (isActive()) return;
|
||||
if (!isFrozen()) return;
|
||||
|
||||
// Setto a zero la palette del "paletteHandle bloccato".
|
||||
m_paletteHandle->setPalette(0);
|
||||
// Sblocco il viewer nel caso in cui il e' bloccato.
|
||||
if (!isActive()) {
|
||||
setActive(true);
|
||||
m_isCurrentButton->setPressed(true);
|
||||
if (isFrozen()) {
|
||||
setFrozen(false);
|
||||
m_freezeButton->setPressed(false);
|
||||
m_paletteViewer->setPaletteHandle(
|
||||
TApp::instance()->getPaletteController()->getCurrentLevelPalette());
|
||||
}
|
||||
|
|
|
@ -40,8 +40,8 @@ class PaletteViewerPanel final : public StyleShortcutSwitchablePanel {
|
|||
TPaletteHandle *m_paletteHandle;
|
||||
PaletteViewer *m_paletteViewer;
|
||||
|
||||
TPanelTitleBarButton *m_isCurrentButton;
|
||||
bool m_isCurrent;
|
||||
TPanelTitleBarButton* m_freezeButton;
|
||||
bool m_isFrozen;
|
||||
|
||||
public:
|
||||
PaletteViewerPanel(QWidget *parent);
|
||||
|
@ -51,6 +51,9 @@ public:
|
|||
|
||||
void reset() override;
|
||||
|
||||
bool isFrozen() { return m_isFrozen; }
|
||||
void setFrozen(bool frozen) { m_isFrozen = frozen; }
|
||||
|
||||
protected:
|
||||
void initializeTitleBar();
|
||||
bool isActivatableOnEnter() override { return true; }
|
||||
|
@ -58,7 +61,7 @@ protected:
|
|||
protected slots:
|
||||
void onColorStyleSwitched();
|
||||
void onPaletteSwitched();
|
||||
void onCurrentButtonToggled(bool isCurrent);
|
||||
void onFreezeButtonToggled(bool isFrozen);
|
||||
void onSceneSwitched();
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue