Add level button (#32)

This commit is contained in:
Jeremy Bullock 2020-05-30 22:24:30 -06:00 committed by GitHub
parent 8dd05d7504
commit aabea72286
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 193 additions and 152 deletions

View file

@ -135,7 +135,9 @@ enum class PredefinedRect {
PANEL_EYE, PANEL_EYE,
PANEL_PREVIEW_LAYER, PANEL_PREVIEW_LAYER,
PANEL_LOCK, PANEL_LOCK,
PANEL_LAYER_NAME PANEL_LAYER_NAME,
ADD_LEVEL_AREA,
ADD_LEVEL
}; };
enum class PredefinedLine { enum class PredefinedLine {
LOCKED, //! dotted vertical line when cell is locked LOCKED, //! dotted vertical line when cell is locked
@ -215,14 +217,14 @@ protected:
public: public:
virtual CellPosition xyToPosition(const QPoint &xy, virtual CellPosition xyToPosition(const QPoint &xy,
const ColumnFan *fan) const = 0; const ColumnFan *fan) const = 0;
virtual QPoint positionToXY(const CellPosition &position, virtual QPoint positionToXY(const CellPosition &position,
const ColumnFan *fan) const = 0; const ColumnFan *fan) const = 0;
virtual CellPositionRatio xyToPositionRatio(const QPoint &xy) const = 0; virtual CellPositionRatio xyToPositionRatio(const QPoint &xy) const = 0;
virtual QPoint positionRatioToXY(const CellPositionRatio &ratio) const = 0; virtual QPoint positionRatioToXY(const CellPositionRatio &ratio) const = 0;
virtual int colToLayerAxis(int layer, const ColumnFan *fan) const = 0; virtual int colToLayerAxis(int layer, const ColumnFan *fan) const = 0;
virtual int rowToFrameAxis(int frame) const = 0; virtual int rowToFrameAxis(int frame) const = 0;
virtual QPoint frameLayerToXY(int frameAxis, int layerAxis) const = 0; virtual QPoint frameLayerToXY(int frameAxis, int layerAxis) const = 0;
QRect frameLayerRect(const NumberRange &frameAxis, QRect frameLayerRect(const NumberRange &frameAxis,

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="4096px" height="3971px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(4.16667,0,0,4.16667,0,0)">
<g>
<path d="M772.83,118.557L772.83,855.303L210.088,855.303L210.088,314.504L414.122,118.557L772.83,118.557ZM527.787,446.364L527.787,264.119L446.654,264.119L446.654,446.364L264.41,446.364L264.41,527.496L446.654,527.496L446.654,709.74L527.787,709.74L527.787,527.496L710.031,527.496L710.031,446.364L527.787,446.364Z" style="fill:rgb(225,225,225);"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 875 B

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="4096px" height="3971px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(4.16667,0,0,4.16667,0,0)">
<g id="rect824" transform="matrix(4.16667,0,0,4.16667,0,0)">
<rect x="-0.445" y="0.555" width="236" height="228" style="fill:rgb(230,230,230);fill-opacity:0.29;"/>
</g>
<g>
<path d="M772.83,118.557L772.83,855.303L210.088,855.303L210.088,314.504L414.122,118.557L772.83,118.557ZM527.787,446.364L527.787,264.119L446.654,264.119L446.654,446.364L264.41,446.364L264.41,527.496L446.654,527.496L446.654,709.74L527.787,709.74L527.787,527.496L710.031,527.496L710.031,446.364L527.787,446.364Z" style="fill:rgb(225,225,225);"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -18,198 +18,209 @@
using XsheetGUI::ColumnArea; using XsheetGUI::ColumnArea;
#if QT_VERSION >= 0x050500
LayerFooterPanel::LayerFooterPanel(XsheetViewer *viewer, QWidget *parent, LayerFooterPanel::LayerFooterPanel(XsheetViewer *viewer, QWidget *parent,
Qt::WindowFlags flags) Qt::WindowFlags flags)
#else : QWidget(parent, flags), m_viewer(viewer) {
LayerFooterPanel::LayerFooterPanel(XsheetViewer *viewer, QWidget *parent, const Orientation *o = Orientations::leftToRight();
Qt::WFlags flags) QRect rect = o->rect(PredefinedRect::LAYER_FOOTER_PANEL);
#endif
: QWidget(parent, flags), m_viewer(viewer) {
const Orientation *o = Orientations::leftToRight();
QRect rect = o->rect(PredefinedRect::LAYER_FOOTER_PANEL);
setObjectName("layerFooterPanel"); setObjectName("layerFooterPanel");
setFixedSize(rect.size()); setFixedSize(rect.size());
setMouseTracking(true);
m_frameZoomSlider = new QSlider(Qt::Horizontal, this); setMouseTracking(true);
m_frameZoomSlider->setMinimum(20);
m_frameZoomSlider->setMaximum(100);
m_frameZoomSlider->setValue(m_viewer->getFrameZoomFactor());
m_frameZoomSlider->setToolTip(tr("Zoom in/out of timeline"));
connect(m_frameZoomSlider, SIGNAL(valueChanged(int)), this, m_frameZoomSlider = new QSlider(Qt::Horizontal, this);
SLOT(onFrameZoomSliderValueChanged(int))); m_frameZoomSlider->setMinimum(20);
m_frameZoomSlider->setMaximum(100);
m_frameZoomSlider->setValue(m_viewer->getFrameZoomFactor());
m_frameZoomSlider->setToolTip(tr("Zoom in/out of timeline"));
connect(m_frameZoomSlider, SIGNAL(valueChanged(int)), this,
SLOT(onFrameZoomSliderValueChanged(int)));
} }
LayerFooterPanel::~LayerFooterPanel() {} LayerFooterPanel::~LayerFooterPanel() {}
namespace { namespace {
QColor mix(const QColor &a, const QColor &b, double w) { QColor mix(const QColor &a, const QColor &b, double w) {
return QColor(a.red() * w + b.red() * (1 - w), return QColor(a.red() * w + b.red() * (1 - w),
a.green() * w + b.green() * (1 - w), a.green() * w + b.green() * (1 - w),
a.blue() * w + b.blue() * (1 - w)); a.blue() * w + b.blue() * (1 - w));
} }
QColor withAlpha(const QColor &color, double alpha) { QColor withAlpha(const QColor &color, double alpha) {
QColor result(color); QColor result(color);
result.setAlpha(alpha * 255); result.setAlpha(alpha * 255);
return result; return result;
} }
QRect shorter(const QRect original) { return original.adjusted(0, 2, 0, -2); } QRect shorter(const QRect original) { return original.adjusted(0, 2, 0, -2); }
QLine leftSide(const QRect &r) { return QLine(r.topLeft(), r.bottomLeft()); } QLine leftSide(const QRect &r) { return QLine(r.topLeft(), r.bottomLeft()); }
QLine rightSide(const QRect &r) { return QLine(r.topRight(), r.bottomRight()); } QLine rightSide(const QRect &r) { return QLine(r.topRight(), r.bottomRight()); }
} }
void LayerFooterPanel::paintEvent(QPaintEvent *event) { void LayerFooterPanel::paintEvent(QPaintEvent *event) {
QPainter p(this); QPainter p(this);
p.setRenderHint(QPainter::SmoothPixmapTransform, true); p.setRenderHint(QPainter::SmoothPixmapTransform, true);
const Orientation *o = Orientations::leftToRight(); const Orientation *o = Orientations::leftToRight();
QRect zoomSliderRect = o->rect(PredefinedRect::ZOOM_SLIDER_AREA); QRect zoomSliderRect = o->rect(PredefinedRect::ZOOM_SLIDER_AREA);
p.fillRect(zoomSliderRect, Qt::NoBrush); p.fillRect(zoomSliderRect, Qt::NoBrush);
QRect sliderObjRect = o->rect(PredefinedRect::ZOOM_SLIDER); QRect sliderObjRect = o->rect(PredefinedRect::ZOOM_SLIDER);
m_frameZoomSlider->setGeometry(sliderObjRect); m_frameZoomSlider->setGeometry(sliderObjRect);
static QPixmap zoomIn = svgToPixmap(":Resources/zoom_in.svg"); static QPixmap zoomIn = svgToPixmap(":Resources/zoom_in.svg");
static QPixmap zoomInRollover = svgToPixmap(":Resources/zoom_in_rollover.svg"); static QPixmap zoomInRollover =
const QRect zoomInImgRect = o->rect(PredefinedRect::ZOOM_IN); svgToPixmap(":Resources/zoom_in_rollover.svg");
const QRect zoomInImgRect = o->rect(PredefinedRect::ZOOM_IN);
static QPixmap zoomOut = svgToPixmap(":Resources/zoom_out.svg"); static QPixmap zoomOut = svgToPixmap(":Resources/zoom_out.svg");
static QPixmap zoomOutRollover = svgToPixmap(":Resources/zoom_out_rollover.svg"); static QPixmap zoomOutRollover =
const QRect zoomOutImgRect = o->rect(PredefinedRect::ZOOM_OUT); svgToPixmap(":Resources/zoom_out_rollover.svg");
const QRect zoomOutImgRect = o->rect(PredefinedRect::ZOOM_OUT);
p.setRenderHint(QPainter::SmoothPixmapTransform, true); static QPixmap addLevel = svgToPixmap(":Resources/new_level.svg");
if (m_zoomInHighlighted) static QPixmap addLevelRollover =
p.drawPixmap(zoomInImgRect, zoomInRollover); svgToPixmap(":Resources/new_level_rollover.svg");
else const QRect addLevelImgRect = o->rect(PredefinedRect::ADD_LEVEL);
p.drawPixmap(zoomInImgRect, zoomIn);
if (m_zoomOutHighlighted) p.setRenderHint(QPainter::SmoothPixmapTransform, true);
p.drawPixmap(zoomOutImgRect, zoomOutRollover); if (m_zoomInHighlighted)
else p.drawPixmap(zoomInImgRect, zoomInRollover);
p.drawPixmap(zoomOutImgRect, zoomOut); else
p.drawPixmap(zoomInImgRect, zoomIn);
p.setPen(withAlpha(m_viewer->getTextColor(), 0.5)); if (m_zoomOutHighlighted)
p.drawPixmap(zoomOutImgRect, zoomOutRollover);
else
p.drawPixmap(zoomOutImgRect, zoomOut);
QLine line = { leftSide(shorter(zoomOutImgRect)).translated(-2, 0) }; if (m_addLevelHighlighted)
p.drawLine(line); p.drawPixmap(addLevelImgRect, addLevelRollover);
else
p.drawPixmap(addLevelImgRect, addLevel);
p.setPen(withAlpha(m_viewer->getTextColor(), 0.5));
QLine line = {leftSide(shorter(zoomOutImgRect)).translated(-4, 0)};
p.drawLine(line);
} }
void LayerFooterPanel::showOrHide(const Orientation *o) { void LayerFooterPanel::showOrHide(const Orientation *o) {
QRect rect = o->rect(PredefinedRect::LAYER_FOOTER_PANEL); QRect rect = o->rect(PredefinedRect::LAYER_FOOTER_PANEL);
if (rect.isEmpty()) if (rect.isEmpty())
hide(); hide();
else else
show(); show();
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void LayerFooterPanel::enterEvent(QEvent *) { void LayerFooterPanel::enterEvent(QEvent *) {
m_zoomInHighlighted = false; m_zoomInHighlighted = false;
m_zoomOutHighlighted = false; m_zoomOutHighlighted = false;
m_addLevelHighlighted = false;
update(); update();
} }
void LayerFooterPanel::leaveEvent(QEvent *) { void LayerFooterPanel::leaveEvent(QEvent *) {
m_zoomInHighlighted = false; m_zoomInHighlighted = false;
m_zoomOutHighlighted = false; m_zoomOutHighlighted = false;
m_addLevelHighlighted = false;
update(); update();
} }
void LayerFooterPanel::mousePressEvent(QMouseEvent *event) { void LayerFooterPanel::mousePressEvent(QMouseEvent *event) {
const Orientation *o = Orientations::leftToRight(); const Orientation *o = Orientations::leftToRight();
if (event->button() == Qt::LeftButton) { if (event->button() == Qt::LeftButton) {
// get mouse position // get mouse position
QPoint pos = event->pos(); QPoint pos = event->pos();
if (o->rect(PredefinedRect::ZOOM_IN_AREA).contains(pos)) { if (o->rect(PredefinedRect::ZOOM_IN_AREA).contains(pos)) {
int newFactor = isCtrlPressed ? m_frameZoomSlider->maximum() int newFactor = isCtrlPressed ? m_frameZoomSlider->maximum()
: m_frameZoomSlider->value() + 10; : m_frameZoomSlider->value() + 10;
m_frameZoomSlider->setValue(newFactor); m_frameZoomSlider->setValue(newFactor);
} } else if (o->rect(PredefinedRect::ZOOM_OUT_AREA).contains(pos)) {
else if (o->rect(PredefinedRect::ZOOM_OUT_AREA).contains(pos)) { int newFactor = isCtrlPressed ? m_frameZoomSlider->minimum()
int newFactor = isCtrlPressed ? m_frameZoomSlider->minimum() : m_frameZoomSlider->value() - 10;
: m_frameZoomSlider->value() - 10; m_frameZoomSlider->setValue(newFactor);
m_frameZoomSlider->setValue(newFactor); } else if (o->rect(PredefinedRect::ADD_LEVEL_AREA).contains(pos)) {
} CommandManager::instance()->execute("MI_NewLevel");
} }
}
update(); update();
} }
void LayerFooterPanel::mouseMoveEvent(QMouseEvent *event) { void LayerFooterPanel::mouseMoveEvent(QMouseEvent *event) {
const Orientation *o = Orientations::leftToRight(); const Orientation *o = Orientations::leftToRight();
QPoint pos = event->pos(); QPoint pos = event->pos();
m_zoomInHighlighted = false; m_zoomInHighlighted = false;
m_zoomOutHighlighted = false; m_zoomOutHighlighted = false;
if (o->rect(PredefinedRect::ZOOM_IN_AREA).contains(pos)) { m_addLevelHighlighted = false;
m_zoomInHighlighted = true; if (o->rect(PredefinedRect::ZOOM_IN_AREA).contains(pos)) {
m_tooltip = tr("Zoom in (Ctrl-click to zoom in all the way)"); m_zoomInHighlighted = true;
} m_tooltip = tr("Zoom in (Ctrl-click to zoom in all the way)");
else if (o->rect(PredefinedRect::ZOOM_OUT_AREA) } else if (o->rect(PredefinedRect::ZOOM_OUT_AREA).contains(pos)) {
.contains(pos)) { m_zoomOutHighlighted = true;
m_zoomOutHighlighted = true; m_tooltip = tr("Zoom out (Ctrl-click to zoom out all the way)");
m_tooltip = tr("Zoom out (Ctrl-click to zoom out all the way)"); } else if (o->rect(PredefinedRect::ADD_LEVEL_AREA).contains(pos)) {
} m_addLevelHighlighted = true;
else { m_tooltip = tr("Add a new level.");
m_tooltip = tr(""); } else {
} m_tooltip = tr("");
}
m_pos = pos; m_pos = pos;
update(); update();
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
bool LayerFooterPanel::event(QEvent *event) { bool LayerFooterPanel::event(QEvent *event) {
if (event->type() == QEvent::ToolTip) { if (event->type() == QEvent::ToolTip) {
if (!m_tooltip.isEmpty()) if (!m_tooltip.isEmpty())
QToolTip::showText(mapToGlobal(m_pos), m_tooltip); QToolTip::showText(mapToGlobal(m_pos), m_tooltip);
else else
QToolTip::hideText(); QToolTip::hideText();
} }
return QWidget::event(event); return QWidget::event(event);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void LayerFooterPanel::setZoomSliderValue(int val) { void LayerFooterPanel::setZoomSliderValue(int val) {
if (val > m_frameZoomSlider->maximum()) if (val > m_frameZoomSlider->maximum())
val = m_frameZoomSlider->maximum(); val = m_frameZoomSlider->maximum();
else if (val < m_frameZoomSlider->minimum()) else if (val < m_frameZoomSlider->minimum())
val = m_frameZoomSlider->minimum(); val = m_frameZoomSlider->minimum();
m_frameZoomSlider->blockSignals(true); m_frameZoomSlider->blockSignals(true);
m_frameZoomSlider->setValue(val); m_frameZoomSlider->setValue(val);
m_frameZoomSlider->blockSignals(false); m_frameZoomSlider->blockSignals(false);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void LayerFooterPanel::onFrameZoomSliderValueChanged(int val) { void LayerFooterPanel::onFrameZoomSliderValueChanged(int val) {
m_viewer->zoomOnFrame(m_viewer->getCurrentRow(), val); m_viewer->zoomOnFrame(m_viewer->getCurrentRow(), val);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void LayerFooterPanel::onControlPressed(bool pressed) { void LayerFooterPanel::onControlPressed(bool pressed) {
isCtrlPressed = pressed; isCtrlPressed = pressed;
update(); update();
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View file

@ -16,51 +16,52 @@ class XsheetViewer;
// Panel showing column footers for layers in timeline mode // Panel showing column footers for layers in timeline mode
class LayerFooterPanel final : public QWidget { class LayerFooterPanel final : public QWidget {
Q_OBJECT Q_OBJECT
QString m_tooltip; QString m_tooltip;
QPoint m_pos; QPoint m_pos;
QSlider *m_frameZoomSlider; QSlider *m_frameZoomSlider;
bool isCtrlPressed = false; bool isCtrlPressed = false;
bool m_zoomInHighlighted = false; bool m_zoomInHighlighted = false;
bool m_zoomOutHighlighted = false; bool m_zoomOutHighlighted = false;
bool m_addLevelHighlighted = false;
private: private:
XsheetViewer *m_viewer; XsheetViewer *m_viewer;
public: public:
#if QT_VERSION >= 0x050500 #if QT_VERSION >= 0x050500
LayerFooterPanel(XsheetViewer *viewer, QWidget *parent = 0, LayerFooterPanel(XsheetViewer *viewer, QWidget *parent = 0,
Qt::WindowFlags flags = 0); Qt::WindowFlags flags = 0);
#else #else
LayerFooterPanel(XsheetViewer *viewer, QWidget *parent = 0, LayerFooterPanel(XsheetViewer *viewer, QWidget *parent = 0,
Qt::WFlags flags = 0); Qt::WFlags flags = 0);
#endif #endif
~LayerFooterPanel(); ~LayerFooterPanel();
void showOrHide(const Orientation *o); void showOrHide(const Orientation *o);
void setZoomSliderValue(int val); void setZoomSliderValue(int val);
void onControlPressed(bool pressed); void onControlPressed(bool pressed);
const bool isControlPressed(); const bool isControlPressed();
protected: protected:
void paintEvent(QPaintEvent *event) override; void paintEvent(QPaintEvent *event) override;
void enterEvent(QEvent *) override; void enterEvent(QEvent *) override;
void leaveEvent(QEvent *) override; void leaveEvent(QEvent *) override;
void mousePressEvent(QMouseEvent *event) override; void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override;
bool event(QEvent *event) override; bool event(QEvent *event) override;
void keyPressEvent(QKeyEvent *event) override { event->ignore(); } void keyPressEvent(QKeyEvent *event) override { event->ignore(); }
void wheelEvent(QWheelEvent *event) override { event->ignore(); } void wheelEvent(QWheelEvent *event) override { event->ignore(); }
public slots: public slots:
void onFrameZoomSliderValueChanged(int val); void onFrameZoomSliderValueChanged(int val);
}; };
#endif #endif
#pragma once #pragma once

View file

@ -152,6 +152,8 @@
<file>Resources/new_raster_level.svg</file> <file>Resources/new_raster_level.svg</file>
<file>Resources/new_toonz_raster_level.svg</file> <file>Resources/new_toonz_raster_level.svg</file>
<file>Resources/new_vector_level.svg</file> <file>Resources/new_vector_level.svg</file>
<file>Resources/new_level.svg</file>
<file>Resources/new_level_rollover.svg</file>
<file>Resources/newmemo.svg</file> <file>Resources/newmemo.svg</file>
<file>Resources/newmemo_disabled.svg</file> <file>Resources/newmemo_disabled.svg</file>
<file>Resources/newstyle.png</file> <file>Resources/newstyle.png</file>

View file

@ -164,7 +164,7 @@ NumberRange NumberRange::adjusted(int addFrom, int addTo) const {
} }
double NumberRange::ratio(int at) const { double NumberRange::ratio(int at) const {
double result = ((double)at - _from) / (_to - _from); double result = ((double)at - _from) / (_to - _from);
if (result < 0) result = 0; if (result < 0) result = 0;
if (result > 1) result = 1; if (result > 1) result = 1;
return result; return result;
@ -1115,7 +1115,7 @@ LeftToRightOrientation::LeftToRightOrientation() {
QRect(0, 0, LAYER_HEADER_WIDTH + 2, LAYER_FOOTER_PANEL_HEIGHT)); QRect(0, 0, LAYER_HEADER_WIDTH + 2, LAYER_FOOTER_PANEL_HEIGHT));
addRect(PredefinedRect::LAYER_FOOTER_PANEL, layerFooterPanel); addRect(PredefinedRect::LAYER_FOOTER_PANEL, layerFooterPanel);
QRect zoomSlider, zoomIn, zoomOut; QRect zoomSlider, zoomIn, zoomOut, addLevel;
zoomSlider = zoomSlider =
QRect(layerFooterPanel.width() - 100, 0, 81, LAYER_FOOTER_PANEL_HEIGHT); QRect(layerFooterPanel.width() - 100, 0, 81, LAYER_FOOTER_PANEL_HEIGHT);
@ -1130,6 +1130,10 @@ LeftToRightOrientation::LeftToRightOrientation() {
addRect(PredefinedRect::ZOOM_OUT_AREA, zoomOut); addRect(PredefinedRect::ZOOM_OUT_AREA, zoomOut);
addRect(PredefinedRect::ZOOM_OUT, zoomOut.adjusted(1, 1, 0, 0)); addRect(PredefinedRect::ZOOM_OUT, zoomOut.adjusted(1, 1, 0, 0));
addLevel = QRect(zoomOut.left() - 24, 0, 16, LAYER_FOOTER_PANEL_HEIGHT);
addRect(PredefinedRect::ADD_LEVEL_AREA, addLevel);
addRect(PredefinedRect::ADD_LEVEL, addLevel.adjusted(1, 1, 0, 0));
// Flags // Flags
addFlag(PredefinedFlag::DRAG_LAYER_BORDER, false); addFlag(PredefinedFlag::DRAG_LAYER_BORDER, false);
addFlag(PredefinedFlag::DRAG_LAYER_VISIBLE, true); addFlag(PredefinedFlag::DRAG_LAYER_VISIBLE, true);

View file

@ -510,7 +510,7 @@ void Preferences::definePreferenceItems() {
"inputCellsWithoutDoubleClickingEnabled", QMetaType::Bool, false); "inputCellsWithoutDoubleClickingEnabled", QMetaType::Bool, false);
define(shortcutCommandsWhileRenamingCellEnabled, define(shortcutCommandsWhileRenamingCellEnabled,
"shortcutCommandsWhileRenamingCellEnabled", QMetaType::Bool, false); "shortcutCommandsWhileRenamingCellEnabled", QMetaType::Bool, false);
define(showXSheetToolbar, "showXSheetToolbar", QMetaType::Bool, true); define(showXSheetToolbar, "showXSheetToolbar", QMetaType::Bool, false);
define(expandFunctionHeader, "expandFunctionHeader", QMetaType::Bool, false); define(expandFunctionHeader, "expandFunctionHeader", QMetaType::Bool, false);
define(showColumnNumbers, "showColumnNumbers", QMetaType::Bool, false); define(showColumnNumbers, "showColumnNumbers", QMetaType::Bool, false);
define(syncLevelRenumberWithXsheet, "syncLevelRenumberWithXsheet", define(syncLevelRenumberWithXsheet, "syncLevelRenumberWithXsheet",