]> git.sur5r.net Git - minitube/blob - src/toolbarmenu.cpp
e03dbacd28338e5d6e7c24b59490f127beede1ef
[minitube] / src / toolbarmenu.cpp
1 #include "toolbarmenu.h"
2 #include "mainwindow.h"
3 #include "sharetoolbar.h"
4
5 ToolbarMenu::ToolbarMenu(QWidget *parent) : QMenu(parent) {
6     MainWindow *w = MainWindow::instance();
7     addAction(w->getAction("stopafterthis"));
8     addSeparator();
9 #ifdef APP_SNAPSHOT
10     addAction(w->getAction("snapshot"));
11 #endif
12     addAction(w->getAction("findVideoParts"));
13     addSeparator();
14     addAction(w->getAction("webpage"));
15     addAction(w->getAction("videolink"));
16     addAction(w->getAction("openInBrowser"));
17     addAction(w->getAction("download"));
18     addSeparator();
19     QWidgetAction *widgetAction = new QWidgetAction(this);
20     ShareToolbar *shareToolbar = new ShareToolbar();
21     connect(this, &ToolbarMenu::leftMarginChanged, shareToolbar, &ShareToolbar::setLeftMargin);
22     widgetAction->setDefaultWidget(shareToolbar);
23     addAction(widgetAction);
24     addSeparator();
25     addAction(w->getAction("compactView"));
26     addAction(w->getAction("ontop"));
27     addSeparator();
28     addAction(w->getAction("clearRecentKeywords"));
29 #ifndef APP_MAC
30     addSeparator();
31     addAction(w->getAction("toggleMenu"));
32 #endif
33     addSeparator();
34     addMenu(w->getMenu("help"));
35 }
36
37 void ToolbarMenu::showEvent(QShowEvent *e) {
38     Q_UNUSED(e);
39     QAction *a = MainWindow::instance()->getAction("stopafterthis");
40     QStyleOptionMenuItem option;
41     initStyleOption(&option, a);
42     int leftMargin = option.maxIconWidth;
43 #ifndef APP_MAC
44     // On Win & Linux the value is wrong
45     leftMargin *= 1.5;
46 #endif
47     emit leftMarginChanged(leftMargin);
48 }