#include "LayoutBox.h"
#include "LyX.h"
#include "LyXRC.h"
-#include "Menus.h"
#include "qt_helpers.h"
#include "Session.h"
#include "Text.h"
setIconSize(owner.iconSize());
connect(&owner, SIGNAL(iconSizeChanged(QSize)), this,
SLOT(setIconSize(QSize)));
- // install toolbar filter for context menu including disabled buttons
- setContextMenuPolicy(Qt::PreventContextMenu);
- QCoreApplication::instance()->installEventFilter(this);
// This is used by QMainWindow::restoreState for proper main window state
// restoration.
}
-bool GuiToolbar::eventFilter(QObject * obj, QEvent * ev)
-{
- if (obj == this || obj->parent() == this) {
- if (ev->type() == QEvent::ContextMenu) {
- QMouseEvent* mouseEvent = static_cast<QMouseEvent*>(ev);
- QMenu * menu = guiApp->menus().menu(toqstr("context-toolbars"), owner_);
- menu->exec(mouseEvent->globalPos());
- return true;
- } else {
- return false;
- }
- } else {
- // pass the event on to the parent class
- return QToolBar::eventFilter(obj, ev);
- }
-}
-
-
void GuiToolbar::setVisibility(int visibility)
{
visibility_ = visibility;
void fill();
///
void showEvent(QShowEvent *);
- ///
- bool eventFilter(QObject * obj, QEvent * ev);
///
QList<Action *> actions_;
connect(this, SIGNAL(triggerShowDialog(QString const &, QString const &, Inset *)),
SLOT(doShowDialog(QString const &, QString const &, Inset *)));
+ // set custom application bars context menu, e.g. tool bar and menu bar
+ setContextMenuPolicy(Qt::CustomContextMenu);
+ connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),
+ SLOT(toolBarPopup(const QPoint &)));
+
// Forbid too small unresizable window because it can happen
// with some window manager under X11.
setMinimumSize(300, 200);
}
+void GuiView::toolBarPopup(const QPoint & /*pos*/)
+{
+ QMenu * menu = guiApp->menus().menu(toqstr("context-toolbars"), * this);
+ menu->exec(QCursor::pos());
+}
+
+
template<class T>
Buffer::ExportStatus GuiView::GuiViewPrivate::runAndDestroy(const T& func,
Buffer const * orig, Buffer * clone, string const & format)
void updateStatusBarMessage(QString const & str);
void clearMessageText();
+ ///
+ void toolBarPopup(const QPoint &pos);
+
private:
/// Open given child document in current buffer directory.
void openChildDocument(std::string const & filename);