fixed auto hide bug just expose leave events for child windows
This commit is contained in:
parent
588897315c
commit
e45779ef17
1 changed files with 14 additions and 12 deletions
|
@ -22,7 +22,7 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
// $Id: Toolbar.cc,v 1.59 2003/02/18 15:11:09 rathnor Exp $
|
// $Id: Toolbar.cc,v 1.60 2003/02/22 23:07:23 fluxgen Exp $
|
||||||
|
|
||||||
#include "Toolbar.hh"
|
#include "Toolbar.hh"
|
||||||
|
|
||||||
|
@ -64,9 +64,6 @@
|
||||||
#endif // HAVE_SYS_TIME_H
|
#endif // HAVE_SYS_TIME_H
|
||||||
#endif // TIME_WITH_SYS_TIME
|
#endif // TIME_WITH_SYS_TIME
|
||||||
|
|
||||||
#ifdef SHAPE
|
|
||||||
#include <X11/extensions/shape.h>
|
|
||||||
#endif // SHAPE
|
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
@ -110,7 +107,7 @@ void setupMenus(Toolbar &tbar) {
|
||||||
Toolbar::Frame::Frame(FbTk::EventHandler &evh, int screen_num):
|
Toolbar::Frame::Frame(FbTk::EventHandler &evh, int screen_num):
|
||||||
window(screen_num, // screen (parent)
|
window(screen_num, // screen (parent)
|
||||||
0, 0, // pos
|
0, 0, // pos
|
||||||
1, 1, // size
|
10, 10, // size
|
||||||
// event mask
|
// event mask
|
||||||
ButtonPressMask | ButtonReleaseMask |
|
ButtonPressMask | ButtonReleaseMask |
|
||||||
EnterWindowMask | LeaveWindowMask,
|
EnterWindowMask | LeaveWindowMask,
|
||||||
|
@ -120,19 +117,22 @@ Toolbar::Frame::Frame(FbTk::EventHandler &evh, int screen_num):
|
||||||
1, 1, // size
|
1, 1, // size
|
||||||
// event mask
|
// event mask
|
||||||
ButtonPressMask | ButtonReleaseMask |
|
ButtonPressMask | ButtonReleaseMask |
|
||||||
ExposureMask | KeyPressMask),
|
ExposureMask | KeyPressMask |
|
||||||
|
EnterWindowMask | LeaveWindowMask),
|
||||||
window_label(window, // parent
|
window_label(window, // parent
|
||||||
0, 0, // pos
|
0, 0, // pos
|
||||||
1, 1, // size
|
1, 1, // size
|
||||||
// event mask
|
// event mask
|
||||||
ButtonPressMask | ButtonReleaseMask |
|
ButtonPressMask | ButtonReleaseMask |
|
||||||
ExposureMask),
|
ExposureMask |
|
||||||
clock (window, //parent
|
EnterWindowMask | LeaveWindowMask),
|
||||||
|
clock(window, //parent
|
||||||
0, 0, // pos
|
0, 0, // pos
|
||||||
1, 1, // size
|
1, 1, // size
|
||||||
// event mask
|
// event mask
|
||||||
ButtonPressMask | ButtonReleaseMask |
|
ButtonPressMask | ButtonReleaseMask |
|
||||||
ExposureMask),
|
ExposureMask |
|
||||||
|
EnterWindowMask | LeaveWindowMask),
|
||||||
psbutton(ArrowButton::LEFT, // arrow type
|
psbutton(ArrowButton::LEFT, // arrow type
|
||||||
window, // parent
|
window, // parent
|
||||||
0, 0, // pos
|
0, 0, // pos
|
||||||
|
@ -177,13 +177,13 @@ Toolbar::Toolbar(BScreen &scrn, FbTk::XLayer &layer, size_t width):
|
||||||
image_ctrl(*scrn.getImageControl()),
|
image_ctrl(*scrn.getImageControl()),
|
||||||
clock_timer(this), // get the clock updating every minute
|
clock_timer(this), // get the clock updating every minute
|
||||||
hide_timer(&hide_handler),
|
hide_timer(&hide_handler),
|
||||||
m_toolbarmenu(*scrn.menuTheme(), scrn.getScreenNumber(), *scrn.getImageControl()),
|
m_toolbarmenu(*scrn.menuTheme(),
|
||||||
|
scrn.getScreenNumber(), *scrn.getImageControl()),
|
||||||
m_layermenu(0),
|
m_layermenu(0),
|
||||||
m_theme(scrn.getScreenNumber()),
|
m_theme(scrn.getScreenNumber()),
|
||||||
m_place(BOTTOMCENTER),
|
m_place(BOTTOMCENTER),
|
||||||
m_themelistener(*this),
|
m_themelistener(*this),
|
||||||
m_layeritem(0)
|
m_layeritem(0) {
|
||||||
{
|
|
||||||
|
|
||||||
m_layermenu = new LayerMenu<Toolbar>(
|
m_layermenu = new LayerMenu<Toolbar>(
|
||||||
*scrn.menuTheme(),
|
*scrn.menuTheme(),
|
||||||
|
@ -524,6 +524,7 @@ void Toolbar::reconfigure() {
|
||||||
frame.window.setBorderWidth(screen().getBorderWidth());
|
frame.window.setBorderWidth(screen().getBorderWidth());
|
||||||
|
|
||||||
frame.window.clear();
|
frame.window.clear();
|
||||||
|
|
||||||
frame.workspace_label.clear();
|
frame.workspace_label.clear();
|
||||||
frame.window_label.clear();
|
frame.window_label.clear();
|
||||||
frame.clock.clear();
|
frame.clock.clear();
|
||||||
|
@ -1082,6 +1083,7 @@ void Toolbar::HideHandler::timeout() {
|
||||||
toolbar->hide_timer.start(); // restart timer and try next timeout
|
toolbar->hide_timer.start(); // restart timer and try next timeout
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
toolbar->hide_timer.fireOnce(true);
|
toolbar->hide_timer.fireOnce(true);
|
||||||
|
|
||||||
toolbar->hidden = ! toolbar->hidden;
|
toolbar->hidden = ! toolbar->hidden;
|
||||||
|
|
Loading…
Reference in a new issue