| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -38,6 +38,7 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#include <QtWidgets/QToolBar>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#include <QtWidgets/QWidget>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#include <QtWidgets/QMenu>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#include <QtWidgets/QMenuBar>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#include <QtWidgets/QMessageBox>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#include <QtWidgets/QInputDialog>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#include <QtWidgets/QLabel>
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -243,6 +244,16 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QHBoxLayout *horizontalLayout = nullptr;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QStatusBar *statusBar = nullptr;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QMenuBar *menuBar = nullptr;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QMenu *fileMenu;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QMenu *viewMenu;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QMenu *profileMenu;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    TranslatedAction actionCloseWindow;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    TranslatedAction actionOpenWiki;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    TranslatedAction actionNewsMenuBar;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    TranslatedToolbar mainToolBar;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    TranslatedToolbar instanceToolBar;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    TranslatedToolbar newsToolBar;
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -253,12 +264,12 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if(m_kill)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionLaunchInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Kill"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionLaunchInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&Kill"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionLaunchInstance.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Kill the running instance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionLaunchInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Launch"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionLaunchInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&Launch"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionLaunchInstance.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Launch the selected instance."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstance.retranslate();
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -269,28 +280,16 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        updateLaunchAction();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void createMainToolbar(QMainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void createMainToolbarActions(QMainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar = TranslatedToolbar(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setObjectName(QStringLiteral("mainToolBar"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setMovable(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setAllowedAreas(Qt::TopToolBarArea | Qt::BottomToolBarArea);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setFloatable(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar.setWindowTitleId(QT_TRANSLATE_NOOP("MainWindow", "Main Toolbar"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAddInstance = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAddInstance->setObjectName(QStringLiteral("actionAddInstance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAddInstance->setIcon(APPLICATION->getThemedIcon("new"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAddInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Add Instance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAddInstance->setIconVisibleInMenu(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAddInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Add Instanc&e..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAddInstance.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Add a new instance."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAddInstance->setShortcut(QKeySequence::New);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionAddInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->addAction(actionAddInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenu = new QMenu(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenu->setToolTipsVisible(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewInstanceFolder = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewInstanceFolder->setObjectName(QStringLiteral("actionViewInstanceFolder"));
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -298,7 +297,6 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewInstanceFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "View Instance Folder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewInstanceFolder.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the instance folder in a file browser."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionViewInstanceFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenu->addAction(actionViewInstanceFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewCentralModsFolder = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewCentralModsFolder->setObjectName(QStringLiteral("actionViewCentralModsFolder"));
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -306,10 +304,16 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewCentralModsFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "View Central Mods Folder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewCentralModsFolder.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the central mods folder in a file browser."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionViewCentralModsFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenu = new QMenu(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenu->setTitle(tr("F&olders"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenu->setToolTipsVisible(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenu->addAction(actionViewInstanceFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenu->addAction(actionViewCentralModsFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenuButton = TranslatedToolButton(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenuButton.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Folders"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenuButton.setTextId(QT_TRANSLATE_NOOP("MainWindow", "F&olders"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenuButton.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open one of the folders shared between instances."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenuButton->setMenu(foldersMenu);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenuButton->setPopupMode(QToolButton::InstantPopup);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -317,69 +321,130 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenuButton->setIcon(APPLICATION->getThemedIcon("viewfolder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersMenuButton->setFocusPolicy(Qt::NoFocus);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_toolbuttons.append(&foldersMenuButton);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        QWidgetAction* foldersButtonAction = new QWidgetAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersButtonAction->setDefaultWidget(foldersMenuButton);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->addAction(foldersButtonAction);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionSettings = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionSettings->setObjectName(QStringLiteral("actionSettings"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionSettings->setIcon(APPLICATION->getThemedIcon("settings"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionSettings->setMenuRole(QAction::PreferencesRole);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionSettings.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Settings"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionSettings.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Settings..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionSettings.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Change settings."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionSettings->setShortcut(QKeySequence::Preferences);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionSettings);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->addAction(actionSettings);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu = new QMenu(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu->setToolTipsVisible(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (!BuildConfig.BUG_TRACKER_URL.isEmpty()) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionReportBug = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionReportBug->setObjectName(QStringLiteral("actionReportBug"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionReportBug->setIcon(APPLICATION->getThemedIcon("bug"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionReportBug.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Report a Bug"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionReportBug.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Report a &Bug..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionReportBug.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the bug tracker to report a bug with %1."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            all_actions.append(&actionReportBug);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionReportBug);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if(!BuildConfig.MATRIX_URL.isEmpty()) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionMATRIX = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionMATRIX->setObjectName(QStringLiteral("actionMATRIX"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionMATRIX->setIcon(APPLICATION->getThemedIcon("matrix"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionMATRIX.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Matrix space"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionMATRIX.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&Matrix Space"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionMATRIX.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open %1 Matrix space"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            all_actions.append(&actionMATRIX);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionMATRIX);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (!BuildConfig.DISCORD_URL.isEmpty()) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionDISCORD = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionDISCORD->setObjectName(QStringLiteral("actionDISCORD"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionDISCORD->setIcon(APPLICATION->getThemedIcon("discord"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionDISCORD.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Discord guild"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionDISCORD.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&Discord Guild"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionDISCORD.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open %1 Discord guild."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            all_actions.append(&actionDISCORD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionDISCORD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (!BuildConfig.SUBREDDIT_URL.isEmpty()) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionREDDIT = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionREDDIT->setObjectName(QStringLiteral("actionREDDIT"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionREDDIT->setIcon(APPLICATION->getThemedIcon("reddit-alien"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionREDDIT.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Subreddit"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionREDDIT.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Sub&reddit"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionREDDIT.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open %1 subreddit."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            all_actions.append(&actionREDDIT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionREDDIT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAbout = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAbout->setObjectName(QStringLiteral("actionAbout"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAbout->setIcon(APPLICATION->getThemedIcon("about"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAbout->setMenuRole(QAction::AboutRole);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAbout.setTextId(QT_TRANSLATE_NOOP("MainWindow", "About %1"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAbout.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&About %1"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionAbout.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "View information about %1."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionAbout);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if(BuildConfig.UPDATER_ENABLED)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate->setObjectName(QStringLiteral("actionCheckUpdate"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate->setIcon(APPLICATION->getThemedIcon("checkupdate"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&Update..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Check for new updates for %1."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate->setMenuRole(QAction::ApplicationSpecificRole);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            all_actions.append(&actionCheckUpdate);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT->setObjectName(QStringLiteral("actionCAT"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT->setCheckable(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT->setIcon(APPLICATION->getThemedIcon("cat"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&Meow"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "It's a fluffy kitty :3"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT->setPriority(QAction::LowPriority);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionCAT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        // profile menu and its actions
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionManageAccounts = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionManageAccounts->setObjectName(QStringLiteral("actionManageAccounts"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionManageAccounts.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&Manage Accounts..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        // FIXME: no tooltip!
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionManageAccounts->setCheckable(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionManageAccounts->setIcon(APPLICATION->getThemedIcon("accounts"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionManageAccounts);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void createMainToolbar(QMainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar = TranslatedToolbar(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setVisible(menuBar->isNativeMenuBar() || !APPLICATION->settings()->get("MenuBarInsteadOfToolBar").toBool());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setObjectName(QStringLiteral("mainToolBar"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setMovable(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setAllowedAreas(Qt::TopToolBarArea | Qt::BottomToolBarArea);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->setFloatable(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar.setWindowTitleId(QT_TRANSLATE_NOOP("MainWindow", "Main Toolbar"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->addAction(actionAddInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        QWidgetAction* foldersButtonAction = new QWidgetAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foldersButtonAction->setDefaultWidget(foldersMenuButton);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->addAction(foldersButtonAction);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->addAction(actionSettings);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu = new QMenu(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu->setToolTipsVisible(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (!BuildConfig.BUG_TRACKER_URL.isEmpty()) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionReportBug);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if(!BuildConfig.MATRIX_URL.isEmpty()) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionMATRIX);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (!BuildConfig.DISCORD_URL.isEmpty()) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionDISCORD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (!BuildConfig.SUBREDDIT_URL.isEmpty()) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionREDDIT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu->addAction(actionAbout);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenuButton = TranslatedToolButton(MainWindow);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -397,40 +462,118 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if(BuildConfig.UPDATER_ENABLED)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate->setObjectName(QStringLiteral("actionCheckUpdate"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate->setIcon(APPLICATION->getThemedIcon("checkupdate"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Update"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            actionCheckUpdate.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Check for new updates for %1."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            all_actions.append(&actionCheckUpdate);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            mainToolBar->addAction(actionCheckUpdate);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT->setObjectName(QStringLiteral("actionCAT"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT->setCheckable(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT->setIcon(APPLICATION->getThemedIcon("cat"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Meow"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "It's a fluffy kitty :3"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCAT->setPriority(QAction::LowPriority);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionCAT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        mainToolBar->addAction(actionCAT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        // profile menu and its actions
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionManageAccounts = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionManageAccounts->setObjectName(QStringLiteral("actionManageAccounts"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionManageAccounts.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Manage Accounts"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        // FIXME: no tooltip!
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionManageAccounts->setCheckable(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionManageAccounts->setIcon(APPLICATION->getThemedIcon("accounts"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionManageAccounts);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_toolbars.append(&mainToolBar);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        MainWindow->addToolBar(Qt::TopToolBarArea, mainToolBar);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void createMenuBar(QMainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        menuBar = new QMenuBar(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        menuBar->setVisible(APPLICATION->settings()->get("MenuBarInsteadOfToolBar").toBool());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu = menuBar->addMenu(tr("&File"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionAddInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionLaunchInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionLaunchInstanceOffline);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionCloseWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionEditInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionEditInstNotes);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionMods);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionWorlds);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionScreenshots);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionChangeInstGroup);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionViewSelectedMCFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionConfig_Folder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionViewSelectedInstFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionExportInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionDeleteInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionCopyInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        fileMenu->addAction(actionSettings);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        viewMenu = menuBar->addMenu(tr("&View"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        viewMenu->addAction(actionCAT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        viewMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        menuBar->addMenu(foldersMenu);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        profileMenu = menuBar->addMenu(tr("&Profiles"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        profileMenu->addAction(actionManageAccounts);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu = menuBar->addMenu(tr("&Help"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu->addAction(actionAbout);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu->addAction(actionOpenWiki);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu->addAction(actionNewsMenuBar);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (!BuildConfig.BUG_TRACKER_URL.isEmpty())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionReportBug);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (!BuildConfig.MATRIX_URL.isEmpty())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionMATRIX);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (!BuildConfig.DISCORD_URL.isEmpty())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionDISCORD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (!BuildConfig.SUBREDDIT_URL.isEmpty())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionREDDIT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        helpMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if(BuildConfig.UPDATER_ENABLED)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            helpMenu->addAction(actionCheckUpdate);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        MainWindow->setMenuBar(menuBar);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void createMenuActions(MainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCloseWindow = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCloseWindow->setObjectName(QStringLiteral("actionCloseWindow"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCloseWindow.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Close &Window"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCloseWindow.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Close the current window"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCloseWindow->setShortcut(QKeySequence::Close);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        connect(actionCloseWindow, &QAction::triggered, APPLICATION, &Application::closeCurrentWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionCloseWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionOpenWiki = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionOpenWiki->setObjectName(QStringLiteral("actionOpenWiki"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionOpenWiki.setTextId(QT_TRANSLATE_NOOP("MainWindow", "%1 He&lp"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionOpenWiki.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the %1 wiki"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        connect(actionOpenWiki, &QAction::triggered, MainWindow, &MainWindow::on_actionOpenWiki_triggered);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionOpenWiki);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionNewsMenuBar = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionNewsMenuBar->setObjectName(QStringLiteral("actionNewsMenuBar"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionNewsMenuBar.setTextId(QT_TRANSLATE_NOOP("MainWindow", "%1 &News"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionNewsMenuBar.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the %1 wiki"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        connect(actionNewsMenuBar, &QAction::triggered, MainWindow, &MainWindow::on_actionMoreNews_triggered);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionNewsMenuBar);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    // "Instance actions" are actions that require an instance to be selected (i.e. "new instance" is not here)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void setInstanceActionsEnabled(bool enabled)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstance->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstanceOffline->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstance->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstNotes->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionMods->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionWorlds->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionScreenshots->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionChangeInstGroup->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedMCFolder->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionConfig_Folder->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedInstFolder->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionExportInstance->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionDeleteInstance->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCopyInstance->setEnabled(enabled);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void createStatusBar(QMainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        statusBar = new QStatusBar(MainWindow);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -461,18 +604,8 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        MainWindow->addToolBar(Qt::BottomToolBarArea, newsToolBar);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void createInstanceToolbar(QMainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void createInstanceActions(QMainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar = TranslatedToolbar(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setObjectName(QStringLiteral("instanceToolBar"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        // disabled until we have an instance selected
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setEnabled(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setMovable(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setToolButtonStyle(Qt::ToolButtonTextOnly);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setFloatable(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setWindowTitle(QT_TRANSLATE_NOOP("MainWindow", "Instance Toolbar"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        // NOTE: not added to toolbar, but used for instance context menu (right click)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionChangeInstIcon = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionChangeInstIcon->setObjectName(QStringLiteral("actionChangeInstIcon"));
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -487,7 +620,6 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        changeIconButton->setIcon(APPLICATION->getThemedIcon("news"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        changeIconButton->setToolTip(actionChangeInstIcon->toolTip());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        changeIconButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addWidget(changeIconButton);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        // NOTE: not added to toolbar, but used for instance context menu (right click)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionRenameInstance = TranslatedAction(MainWindow);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -501,74 +633,63 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        renameButton->setObjectName(QStringLiteral("renameButton"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        renameButton->setToolTip(actionRenameInstance->toolTip());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        renameButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addWidget(renameButton);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstance = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstance->setObjectName(QStringLiteral("actionLaunchInstance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&Launch"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstance.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Launch the selected instance."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionLaunchInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionLaunchInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstanceOffline = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstanceOffline->setObjectName(QStringLiteral("actionLaunchInstanceOffline"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstanceOffline.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Launch Offline"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstanceOffline.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Launch &Offline"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionLaunchInstanceOffline.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Launch the selected instance in offline mode."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionLaunchInstanceOffline);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionLaunchInstanceOffline);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstance = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstance->setObjectName(QStringLiteral("actionEditInstance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Edit Instance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Edit Inst&ance..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstance.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Change the instance settings, mods and versions."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstance->setShortcut(QKeySequence(tr("Ctrl+I")));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionEditInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionEditInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstNotes = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstNotes->setObjectName(QStringLiteral("actionEditInstNotes"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstNotes.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Edit Notes"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstNotes.setTextId(QT_TRANSLATE_NOOP("MainWindow", "E&dit Notes..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionEditInstNotes.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Edit the notes for the selected instance."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionEditInstNotes);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionEditInstNotes);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionMods = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionMods->setObjectName(QStringLiteral("actionMods"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionMods.setTextId(QT_TRANSLATE_NOOP("MainWindow", "View Mods"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionMods.setTextId(QT_TRANSLATE_NOOP("MainWindow", "View &Mods"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionMods.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "View the mods of this instance."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionMods);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionMods);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionWorlds = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionWorlds->setObjectName(QStringLiteral("actionWorlds"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionWorlds.setTextId(QT_TRANSLATE_NOOP("MainWindow", "View Worlds"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionWorlds.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&View Worlds"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionWorlds.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "View the worlds of this instance."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionWorlds);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionWorlds);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionScreenshots = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionScreenshots->setObjectName(QStringLiteral("actionScreenshots"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionScreenshots.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Manage Screenshots"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionScreenshots.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Manage &Screenshots"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionScreenshots.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "View and upload screenshots for this instance."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionScreenshots);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionScreenshots);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionChangeInstGroup = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionChangeInstGroup->setObjectName(QStringLiteral("actionChangeInstGroup"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionChangeInstGroup.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Change Group"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionChangeInstGroup.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&Change Group..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionChangeInstGroup.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Change the selected instance's group."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionChangeInstGroup->setShortcut(QKeySequence(tr("Ctrl+G")));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionChangeInstGroup);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionChangeInstGroup);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedMCFolder = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedMCFolder->setObjectName(QStringLiteral("actionViewSelectedMCFolder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedMCFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Minecraft Folder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedMCFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Minec&raft Folder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedMCFolder.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the selected instance's Minecraft folder in a file browser."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedMCFolder->setShortcut(QKeySequence(tr("Ctrl+M")));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionViewSelectedMCFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionViewSelectedMCFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        /*
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedModsFolder = TranslatedAction(MainWindow);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -576,52 +697,97 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedModsFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Mods Folder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedModsFolder.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the selected instance's mods folder in a file browser."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionViewSelectedModsFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionViewSelectedModsFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        */
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionConfig_Folder = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionConfig_Folder->setObjectName(QStringLiteral("actionConfig_Folder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionConfig_Folder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Config Folder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionConfig_Folder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Confi&g Folder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionConfig_Folder.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the instance's config folder."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        // Qt on macOS is "smart" and will eat up this action when added to the menu bar because it starts with the word "config"...
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        // Docs: https://doc.qt.io/qt-5/qmenubar.html#qmenubar-as-a-global-menu-bar
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionConfig_Folder->setMenuRole(QAction::NoRole);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionConfig_Folder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionConfig_Folder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedInstFolder = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedInstFolder->setObjectName(QStringLiteral("actionViewSelectedInstFolder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedInstFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Instance Folder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedInstFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "&Instance Folder"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionViewSelectedInstFolder.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the selected instance's root folder in a file browser."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionViewSelectedInstFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionViewSelectedInstFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionExportInstance = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionExportInstance->setObjectName(QStringLiteral("actionExportInstance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionExportInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Export Instance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionExportInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "E&xport Instance..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionExportInstance.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Export the selected instance as a zip file."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionExportInstance->setShortcut(QKeySequence(tr("Ctrl+E")));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionExportInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionExportInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionDeleteInstance = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionDeleteInstance->setObjectName(QStringLiteral("actionDeleteInstance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionDeleteInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Delete Instance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionDeleteInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Dele&te Instance..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionDeleteInstance.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Delete the selected instance."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionDeleteInstance->setShortcuts({QKeySequence(tr("Backspace")), QKeySequence::Delete});
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionDeleteInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionDeleteInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCopyInstance = TranslatedAction(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCopyInstance->setObjectName(QStringLiteral("actionCopyInstance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCopyInstance->setIcon(APPLICATION->getThemedIcon("copy"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCopyInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Copy Instance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCopyInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Cop&y Instance..."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCopyInstance.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Copy the selected instance."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        actionCopyInstance->setShortcut(QKeySequence(tr("Ctrl+D")));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_actions.append(&actionCopyInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        setInstanceActionsEnabled(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void createInstanceToolbar(QMainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar = TranslatedToolbar(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setObjectName(QStringLiteral("instanceToolBar"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        // disabled until we have an instance selected
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setEnabled(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setMovable(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setToolButtonStyle(Qt::ToolButtonTextOnly);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setFloatable(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->setWindowTitle(QT_TRANSLATE_NOOP("MainWindow", "Instance Toolbar"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addWidget(changeIconButton);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addWidget(renameButton);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionLaunchInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionLaunchInstanceOffline);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionEditInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionEditInstNotes);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionMods);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionWorlds);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionScreenshots);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionChangeInstGroup);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionViewSelectedMCFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        /*
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionViewSelectedModsFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        */
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionConfig_Folder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionViewSelectedInstFolder);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionExportInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionDeleteInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        instanceToolBar->addAction(actionCopyInstance);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        all_toolbars.append(&instanceToolBar);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        MainWindow->addToolBar(Qt::RightToolBarArea, instanceToolBar);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void setupUi(QMainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    void setupUi(MainWindow *MainWindow)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (MainWindow->objectName().isEmpty())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        {
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -634,6 +800,12 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        MainWindow->setAccessibleName(BuildConfig.LAUNCHER_NAME);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        createMainToolbarActions(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        createMenuActions(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        createInstanceActions(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        createMenuBar(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        createMainToolbar(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        centralWidget = new QWidget(MainWindow);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -649,6 +821,8 @@ public:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        createNewsToolbar(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        createInstanceToolbar(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        MainWindow->updateToolsMenu();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        retranslateUi(MainWindow);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        QMetaObject::connectSlotsByName(MainWindow);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -853,6 +1027,18 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new MainWindow
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    retranslateUi();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				// macOS always has a native menu bar, so these fixes are not applicable
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				// Other systems may or may not have a native menu bar (most do not - it seems like only Ubuntu Unity does)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#ifndef Q_OS_MAC
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				void MainWindow::keyReleaseEvent(QKeyEvent *event)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if(event->key()==Qt::Key_Alt && !APPLICATION->settings()->get("MenuBarInsteadOfToolBar").toBool())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ui->menuBar->setVisible(!ui->menuBar->isVisible());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        QMainWindow::keyReleaseEvent(event);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				void MainWindow::retranslateUi()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    auto accounts = APPLICATION->accounts();
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -954,12 +1140,18 @@ void MainWindow::showInstanceContextMenu(const QPoint &pos)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    myMenu.exec(view->mapToGlobal(pos));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				void MainWindow::updateMainToolBar()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->menuBar->setVisible(APPLICATION->settings()->get("MenuBarInsteadOfToolBar").toBool());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->mainToolBar->setVisible(ui->menuBar->isNativeMenuBar() || !APPLICATION->settings()->get("MenuBarInsteadOfToolBar").toBool());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				void MainWindow::updateToolsMenu()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QToolButton *launchButton = dynamic_cast<QToolButton*>(ui->instanceToolBar->widgetForAction(ui->actionLaunchInstance));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QToolButton *launchOfflineButton = dynamic_cast<QToolButton*>(ui->instanceToolBar->widgetForAction(ui->actionLaunchInstanceOffline));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if(!m_selectedInstance || m_selectedInstance->isRunning())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if(m_selectedInstance && m_selectedInstance->isRunning())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ui->actionLaunchInstance->setMenu(nullptr);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ui->actionLaunchInstanceOffline->setMenu(nullptr);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -989,15 +1181,23 @@ void MainWindow::updateToolsMenu()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QAction *normalLaunch = launchMenu->addAction(tr("Launch"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    normalLaunch->setShortcut(QKeySequence::Open);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QAction *normalLaunchOffline = launchOfflineMenu->addAction(tr("Launch Offline"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    connect(normalLaunch, &QAction::triggered, [this]()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                APPLICATION->launch(m_selectedInstance, true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    connect(normalLaunchOffline, &QAction::triggered, [this]()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                APPLICATION->launch(m_selectedInstance, false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    normalLaunchOffline->setShortcut(QKeySequence(tr("Ctrl+Shift+O")));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if (m_selectedInstance)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        connect(normalLaunch, &QAction::triggered, [this]() {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            APPLICATION->launch(m_selectedInstance, true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        connect(normalLaunchOffline, &QAction::triggered, [this]() {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            APPLICATION->launch(m_selectedInstance, false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        normalLaunch->setDisabled(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        normalLaunchOffline->setDisabled(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QString profilersTitle = tr("Profilers");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    launchMenu->addSeparator()->setText(profilersTitle);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    launchOfflineMenu->addSeparator()->setText(profilersTitle);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1014,7 +1214,7 @@ void MainWindow::updateToolsMenu()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            profilerAction->setToolTip(profilerToolTip);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            profilerOfflineAction->setToolTip(profilerToolTip);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else if (m_selectedInstance)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            connect(profilerAction, &QAction::triggered, [this, profiler]()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    {
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1025,6 +1225,11 @@ void MainWindow::updateToolsMenu()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        APPLICATION->launch(m_selectedInstance, false, profiler.get());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            profilerAction->setDisabled(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            profilerOfflineAction->setDisabled(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->actionLaunchInstance->setMenu(launchMenu);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->actionLaunchInstanceOffline->setMenu(launchOfflineMenu);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1033,6 +1238,7 @@ void MainWindow::updateToolsMenu()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				void MainWindow::repopulateAccountsMenu()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    accountMenu->clear();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->profileMenu->clear();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    auto accounts = APPLICATION->accounts();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    MinecraftAccountPtr defaultAccount = accounts->defaultAccount();
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1053,6 +1259,7 @@ void MainWindow::repopulateAccountsMenu()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        QAction *action = new QAction(tr("No accounts added!"), this);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        action->setEnabled(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        accountMenu->addAction(action);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ui->profileMenu->addAction(action);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1076,26 +1283,39 @@ void MainWindow::repopulateAccountsMenu()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            else {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                action->setIcon(APPLICATION->getThemedIcon("noaccount"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            const int highestNumberKey = 9;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            if(i<highestNumberKey)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                action->setShortcut(QKeySequence(tr("Ctrl+%1").arg(i + 1)));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            accountMenu->addAction(action);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            ui->profileMenu->addAction(action);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            connect(action, SIGNAL(triggered(bool)), SLOT(changeActiveAccount()));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    accountMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->profileMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QAction *action = new QAction(tr("No Default Account"), this);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    action->setCheckable(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    action->setIcon(APPLICATION->getThemedIcon("noaccount"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    action->setData(-1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    action->setShortcut(QKeySequence(tr("Ctrl+0")));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if (!defaultAccount) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        action->setChecked(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    accountMenu->addAction(action);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->profileMenu->addAction(action);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    connect(action, SIGNAL(triggered(bool)), SLOT(changeActiveAccount()));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    accountMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->profileMenu->addSeparator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    accountMenu->addAction(ui->actionManageAccounts);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->profileMenu->addAction(ui->actionManageAccounts);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				void MainWindow::updatesAllowedChanged(bool allowed)
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1626,6 +1846,7 @@ void MainWindow::globalSettingsClosed()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    APPLICATION->instances()->loadList();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    proxymodel->invalidate();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    proxymodel->sort(0);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    updateMainToolBar();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    updateToolsMenu();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    updateStatusCenter();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    update();
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1671,6 +1892,11 @@ void MainWindow::on_actionReportBug_triggered()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    DesktopServices::openUrl(QUrl(BuildConfig.BUG_TRACKER_URL));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				void MainWindow::on_actionOpenWiki_triggered()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    DesktopServices::openUrl(QUrl(BuildConfig.HELP_URL.arg("")));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				void MainWindow::on_actionMoreNews_triggered()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    DesktopServices::openUrl(QUrl(BuildConfig.NEWS_OPEN_URL));
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1858,6 +2084,7 @@ void MainWindow::instanceChanged(const QModelIndex ¤t, const QModelIndex &
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if (m_selectedInstance)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ui->instanceToolBar->setEnabled(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ui->setInstanceActionsEnabled(true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if(m_selectedInstance->isRunning())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            ui->actionLaunchInstance->setEnabled(true);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1882,6 +2109,7 @@ void MainWindow::instanceChanged(const QModelIndex ¤t, const QModelIndex &
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ui->instanceToolBar->setEnabled(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ui->setInstanceActionsEnabled(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        APPLICATION->settings()->set("SelectedInstance", QString());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        selectionBad();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        return;
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1910,6 +2138,7 @@ void MainWindow::selectionBad()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    statusBar()->clearMessage();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->instanceToolBar->setEnabled(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->setInstanceActionsEnabled(false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ui->renameButton->setText(tr("Rename Instance"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    updateInstanceToolIcon("grass");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				 
 |