Remove the cel opacity slider from the status bar

It added more noise to the screen for a feature that is uncommonly used.
This commit is contained in:
David Capello 2015-08-14 15:37:21 -03:00
parent e35f85bff7
commit fa53692221
2 changed files with 0 additions and 67 deletions

View File

@ -34,7 +34,6 @@
#include "app/ui_context.h"
#include "app/util/range_utils.h"
#include "base/bind.h"
#include "doc/cel.h"
#include "doc/document_event.h"
#include "doc/image.h"
#include "doc/layer.h"
@ -199,13 +198,9 @@ StatusBar::StatusBar()
m_currentFrame = new GotoFrameEntry();
m_newFrame = new Button("+");
m_newFrame->Click.connect(Bind<void>(&StatusBar::newFrame, this));
m_slider = new Slider(0, 255, 255);
setup_mini_look(m_currentFrame);
setup_mini_look(m_newFrame);
setup_mini_look(m_slider);
m_slider->Change.connect(Bind<void>(&StatusBar::onCelOpacitySliderChange, this));
box1->setBorder(gfx::Border(2, 1, 2, 2)*guiscale());
@ -214,7 +209,6 @@ StatusBar::StatusBar()
box1->addChild(m_frameLabel);
box1->addChild(box4);
box1->addChild(m_slider);
m_docControls->addChild(box1);
}
@ -223,7 +217,6 @@ StatusBar::StatusBar()
TooltipManager* tooltipManager = new TooltipManager();
addChild(tooltipManager);
tooltipManager->addTooltipFor(m_currentFrame, "Current Frame", BOTTOM);
tooltipManager->addTooltipFor(m_slider, "Cel Opacity", BOTTOM);
Preferences::instance().toolBox.activeTool.AfterChange.connect(
Bind<void>(&StatusBar::onCurrentToolChange, this));
@ -383,15 +376,12 @@ void StatusBar::showSnapToGridWarning(bool state)
void StatusBar::onResize(ResizeEvent& ev)
{
m_slider->setMinSize(gfx::Size(ui::display_w()/5, 0));
setBoundsQuietly(ev.getBounds());
Border border = this->border();
Rect rc = ev.getBounds();
bool docControls = (rc.w > 300*ui::guiscale());
if (docControls) {
m_slider->setVisible(rc.w > 400*ui::guiscale());
int prefWidth = m_docControls->getPreferredSize().w;
int toolBarWidth = ToolBar::instance()->getPreferredSize().w;
@ -485,32 +475,6 @@ bool StatusBar::CustomizedTipWindow::onProcessMessage(Message* msg)
return ui::TipWindow::onProcessMessage(msg);
}
void StatusBar::onCelOpacitySliderChange()
{
try {
ContextWriter writer(UIContext::instance(), 500);
DocumentRange range = App::instance()->getMainWindow()->getTimeline()->range();
if (range.enabled()) {
for (Cel* cel : get_unique_cels(writer.sprite(), range))
cel->setOpacity(m_slider->getValue());
}
else {
Cel* cel = writer.cel();
if (cel) {
// Update the opacity
cel->setOpacity(m_slider->getValue());
}
}
// Update the editors
update_screen_for_document(writer.document());
}
catch (LockedDocumentException&) {
// do nothing
}
}
void StatusBar::onActiveSiteChange(const doc::Site& site)
{
if (m_doc && site.document() != m_doc) {
@ -534,21 +498,6 @@ void StatusBar::onActiveSiteChange(const doc::Site& site)
// Current frame
m_currentFrame->setTextf("%d", site.frame()+1);
// Cel opacity
const Cel* cel;
if (site.sprite()->supportAlpha() &&
site.layer() &&
site.layer()->isImage() &&
!site.layer()->isBackground() &&
(cel = site.layer()->cel(site.frame()))) {
m_slider->setValue(MID(0, cel->opacity(), 255));
m_slider->setEnabled(true);
}
else {
m_slider->setValue(255);
m_slider->setEnabled(false);
}
}
else {
ASSERT(m_doc == nullptr);
@ -567,19 +516,6 @@ void StatusBar::onRemoveDocument(doc::Document* doc)
}
}
void StatusBar::onCelOpacityChanged(doc::DocumentEvent& ev)
{
ASSERT(m_doc);
ASSERT(m_doc == const_cast<doc::Document*>(ev.document()));
ASSERT(ev.cel());
if (m_doc &&
m_doc == const_cast<doc::Document*>(ev.document()) &&
ev.cel()) {
m_slider->setValue(MID(0, ev.cel()->opacity(), 255));
}
}
void StatusBar::onPixelFormatChanged(DocumentEvent& ev)
{
onActiveSiteChange(UIContext::instance()->activeSite());

View File

@ -26,7 +26,6 @@ namespace ui {
class Button;
class Entry;
class Label;
class Slider;
class Window;
}
@ -70,7 +69,6 @@ namespace app {
void onRemoveDocument(doc::Document* doc) override;
// DocumentObserver impl
void onCelOpacityChanged(doc::DocumentEvent& ev) override;
void onPixelFormatChanged(DocumentEvent& ev) override;
private:
@ -92,7 +90,6 @@ namespace app {
// Box of main commands
ui::Widget* m_docControls;
ui::Label* m_frameLabel;
ui::Slider* m_slider; // Opacity slider
ui::Entry* m_currentFrame; // Current frame and go to frame entry
ui::Button* m_newFrame; // Button to create a new frame
doc::Document* m_doc; // Document used to show the cel slider