~noskcaj/ubuntu/utopic/xfce4-whiskermenu-pplugin/1.4.0

« back to all changes in this revision

Viewing changes to panel-plugin/window.cpp

  • Committer: Package Import Robot
  • Author(s): Yves-Alexis Perez, Jackson Doak
  • Date: 2014-03-18 21:55:14 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20140318215514-na6io25yrf9mic9m
Tags: 1.3.2-1
[ Jackson Doak ]
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright (C) 2013 Graeme Gott <graeme@gottcode.org>
 
2
 * Copyright (C) 2013, 2014 Graeme Gott <graeme@gottcode.org>
3
3
 *
4
4
 * This library is free software; you can redistribute it and/or modify
5
5
 * it under the terms of the GNU General Public License as published by
63
63
        gtk_widget_add_events(GTK_WIDGET(m_window), GDK_BUTTON_PRESS_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_STRUCTURE_MASK);
64
64
        g_signal_connect_slot(m_window, "enter-notify-event", &Window::on_enter_notify_event, this);
65
65
        g_signal_connect_slot(m_window, "leave-notify-event", &Window::on_leave_notify_event, this);
66
 
        g_signal_connect_slot(m_window, "focus-in-event", &Window::on_focus_in_event, this);
67
66
        g_signal_connect_slot(m_window, "button-press-event", &Window::on_button_press_event, this);
68
67
        g_signal_connect_slot(m_window, "key-press-event", &Window::on_key_press_event, this);
69
68
        g_signal_connect_slot(m_window, "key-press-event", &Window::on_key_press_event_after, this, true);
566
565
 
567
566
//-----------------------------------------------------------------------------
568
567
 
 
568
void Window::on_context_menu_destroyed()
 
569
{
 
570
        gdk_pointer_grab(gtk_widget_get_window(GTK_WIDGET(m_window)), true,
 
571
                        GdkEventMask(
 
572
                                GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
 
573
                                GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK
 
574
                        ),
 
575
                        NULL, NULL, gtk_get_current_event_time());
 
576
}
 
577
 
 
578
//-----------------------------------------------------------------------------
 
579
 
569
580
void Window::set_categories(const std::vector<SectionButton*>& categories)
570
581
{
571
582
        for (std::vector<SectionButton*>::const_iterator i = categories.begin(), end = categories.end(); i != end; ++i)
668
679
 
669
680
//-----------------------------------------------------------------------------
670
681
 
671
 
gboolean Window::on_focus_in_event(GtkWidget*, GdkEvent*)
672
 
{
673
 
        gdk_pointer_grab(gtk_widget_get_window(GTK_WIDGET(m_window)), true,
674
 
                        GdkEventMask(
675
 
                                GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
676
 
                                GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK
677
 
                        ),
678
 
                        NULL, NULL, gtk_get_current_event_time());
679
 
        return false;
680
 
}
681
 
 
682
 
//-----------------------------------------------------------------------------
683
 
 
684
682
gboolean Window::on_button_press_event(GtkWidget*, GdkEvent* event)
685
683
{
686
684
        // Hide menu if user clicks outside