]> git.mar77i.info Git - bigintmandel/blobdiff - menubar.cpp
make zoom_factor part of MandelSettings
[bigintmandel] / menubar.cpp
index 004265918bb227ff5377cd18be2aba6728891216..e61e363f45b815a005c404b44eb0e936881b79d3 100644 (file)
@@ -1,5 +1,9 @@
 
-// menubar.cpp
+/*
+ * menubar.cpp
+ *
+ * This file is covered by the LICENSE file in the root of this project.
+ */
 
 #include <QPushButton>
 #include <qwidget.h>
@@ -22,22 +26,18 @@ static inline QAction *zoom_action(
 
 MenuBar::MenuBar(BigintMandelWidget *parent)
 :   QMenuBar(parent),
+    settings(parent->get_settings()),
     file_menu(new QMenu("&File", parent)),
-    zoom_factor_menu(new QMenu("&Zoom factor", parent)),
-    zoom_factor(2) {
+    calc_menu(new QMenu("&Calculation", parent)),
+    zoom_menu(new QMenu("&Zoom", parent)) {
     QKeySequence no_key;
     setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
-    addMenu(file_menu);
-    reset_action = file_menu->addAction(
-        "&Reset", no_key, parent, &BigintMandelWidget::reset
-    );
     load_action = file_menu->addAction(
         "&Load...", no_key, parent, &BigintMandelWidget::load_data
     );
     save_action = file_menu->addAction(
         "&Save...", no_key, parent, &BigintMandelWidget::save_data
     );
-    file_menu->addSeparator();
     export_action = file_menu->addAction(
         "&Export...", no_key, parent, &BigintMandelWidget::export_img
     );
@@ -45,16 +45,27 @@ MenuBar::MenuBar(BigintMandelWidget *parent)
     exit_action = file_menu->addAction(
         "E&xit", no_key, parent, &BigintMandelWidget::close
     );
+    addMenu(file_menu);
 
-    addMenu(zoom_factor_menu);
-    two_action = zoom_action(this, zoom_factor_menu->addAction("&2"), 2);
-    four_action = zoom_action(this, zoom_factor_menu->addAction("&4"), 4);
-    eight_action = zoom_action(this, zoom_factor_menu->addAction("&8"), 8);
-    sixteen_action = zoom_action(this, zoom_factor_menu->addAction("1&6"), 16);
-    check_action();
-}
+    reset_action = calc_menu->addAction(
+        "&Reset", no_key, parent, &BigintMandelWidget::reset
+    );
+    resize_action = calc_menu->addAction(
+        "Resi&ze to Window",
+        no_key,
+        parent,
+        &BigintMandelWidget::resize_to_window
+    );
+    settings_action = calc_menu->addAction(
+        "&Settings", no_key, parent, &BigintMandelWidget::exec_settings_widget
+    );
+    addMenu(calc_menu);
 
-void MenuBar::change_zoom_factor() {
-    zoom_factor = static_cast<QAction*>(sender())->data().toInt();
+    no_action = zoom_action(this, zoom_menu->addAction("&Off"), -1);
+    two_action = zoom_action(this, zoom_menu->addAction("&2"), 2);
+    four_action = zoom_action(this, zoom_menu->addAction("&4"), 4);
+    eight_action = zoom_action(this, zoom_menu->addAction("&8"), 8);
+    sixteen_action = zoom_action(this, zoom_menu->addAction("1&6"), 16);
+    addMenu(zoom_menu);
     check_action();
 }