// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
-#ifdef HAVE_CONFIG_H
-# include "../config.h"
-#endif
+#include "config.h"
#include "button.hh"
: Label(parent),
_pressed(false)
{
- setHighlighted(false);
setHorizontalJustify(RenderStyle::CenterJustify);
setVerticalJustify(RenderStyle::CenterJustify);
styleChanged(*RenderStyle::style(screen()));
void Button::buttonReleaseHandler(const XButtonEvent &e)
{
Widget::buttonReleaseHandler(e);
+ bool p = _pressed;
release(e.button);
+ if (p && !_pressed && e.x > 0 && e.y > 0 &&
+ e.x < area().width() && e.y < area().height())
+ clickHandler(_mouse_button);
}
void Button::styleChanged(const RenderStyle &style)
_texture = style.buttonUnpressUnfocusBackground();
_forecolor = style.buttonUnfocusColor();
}
- Widget::styleChanged(style);
+ refresh();
}
}