- action_view_zoom_in_->setText(tr("Zoom &In"));
- action_view_zoom_in_->setIcon(QIcon::fromTheme("zoom-in",
- QIcon(":/icons/zoom-in.png")));
- // simply using Qt::Key_Plus shows no + in the menu
- action_view_zoom_in_->setShortcut(QKeySequence::ZoomIn);
- connect(action_view_zoom_in_, SIGNAL(triggered(bool)),
- this, SLOT(on_actionViewZoomIn_triggered()));
-
- action_view_zoom_out_->setText(tr("Zoom &Out"));
- action_view_zoom_out_->setIcon(QIcon::fromTheme("zoom-out",
- QIcon(":/icons/zoom-out.png")));
- action_view_zoom_out_->setShortcut(QKeySequence::ZoomOut);
- connect(action_view_zoom_out_, SIGNAL(triggered(bool)),
- this, SLOT(on_actionViewZoomOut_triggered()));
-
- action_view_zoom_fit_->setCheckable(true);
- action_view_zoom_fit_->setText(tr("Zoom to &Fit"));
- action_view_zoom_fit_->setIcon(QIcon::fromTheme("zoom-fit",
- QIcon(":/icons/zoom-fit.png")));
- action_view_zoom_fit_->setShortcut(QKeySequence(Qt::Key_F));
- connect(action_view_zoom_fit_, SIGNAL(triggered(bool)),
- this, SLOT(on_actionViewZoomFit_triggered()));
-
- action_view_zoom_one_to_one_->setText(tr("Zoom to O&ne-to-One"));
- action_view_zoom_one_to_one_->setIcon(QIcon::fromTheme("zoom-original",
- QIcon(":/icons/zoom-original.png")));
- action_view_zoom_one_to_one_->setShortcut(QKeySequence(Qt::Key_O));
- connect(action_view_zoom_one_to_one_, SIGNAL(triggered(bool)),
- this, SLOT(on_actionViewZoomOneToOne_triggered()));
-
- action_view_show_cursors_->setCheckable(true);
- action_view_show_cursors_->setIcon(QIcon::fromTheme("show-cursors",
- QIcon(":/icons/show-cursors.svg")));
- action_view_show_cursors_->setShortcut(QKeySequence(Qt::Key_C));
- connect(action_view_show_cursors_, SIGNAL(triggered(bool)),
- this, SLOT(on_actionViewShowCursors_triggered()));
- action_view_show_cursors_->setText(tr("Show &Cursors"));
+ // New view button
+ QMenu *menu_new_view = new QMenu();
+ connect(menu_new_view, SIGNAL(triggered(QAction*)),
+ this, SLOT(on_actionNewView_triggered(QAction*)));
+
+ for (int i = 0; i < views::ViewTypeCount; i++) {
+ QAction *const action = menu_new_view->addAction(tr(views::ViewTypeNames[i]));
+ action->setData(QVariant::fromValue(i));
+ }
+
+ new_view_button_->setMenu(menu_new_view);
+ new_view_button_->setDefaultAction(action_new_view_);
+ new_view_button_->setPopupMode(QToolButton::MenuButtonPopup);