Advertisement
Terjason

File menu í jukebox.cpp

Mar 22nd, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. //------------------------------------------------------------------------------
  2. // MAIN MENU CASE 1: File menu
  3. //------------------------------------------------------------------------------
  4. void Jukebox::fileMenu(Menu &pMenu)
  5. {
  6. Menu fileMenu;
  7.  
  8. // A static bool for keeping track on the first time the program is run
  9. static bool firstRun = true;
  10.  
  11. // If the program is run for the first time
  12. if (firstRun)
  13. {
  14. fileMenu.addItem("Open", true); // 1
  15. fileMenu.addItem("Save", false); // 2
  16. fileMenu.addItem("Main Menu", true); // 3
  17. }
  18. else
  19. {
  20. fileMenu.addItem("Open", true); // 1
  21. fileMenu.addItem("Save", true); // 2
  22. fileMenu.addItem("Main Menu", true); // 3
  23. }
  24.  
  25. // Bool variable for loop control
  26. bool again = true;
  27.  
  28. do
  29. {
  30. // If there are less active menu items than the size of the menu vector
  31. if (menuCheck(fileMenu) < fileMenu.getMenuSize())
  32. {
  33. system("CLS");
  34.  
  35. std::cout << std::endl;
  36. std::cout << "[JUKEBOX] > [FILE MENU]" << std::endl;
  37. std::cout << "===========================================" << std::endl;
  38.  
  39. // Print menu items that are currently true
  40. fileMenu.printMenuItems();
  41.  
  42. switch (fileMenu.getMenuChoice(menuCheck(fileMenu)))
  43. {
  44. //------------------------------------------------------------------------------
  45. // Open from file
  46. //------------------------------------------------------------------------------
  47. case 1:
  48. openFromFile();
  49.  
  50. fileMenu.getVectorMenu()[1].setEnabled(true); // Setting Save to active (true)
  51. pMenu.getVectorMenu()[1].setEnabled(true); // Setting Add Album to active (true)
  52. pMenu.getVectorMenu()[2].setEnabled(true); // Setting Delete Album to active (true)
  53. pMenu.getVectorMenu()[3].setEnabled(true); // Setting Print to active (true)
  54. pMenu.getVectorMenu()[4].setEnabled(true); // Setting Play to active (true)
  55.  
  56. // Setting firstRun to false, so the next time the function is run. all 3 menu items will be enabled
  57. firstRun = false;
  58.  
  59. //------------------------------------------------------------------------------
  60. // Main menu
  61. //------------------------------------------------------------------------------
  62. case 2:
  63. if (fileMenu.getVectorMenu()[2].getEnabled())
  64. {
  65. // Again set to false, thus going back to the loop in the run() function (main menu)
  66. again = false;
  67.  
  68. system("CLS");
  69.  
  70. std::cout << std::endl;
  71. std::cout << "[JUKEBOX] > [MAIN MENU]" << std::endl;
  72. std::cout << "===========================================" << std::endl;
  73. }
  74. break;
  75. }
  76. }
  77. else
  78. {
  79. system("CLS");
  80.  
  81. std::cout << std::endl;
  82. std::cout << "[JUKEBOX] > [MAIN MENU]" << std::endl;
  83. std::cout << "===========================================" << std::endl;
  84.  
  85. // Print menu items that are currently true
  86. fileMenu.printMenuItems();
  87.  
  88. switch (fileMenu.getMenuChoice(fileMenu.getMenuSize()))
  89. {
  90. //------------------------------------------------------------------------------
  91. // Open from file
  92. //------------------------------------------------------------------------------
  93. case 1:
  94. if (fileMenu.getVectorMenu()[0].getEnabled())
  95. {
  96. openFromFile();
  97. }
  98. break;
  99. //------------------------------------------------------------------------------
  100. // Save to file
  101. //------------------------------------------------------------------------------
  102. case 2:
  103. if (fileMenu.getVectorMenu()[1].getEnabled())
  104. {
  105. saveToFile();
  106. }
  107. break;
  108. //------------------------------------------------------------------------------
  109. // Main menu
  110. //------------------------------------------------------------------------------
  111. case 3:
  112. if (fileMenu.getVectorMenu()[2].getEnabled())
  113. {
  114. // Again set to false, thus going back to the loop in the run() function (main menu)
  115. again = false;
  116. }
  117. break;
  118. }
  119. }
  120. } while (again);
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement