Rev 197 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#pragma once
#include <spk.h>
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace System::Threading;
#include "DirectoryControl.h"
#include "About.h"
#include "PackageInstalled.h"
#include "GameLauncherFlags.h"
#include "FakePatchControl.h"
//TODO: remove this, move to a generic shared space
#include "..\..\SpkExplorer\src\Forms\PackageInfo.h"
#include "CheckUpdate.h"
#include "MenuBar.h"
//TODO: remove this, move to a generic shared space
#include "..\..\Creator\src\Forms\Waiting.h"
enum {MGUI_BACKGROUND_NONE, MGUI_BACKGROUND_INSTALL, MGUI_BACKGROUND_UNINSTALL, MGUI_BACKGROUND_DISABLE, MGUI_BACKGROUND_CHANGEDIR, MGUI_BACKGROUND_INSTALLBUILTIN, MGUI_BACKGROUND_CLOSEDIR};
enum {SORT_NAME, SORT_AUTHOR, SORT_VERSION, SORT_CREATED, SORT_TYPE, SORT_ENABLE, SORT_SIGNED};
#define MAXTIPS 1
#define TIPSECTION_YESNO 0
#define TIP_NONE 0
#define TIP_SHIPUNINSTALL 1
#define TIP_SHIPDISABLE 2
namespace PluginManager {
/// <summary>
/// Summary for MainGui
///
/// WARNING: If you change the name of this class, you will need to change the
/// 'Resource File Name' property for the managed resource compiler tool
/// associated with all .resx files this class depends on. Otherwise,
/// the designers will not be able to interact properly with localized
/// resources associated with this form.
/// </summary>
public ref class MainGui : public System::Windows::Forms::Form
{
public:
MainGui(CPackages *p, Utils::WStringList *list, Utils::WStringList *removed, bool advanced)
{
InitializeComponent();
// additional controls
m_pMenuBar = gcnew MenuBar(this, advanced);
m_pWait = nullptr;
m_bAdvanced = advanced;
m_iSaveGameManager = -1;
m_lTips = gcnew ArrayList();
for ( int i = 0; i < MAXTIPS; i++ )
{
STips ^t = gcnew STips;
t->iTips = 0;
m_lTips->Add(t);
this->SetTipStrings(i);
}
// set pointers
m_lAvailablePackages = NULL;
m_pPackages = p;
m_pDirList = list;
m_pRemovedDirList = removed;
m_pUpdateList = NULL;
m_pListItem = nullptr;
m_pFileErrors = new Utils::WStringList;
m_bDirLocked = false;
// default values
m_iBackgroundTask = MGUI_BACKGROUND_NONE;
m_bSortingAsc = true;
m_iSortingColumn = SORT_NAME;
m_bExperimental = m_bCheat = m_bModSelectorDetails = m_bShips = m_bDownloadable = m_bSigned = false;
m_bAutoUpdate = true;
m_bRunningBackground = false;
m_bDisplayDialog = false;
m_bDisplayMessage = false;
m_sGameArgs = "-noabout";
m_pLauncherFlags = new SGameLauncherFlags;
m_pLauncherFlags->iIgnoreJoy = 0;
m_pLauncherFlags->bNoAbout = true;
m_iSizeX = -1;
m_iSizeY = -1;
this->Text = GetProgramName(m_bAdvanced) + " " + GetVersionString();
// update the gui
this->UpdateControls();
// update the display
this->UpdateDirList(L"");
this->UpdatePackages();
// setup the events
this->SetupEventHandlers();
}
void DisplayLocked(bool inthread);
void CheckProtectedDir();
void OpenModSelecter();
void PrepareSaveGameManager()
{
// copy save games to each game dir
}
void InstallArchive()
{
if ( m_bDirLocked ) {
this->DisplayLocked(false);
return;
}
OpenFileDialog ^ofd = gcnew OpenFileDialog();
ofd->Filter = "All Supported Archives|*.zip; *.rar|Zip Archive (*.zip)|*.zip|Rar Archive (*.rar)|*.rar";
ofd->Title = "Select archive file you wish to install";
ofd->FilterIndex = 1;
ofd->RestoreDirectory = true;
ofd->Multiselect = false;
if ( ofd->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
{
m_sConvertFile = ofd->FileName;
m_pWait = gcnew Creator::Waiting("Converting: " + IO::FileInfo(m_sConvertFile).Name);
this->backgroundWorker2->RunWorkerAsync();
m_pWait->ShowDialog(this);
}
}
void OpenDirectoryControl();
void AboutDialog();
// config
void SetSize(int x, int y) { m_iSizeX = x; m_iSizeY = y; }
void SetTipStrings(int section);
void SetTips(int tip, int done)
{
if ( tip < 0 )
return;
if ( tip > (int)MAXTIPS )
return;
((STips ^)m_lTips[tip])->iTips = done;
}
void SetSaveGameManager(int i);
void SetExperimental(bool b) { m_bExperimental = b; }
void SetShips(bool b) { m_bShips = b; }
void SetOnlySigned(bool b) { m_bSigned = b; }
void SetCheat(bool b) { m_bCheat = b; }
void SetDownloadable(bool b) { m_bDownloadable = b; }
void SetModSelectorDetails(bool b) { m_bModSelectorDetails = b; }
void SetAutoUpdate(bool b) { m_bAutoUpdate = b; }
void SetIgnoreJoy(long j) { m_pLauncherFlags->iIgnoreJoy = j; }
void ForceEMP(bool b) { m_pPackages->SetForceEMP(b); }
int GetSaveGameManager() { return m_iSaveGameManager; }
bool IsModSelectorDetailsShowing() { return m_bModSelectorDetails; }
bool IsShips() { return m_bShips; }
bool IsOnlySigned() { return m_bSigned; }
bool IsExperimental() { return m_bExperimental; }
bool IsCheat() { return m_bCheat; }
bool IsDownloadable() { return m_bDownloadable; }
bool IsAutoUpdate() { return m_bAutoUpdate; }
int GetTips(int tip)
{
if ( tip < 0 || tip >= MAXTIPS )
return -1;
return ((STips ^)m_lTips[tip])->iTips;
}
int GetMaxTips() { return (int)MAXTIPS; }
long GetIgnoreJoy() { return m_pLauncherFlags->iIgnoreJoy; }
// gui updates
void UpdateDirList(const Utils::WString ¤t);
void UpdatePackages();
void UpdateControls();
bool UpdateBuiltInPackages();
void AddIconToPackages(String ^icon);
// auto update
void AutoUpdate();
System::String ^GetDownloadFile() { return m_sDownload; }
// Run
System::String ^GetRunFile() { return m_sRun; }
System::String ^GetGameArgs() { return m_sGameArgs; }
// setup functions
void SetupEventHandlers();
void StartCheckTimer();
// control functions
bool InstallPackage(System::String ^file, bool straightAway, bool builtin, bool background);
void CloseCurrentDirectory();
void ChangeDirectory(const Utils::WString &dir);
void SetGameArgs(System::String ^args) { m_sGameArgs = args; }
void AddGameArgs(System::String ^args) { m_sGameArgs += " " + args; }
bool DisplayTip(int tipsection, int tip);
void CheckUnusedShared();
bool CheckAccessRights(String ^dir);
void ClearSelectedItems();
void CheckFakePatchCompatability();
void PackageUpdates()
{
CheckUpdate ^update = gcnew CheckUpdate(m_pPackages, this->imageList1);
this->ClearSelectedItems();
if ( update->ShowDialog(this) == Windows::Forms::DialogResult::OK )
{
for ( int i = 0; i < update->GetInstallList()->Count; i++ )
this->InstallPackage(Convert::ToString(update->GetInstallList()[i]), false, false, true);
this->StartInstalling(false, true);
}
}
// external control events
void InstallEvent(System::Object ^Sender, System::EventArgs ^E);
void VanillaEvent(System::Object ^Sender, System::EventArgs ^E);
void ModifiedEvent(System::Object ^Sender, System::EventArgs ^E);
void ModSelectorEvent(System::Object ^Sender, System::EventArgs ^E);
void PackageBrowserEvent(System::Object ^Sender, System::EventArgs ^E);
void FindPackages();
void FindPackagesOnline();
void ViewFileLog();
void EditGlobalsDialog();
void EditWaresDialog();
void CommandSlotsDialog();
void FakePatchControlDialog();
void ExportPackageList();
void VerifyInstalledFiles();
CPackages *GetPackageControl() { return m_pPackages; }
protected:
/// <summary>
/// Clean up any resources being used.
/// </summary>
~MainGui()
{
if (components)
{
delete components;
}
delete m_pFileErrors;
delete m_pLauncherFlags;
if (m_lAvailablePackages)
{
m_lAvailablePackages->clear();
delete m_lAvailablePackages;
}
CLanguages::Release();
}
private:
// Events
void ClosedEvent(System::Object ^Sender, System::EventArgs ^E) { this->Close(); }
void PackageListSelected(System::Object ^Sender, System::EventArgs ^E);
void PackageListSort(System::Object ^Sender, ColumnClickEventArgs ^E);
void UninstallEvent(System::Object ^Sender, System::EventArgs ^E);
void DisableEvent(System::Object ^Sender, System::EventArgs ^E);
void ChangeDirectoryEvent(System::Object ^Sender, System::EventArgs ^E);
void Background_DoWork(System::Object ^Sender, DoWorkEventArgs ^E);
void Background_Progress(System::Object ^Sender, ProgressChangedEventArgs ^E);
void Background_Finished(System::Object ^Sender, RunWorkerCompletedEventArgs ^E) { this->Background_Finished(); }
void Background_Finished();
void CloseEvent(System::Object ^Sender, FormClosingEventArgs ^E);
void Updater_Finished(System::Object ^Sender, RunWorkerCompletedEventArgs ^E);
void Updater_DoWork(System::Object ^Sender, DoWorkEventArgs ^E);
void TimerEvent_CheckFile(System::Object ^Sender, System::EventArgs ^E);
void RunItem(System::Object ^sender, System::EventArgs ^e);
ListViewItem ^FindSelectedItem();
CBaseFile *GetFileFromItem(ListViewItem ^item);
System::Void OpenContextMenu(System::Object ^Sender, CancelEventArgs ^E);
void _DisplayPackages(CBaseFile *currentParent, ListViewGroup ^addGroup);
void UpdateRunButton();
bool EnablePackage(CBaseFile *p);
bool StartInstallingArchive(bool builtin, bool background) { return StartInstalling(builtin, background, true); }
bool StartInstalling(bool builtin, bool background) { return StartInstalling(builtin, background, false); }
bool StartInstalling(bool builtin, bool background, bool archive);
void DoInstall(bool builtin, bool frombackground);
void DoUninstall();
void DoDisable();
CBaseFile *FindPackageFromList(ListViewItem ^item);
bool StartBackground(int type);
bool StartBackground(int type, System::String ^info);
void LaunchGame();
System::Windows::Forms::DialogResult DisplayMessageBox(bool inthread, System::String ^title, System::String ^text, MessageBoxButtons buttons, MessageBoxIcon icon);
void DisableList(ArrayList ^List);
void UninstallList(ArrayList ^List);
void RunFromToolItem(ToolStripMenuItem ^item);
MenuBar ^m_pMenuBar;
CPackages *m_pPackages;
Utils::WStringList *m_pDirList;
Utils::WStringList *m_pRemovedDirList;
Utils::WStringList *m_pUpdateList;
Utils::WStringList *m_pFileErrors;
int m_iBackgroundTask;
int m_iSortingColumn;
bool m_bSortingAsc;
bool m_bSigned;
bool m_bShips;
bool m_bExperimental;
bool m_bCheat;
bool m_bDownloadable;
bool m_bModSelectorDetails;
bool m_bAutoUpdate;
bool m_bRunningBackground;
bool m_bAdvanced;
bool m_bDirLocked;
System::String ^m_sBackgroundInfo;
System::String ^m_sDownload;
System::String ^m_sRun;
System::String ^m_sGameArgs;
PackageInstalled ^m_pPi;
bool m_bDisplayDialog;
bool m_bDisplayMessage;
System::String ^m_sMessageTitle;
System::String ^m_sMessageText;
MessageBoxIcon m_messageIcon;
MessageBoxButtons m_messageButtons;
int m_iSizeX;
int m_iSizeY;
SGameLauncherFlags *m_pLauncherFlags;
ArrayList ^m_lTips;
ListViewItem ^m_pListItem;
int m_iSaveGameManager;
String ^m_sConvertFile;
Creator::Waiting ^m_pWait;
CArchiveFile *m_pConverted;
CLinkList<CBaseFile> *m_lAvailablePackages;
private:
private:
private: System::Windows::Forms::GroupBox^ GroupDir;
private: System::Windows::Forms::ComboBox^ ComboDir;
private: System::Windows::Forms::ListView^ ListPackages;
private: System::Windows::Forms::ColumnHeader^ columnHeader1;
private: System::Windows::Forms::ColumnHeader^ columnHeader2;
private: System::Windows::Forms::ColumnHeader^ columnHeader3;
private: System::Windows::Forms::ColumnHeader^ columnHeader4;
private: System::Windows::Forms::ColumnHeader^ columnHeader5;
private: System::Windows::Forms::Panel^ panel1;
private: System::Windows::Forms::Button^ ButClose;
private: System::Windows::Forms::GroupBox^ GroupPackages;
private: System::Windows::Forms::ProgressBar^ ProgressBar;
private: System::Windows::Forms::Panel^ panel2;
private: System::Windows::Forms::Button^ ButUninstall;
private: System::Windows::Forms::Button^ ButDisable;
private: System::Windows::Forms::Button^ ButInstall;
private: System::ComponentModel::BackgroundWorker^ backgroundWorker1;
private: System::Windows::Forms::RichTextBox^ TextDesc;
private: System::Windows::Forms::Panel^ PanelDisplay;
private: System::Windows::Forms::PictureBox^ PictureDisplay;
private: System::ComponentModel::BackgroundWorker^ backgroundUpdater;
private: System::Windows::Forms::Button^ ButRun;
private: System::Windows::Forms::StatusStrip^ statusStrip1;
private: System::Windows::Forms::ToolStripStatusLabel^ LabelStatus;
private: System::Windows::Forms::ContextMenuStrip^ contextMenuStrip1;
private: System::Windows::Forms::ToolStripMenuItem^ uninstallToolStripMenuItem;
private: System::Windows::Forms::ToolStripSeparator^ ContextSeperator;
private: System::Windows::Forms::ToolStripMenuItem^ ContextEnable;
private: System::Windows::Forms::ToolStripMenuItem^ ContextDisable;
private: System::Windows::Forms::ToolStripMenuItem^ ContextName;
private: System::Windows::Forms::ToolStripSeparator^ toolStripSeparator3;
private: System::Windows::Forms::ImageList^ imageList1;
private: System::Windows::Forms::ToolStripMenuItem^ UninstallSelectedContext;
private: System::Windows::Forms::ColumnHeader^ columnHeader6;
private: System::Windows::Forms::ToolStripMenuItem^ viewReadmeToolStripMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ extrasToolStripMenuItem;
private: System::Windows::Forms::ImageList^ imageList2;
private: System::Windows::Forms::ImageList^ imageList3;
private: System::Windows::Forms::ToolStripSeparator^ ContextSeperator2;
private: System::Windows::Forms::ToolStripMenuItem^ emailAuthorToolStripMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ visitForumPageToolStripMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ visitWebSiteToolStripMenuItem;
private: System::Windows::Forms::ToolStripSeparator^ toolStripSeparator2;
private: System::Windows::Forms::ToolStripMenuItem^ checkForUpdatesToolStripMenuItem;
private: System::Windows::Forms::Button^ button1;
private: System::ComponentModel::BackgroundWorker^ backgroundWorker2;
private: System::Windows::Forms::ToolStripMenuItem^ viewModSelectedToolStripMenuItem;
private: System::ComponentModel::IContainer^ components;
/// <summary>
/// Required designer variable.
/// </summary>
#pragma region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
void InitializeComponent(void)
{
this->components = (gcnew System::ComponentModel::Container());
System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(MainGui::typeid));
this->GroupDir = (gcnew System::Windows::Forms::GroupBox());
this->ComboDir = (gcnew System::Windows::Forms::ComboBox());
this->ListPackages = (gcnew System::Windows::Forms::ListView());
this->columnHeader1 = (gcnew System::Windows::Forms::ColumnHeader());
this->columnHeader2 = (gcnew System::Windows::Forms::ColumnHeader());
this->columnHeader3 = (gcnew System::Windows::Forms::ColumnHeader());
this->columnHeader4 = (gcnew System::Windows::Forms::ColumnHeader());
this->columnHeader6 = (gcnew System::Windows::Forms::ColumnHeader());
this->columnHeader5 = (gcnew System::Windows::Forms::ColumnHeader());
this->contextMenuStrip1 = (gcnew System::Windows::Forms::ContextMenuStrip(this->components));
this->ContextName = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->toolStripSeparator3 = (gcnew System::Windows::Forms::ToolStripSeparator());
this->uninstallToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->UninstallSelectedContext = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->ContextEnable = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->ContextDisable = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->ContextSeperator = (gcnew System::Windows::Forms::ToolStripSeparator());
this->viewReadmeToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->extrasToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->ContextSeperator2 = (gcnew System::Windows::Forms::ToolStripSeparator());
this->emailAuthorToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->visitForumPageToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->visitWebSiteToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->toolStripSeparator2 = (gcnew System::Windows::Forms::ToolStripSeparator());
this->checkForUpdatesToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->panel1 = (gcnew System::Windows::Forms::Panel());
this->ProgressBar = (gcnew System::Windows::Forms::ProgressBar());
this->ButRun = (gcnew System::Windows::Forms::Button());
this->ButClose = (gcnew System::Windows::Forms::Button());
this->GroupPackages = (gcnew System::Windows::Forms::GroupBox());
this->PanelDisplay = (gcnew System::Windows::Forms::Panel());
this->TextDesc = (gcnew System::Windows::Forms::RichTextBox());
this->PictureDisplay = (gcnew System::Windows::Forms::PictureBox());
this->panel2 = (gcnew System::Windows::Forms::Panel());
this->button1 = (gcnew System::Windows::Forms::Button());
this->ButUninstall = (gcnew System::Windows::Forms::Button());
this->ButDisable = (gcnew System::Windows::Forms::Button());
this->ButInstall = (gcnew System::Windows::Forms::Button());
this->backgroundWorker1 = (gcnew System::ComponentModel::BackgroundWorker());
this->backgroundUpdater = (gcnew System::ComponentModel::BackgroundWorker());
this->statusStrip1 = (gcnew System::Windows::Forms::StatusStrip());
this->LabelStatus = (gcnew System::Windows::Forms::ToolStripStatusLabel());
this->imageList1 = (gcnew System::Windows::Forms::ImageList(this->components));
this->imageList2 = (gcnew System::Windows::Forms::ImageList(this->components));
this->imageList3 = (gcnew System::Windows::Forms::ImageList(this->components));
this->backgroundWorker2 = (gcnew System::ComponentModel::BackgroundWorker());
this->viewModSelectedToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->GroupDir->SuspendLayout();
this->contextMenuStrip1->SuspendLayout();
this->panel1->SuspendLayout();
this->GroupPackages->SuspendLayout();
this->PanelDisplay->SuspendLayout();
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->PictureDisplay))->BeginInit();
this->panel2->SuspendLayout();
this->statusStrip1->SuspendLayout();
this->SuspendLayout();
//
// GroupDir
//
this->GroupDir->Controls->Add(this->ComboDir);
this->GroupDir->Dock = System::Windows::Forms::DockStyle::Top;
this->GroupDir->Location = System::Drawing::Point(0, 0);
this->GroupDir->Margin = System::Windows::Forms::Padding(4);
this->GroupDir->Name = L"GroupDir";
this->GroupDir->Padding = System::Windows::Forms::Padding(7, 6, 7, 6);
this->GroupDir->Size = System::Drawing::Size(835, 64);
this->GroupDir->TabIndex = 0;
this->GroupDir->TabStop = false;
this->GroupDir->Text = L"Current Directory";
//
// ComboDir
//
this->ComboDir->Dock = System::Windows::Forms::DockStyle::Fill;
this->ComboDir->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
this->ComboDir->FormattingEnabled = true;
this->ComboDir->Location = System::Drawing::Point(7, 21);
this->ComboDir->Margin = System::Windows::Forms::Padding(13, 12, 13, 12);
this->ComboDir->Name = L"ComboDir";
this->ComboDir->Size = System::Drawing::Size(821, 24);
this->ComboDir->TabIndex = 0;
//
// ListPackages
//
this->ListPackages->AllowDrop = true;
this->ListPackages->Columns->AddRange(gcnew cli::array< System::Windows::Forms::ColumnHeader^ >(6) {
this->columnHeader1,
this->columnHeader2, this->columnHeader3, this->columnHeader4, this->columnHeader6, this->columnHeader5
});
this->ListPackages->ContextMenuStrip = this->contextMenuStrip1;
this->ListPackages->Dock = System::Windows::Forms::DockStyle::Fill;
this->ListPackages->FullRowSelect = true;
this->ListPackages->HideSelection = false;
this->ListPackages->Location = System::Drawing::Point(4, 19);
this->ListPackages->Margin = System::Windows::Forms::Padding(4);
this->ListPackages->Name = L"ListPackages";
this->ListPackages->ShowItemToolTips = true;
this->ListPackages->Size = System::Drawing::Size(827, 480);
this->ListPackages->TabIndex = 0;
this->ListPackages->UseCompatibleStateImageBehavior = false;
this->ListPackages->View = System::Windows::Forms::View::Details;
this->ListPackages->DrawSubItem += gcnew System::Windows::Forms::DrawListViewSubItemEventHandler(this, &MainGui::ListPackages_DrawSubItem);
this->ListPackages->DragDrop += gcnew System::Windows::Forms::DragEventHandler(this, &MainGui::ListPackages_DragDrop);
this->ListPackages->DragOver += gcnew System::Windows::Forms::DragEventHandler(this, &MainGui::ListPackages_DragOver);
this->ListPackages->MouseDoubleClick += gcnew System::Windows::Forms::MouseEventHandler(this, &MainGui::ListPackages_MouseDoubleClick);
//
// columnHeader1
//
this->columnHeader1->Text = L"Package";
//
// columnHeader2
//
this->columnHeader2->Text = L"Author";
//
// columnHeader3
//
this->columnHeader3->Text = L"Version";
this->columnHeader3->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
//
// columnHeader4
//
this->columnHeader4->Text = L"Updated";
//
// columnHeader6
//
this->columnHeader6->DisplayIndex = 5;
this->columnHeader6->Text = L"Type";
//
// columnHeader5
//
this->columnHeader5->DisplayIndex = 4;
this->columnHeader5->Text = L"Enabled";
this->columnHeader5->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
//
// contextMenuStrip1
//
this->contextMenuStrip1->ImageScalingSize = System::Drawing::Size(24, 24);
this->contextMenuStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(16) {
this->ContextName,
this->toolStripSeparator3, this->uninstallToolStripMenuItem, this->UninstallSelectedContext, this->ContextEnable, this->viewModSelectedToolStripMenuItem,
this->ContextDisable, this->ContextSeperator, this->viewReadmeToolStripMenuItem, this->extrasToolStripMenuItem, this->ContextSeperator2,
this->emailAuthorToolStripMenuItem, this->visitForumPageToolStripMenuItem, this->visitWebSiteToolStripMenuItem, this->toolStripSeparator2,
this->checkForUpdatesToolStripMenuItem
});
this->contextMenuStrip1->Name = L"contextMenuStrip1";
this->contextMenuStrip1->Size = System::Drawing::Size(253, 656);
this->contextMenuStrip1->Opening += gcnew System::ComponentModel::CancelEventHandler(this, &MainGui::contextMenuStrip1_Opening);
//
// ContextName
//
this->ContextName->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"ContextName.Image")));
this->ContextName->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->ContextName->Name = L"ContextName";
this->ContextName->Size = System::Drawing::Size(252, 50);
this->ContextName->Text = L"Name";
this->ContextName->Click += gcnew System::EventHandler(this, &MainGui::ContextName_Click);
//
// toolStripSeparator3
//
this->toolStripSeparator3->Name = L"toolStripSeparator3";
this->toolStripSeparator3->Size = System::Drawing::Size(249, 6);
//
// uninstallToolStripMenuItem
//
this->uninstallToolStripMenuItem->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"uninstallToolStripMenuItem.Image")));
this->uninstallToolStripMenuItem->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->uninstallToolStripMenuItem->Name = L"uninstallToolStripMenuItem";
this->uninstallToolStripMenuItem->Size = System::Drawing::Size(252, 50);
this->uninstallToolStripMenuItem->Text = L"Uninstall";
this->uninstallToolStripMenuItem->Click += gcnew System::EventHandler(this, &MainGui::uninstallToolStripMenuItem_Click);
//
// UninstallSelectedContext
//
this->UninstallSelectedContext->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"UninstallSelectedContext.Image")));
this->UninstallSelectedContext->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->UninstallSelectedContext->Name = L"UninstallSelectedContext";
this->UninstallSelectedContext->Size = System::Drawing::Size(252, 50);
this->UninstallSelectedContext->Text = L"Uninstall Selected";
this->UninstallSelectedContext->Click += gcnew System::EventHandler(this, &MainGui::UninstallSelectedContext_Click);
//
// ContextEnable
//
this->ContextEnable->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"ContextEnable.Image")));
this->ContextEnable->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->ContextEnable->Name = L"ContextEnable";
this->ContextEnable->Size = System::Drawing::Size(252, 50);
this->ContextEnable->Text = L"Enable";
this->ContextEnable->Click += gcnew System::EventHandler(this, &MainGui::ContextEnable_Click);
//
// ContextDisable
//
this->ContextDisable->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"ContextDisable.Image")));
this->ContextDisable->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->ContextDisable->Name = L"ContextDisable";
this->ContextDisable->Size = System::Drawing::Size(252, 50);
this->ContextDisable->Text = L"Disable";
this->ContextDisable->Click += gcnew System::EventHandler(this, &MainGui::ContextDisable_Click);
//
// ContextSeperator
//
this->ContextSeperator->Name = L"ContextSeperator";
this->ContextSeperator->Size = System::Drawing::Size(249, 6);
//
// viewReadmeToolStripMenuItem
//
this->viewReadmeToolStripMenuItem->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"viewReadmeToolStripMenuItem.Image")));
this->viewReadmeToolStripMenuItem->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->viewReadmeToolStripMenuItem->Name = L"viewReadmeToolStripMenuItem";
this->viewReadmeToolStripMenuItem->Size = System::Drawing::Size(252, 50);
this->viewReadmeToolStripMenuItem->Text = L"View Readme";
//
// extrasToolStripMenuItem
//
this->extrasToolStripMenuItem->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"extrasToolStripMenuItem.Image")));
this->extrasToolStripMenuItem->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->extrasToolStripMenuItem->Name = L"extrasToolStripMenuItem";
this->extrasToolStripMenuItem->Size = System::Drawing::Size(252, 50);
this->extrasToolStripMenuItem->Text = L"Extras";
//
// ContextSeperator2
//
this->ContextSeperator2->Name = L"ContextSeperator2";
this->ContextSeperator2->Size = System::Drawing::Size(249, 6);
//
// emailAuthorToolStripMenuItem
//
this->emailAuthorToolStripMenuItem->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"emailAuthorToolStripMenuItem.Image")));
this->emailAuthorToolStripMenuItem->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->emailAuthorToolStripMenuItem->Name = L"emailAuthorToolStripMenuItem";
this->emailAuthorToolStripMenuItem->Size = System::Drawing::Size(252, 50);
this->emailAuthorToolStripMenuItem->Text = L"Email Author";
this->emailAuthorToolStripMenuItem->Click += gcnew System::EventHandler(this, &MainGui::emailAuthorToolStripMenuItem_Click);
//
// visitForumPageToolStripMenuItem
//
this->visitForumPageToolStripMenuItem->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"visitForumPageToolStripMenuItem.Image")));
this->visitForumPageToolStripMenuItem->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->visitForumPageToolStripMenuItem->Name = L"visitForumPageToolStripMenuItem";
this->visitForumPageToolStripMenuItem->Size = System::Drawing::Size(252, 50);
this->visitForumPageToolStripMenuItem->Text = L"Visit Forum Page";
this->visitForumPageToolStripMenuItem->Click += gcnew System::EventHandler(this, &MainGui::visitForumPageToolStripMenuItem_Click);
//
// visitWebSiteToolStripMenuItem
//
this->visitWebSiteToolStripMenuItem->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"visitWebSiteToolStripMenuItem.Image")));
this->visitWebSiteToolStripMenuItem->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->visitWebSiteToolStripMenuItem->Name = L"visitWebSiteToolStripMenuItem";
this->visitWebSiteToolStripMenuItem->Size = System::Drawing::Size(252, 50);
this->visitWebSiteToolStripMenuItem->Text = L"Visit Web Site";
this->visitWebSiteToolStripMenuItem->Click += gcnew System::EventHandler(this, &MainGui::visitWebSiteToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this->toolStripSeparator2->Name = L"toolStripSeparator2";
this->toolStripSeparator2->Size = System::Drawing::Size(249, 6);
//
// checkForUpdatesToolStripMenuItem
//
this->checkForUpdatesToolStripMenuItem->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"checkForUpdatesToolStripMenuItem.Image")));
this->checkForUpdatesToolStripMenuItem->ImageScaling = System::Windows::Forms::ToolStripItemImageScaling::None;
this->checkForUpdatesToolStripMenuItem->Name = L"checkForUpdatesToolStripMenuItem";
this->checkForUpdatesToolStripMenuItem->Size = System::Drawing::Size(252, 50);
this->checkForUpdatesToolStripMenuItem->Text = L"Check For Updates";
this->checkForUpdatesToolStripMenuItem->Click += gcnew System::EventHandler(this, &MainGui::checkForUpdatesToolStripMenuItem_Click);
//
// panel1
//
this->panel1->AllowDrop = true;
this->panel1->Controls->Add(this->ProgressBar);
this->panel1->Controls->Add(this->ButRun);
this->panel1->Controls->Add(this->ButClose);
this->panel1->Dock = System::Windows::Forms::DockStyle::Bottom;
this->panel1->Location = System::Drawing::Point(0, 683);
this->panel1->Margin = System::Windows::Forms::Padding(7, 12, 7, 12);
this->panel1->Name = L"panel1";
this->panel1->Size = System::Drawing::Size(835, 46);
this->panel1->TabIndex = 2;
//
// ProgressBar
//
this->ProgressBar->Dock = System::Windows::Forms::DockStyle::Fill;
this->ProgressBar->Location = System::Drawing::Point(0, 0);
this->ProgressBar->Margin = System::Windows::Forms::Padding(13, 12, 13, 12);
this->ProgressBar->MarqueeAnimationSpeed = 5;
this->ProgressBar->Name = L"ProgressBar";
this->ProgressBar->Size = System::Drawing::Size(576, 46);
this->ProgressBar->Style = System::Windows::Forms::ProgressBarStyle::Marquee;
this->ProgressBar->TabIndex = 1;
this->ProgressBar->Visible = false;
//
// ButRun
//
this->ButRun->AutoSize = true;
this->ButRun->Dock = System::Windows::Forms::DockStyle::Right;
this->ButRun->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"ButRun.Image")));
this->ButRun->Location = System::Drawing::Point(576, 0);
this->ButRun->Margin = System::Windows::Forms::Padding(4);
this->ButRun->Name = L"ButRun";
this->ButRun->Size = System::Drawing::Size(159, 46);
this->ButRun->TabIndex = 2;
this->ButRun->Text = L"Run Game";
this->ButRun->TextImageRelation = System::Windows::Forms::TextImageRelation::ImageBeforeText;
this->ButRun->UseVisualStyleBackColor = true;
this->ButRun->Click += gcnew System::EventHandler(this, &MainGui::ButRun_Click);
//
// ButClose
//
this->ButClose->Dock = System::Windows::Forms::DockStyle::Right;
this->ButClose->Location = System::Drawing::Point(735, 0);
this->ButClose->Margin = System::Windows::Forms::Padding(4);
this->ButClose->Name = L"ButClose";
this->ButClose->Size = System::Drawing::Size(100, 46);
this->ButClose->TabIndex = 0;
this->ButClose->Text = L"Close";
this->ButClose->UseVisualStyleBackColor = true;
//
// GroupPackages
//
this->GroupPackages->Controls->Add(this->ListPackages);
this->GroupPackages->Controls->Add(this->PanelDisplay);
this->GroupPackages->Controls->Add(this->panel2);
this->GroupPackages->Dock = System::Windows::Forms::DockStyle::Fill;
this->GroupPackages->Location = System::Drawing::Point(0, 64);
this->GroupPackages->Margin = System::Windows::Forms::Padding(4);
this->GroupPackages->Name = L"GroupPackages";
this->GroupPackages->Padding = System::Windows::Forms::Padding(4);
this->GroupPackages->Size = System::Drawing::Size(835, 619);
this->GroupPackages->TabIndex = 3;
this->GroupPackages->TabStop = false;
this->GroupPackages->Text = L"Installed Packages";
//
// PanelDisplay
//
this->PanelDisplay->AllowDrop = true;
this->PanelDisplay->Controls->Add(this->TextDesc);
this->PanelDisplay->Controls->Add(this->PictureDisplay);
this->PanelDisplay->Dock = System::Windows::Forms::DockStyle::Bottom;
this->PanelDisplay->Location = System::Drawing::Point(4, 499);
this->PanelDisplay->Margin = System::Windows::Forms::Padding(4);
this->PanelDisplay->Name = L"PanelDisplay";
this->PanelDisplay->Size = System::Drawing::Size(827, 84);
this->PanelDisplay->TabIndex = 2;
//
// TextDesc
//
this->TextDesc->Dock = System::Windows::Forms::DockStyle::Fill;
this->TextDesc->Location = System::Drawing::Point(96, 0);
this->TextDesc->Margin = System::Windows::Forms::Padding(4);
this->TextDesc->Name = L"TextDesc";
this->TextDesc->ReadOnly = true;
this->TextDesc->Size = System::Drawing::Size(731, 84);
this->TextDesc->TabIndex = 1;
this->TextDesc->Text = L"";
//
// PictureDisplay
//
this->PictureDisplay->Dock = System::Windows::Forms::DockStyle::Left;
this->PictureDisplay->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"PictureDisplay.Image")));
this->PictureDisplay->Location = System::Drawing::Point(0, 0);
this->PictureDisplay->Margin = System::Windows::Forms::Padding(4);
this->PictureDisplay->Name = L"PictureDisplay";
this->PictureDisplay->Size = System::Drawing::Size(96, 84);
this->PictureDisplay->SizeMode = System::Windows::Forms::PictureBoxSizeMode::StretchImage;
this->PictureDisplay->TabIndex = 2;
this->PictureDisplay->TabStop = false;
//
// panel2
//
this->panel2->AllowDrop = true;
this->panel2->Controls->Add(this->button1);
this->panel2->Controls->Add(this->ButUninstall);
this->panel2->Controls->Add(this->ButDisable);
this->panel2->Controls->Add(this->ButInstall);
this->panel2->Dock = System::Windows::Forms::DockStyle::Bottom;
this->panel2->Location = System::Drawing::Point(4, 583);
this->panel2->Margin = System::Windows::Forms::Padding(4);
this->panel2->Name = L"panel2";
this->panel2->Size = System::Drawing::Size(827, 32);
this->panel2->TabIndex = 0;
//
// button1
//
this->button1->Dock = System::Windows::Forms::DockStyle::Left;
this->button1->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"button1.Image")));
this->button1->Location = System::Drawing::Point(172, 0);
this->button1->Margin = System::Windows::Forms::Padding(4);
this->button1->Name = L"button1";
this->button1->Size = System::Drawing::Size(161, 32);
this->button1->TabIndex = 3;
this->button1->Text = L"Install Archive";
this->button1->TextImageRelation = System::Windows::Forms::TextImageRelation::ImageBeforeText;
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, &MainGui::button1_Click);
//
// ButUninstall
//
this->ButUninstall->AutoSize = true;
this->ButUninstall->Dock = System::Windows::Forms::DockStyle::Right;
this->ButUninstall->Location = System::Drawing::Point(476, 0);
this->ButUninstall->Margin = System::Windows::Forms::Padding(4);
this->ButUninstall->Name = L"ButUninstall";
this->ButUninstall->Size = System::Drawing::Size(163, 32);
this->ButUninstall->TabIndex = 2;
this->ButUninstall->Text = L"Uninstall";
this->ButUninstall->UseVisualStyleBackColor = true;
//
// ButDisable
//
this->ButDisable->AutoSize = true;
this->ButDisable->Dock = System::Windows::Forms::DockStyle::Right;
this->ButDisable->Location = System::Drawing::Point(639, 0);
this->ButDisable->Margin = System::Windows::Forms::Padding(4);
this->ButDisable->Name = L"ButDisable";
this->ButDisable->Size = System::Drawing::Size(188, 32);
this->ButDisable->TabIndex = 1;
this->ButDisable->Text = L"Disable";
this->ButDisable->UseVisualStyleBackColor = true;
//
// ButInstall
//
this->ButInstall->AutoSize = true;
this->ButInstall->Dock = System::Windows::Forms::DockStyle::Left;
this->ButInstall->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"ButInstall.Image")));
this->ButInstall->Location = System::Drawing::Point(0, 0);
this->ButInstall->Margin = System::Windows::Forms::Padding(4);
this->ButInstall->Name = L"ButInstall";
this->ButInstall->Size = System::Drawing::Size(172, 32);
this->ButInstall->TabIndex = 0;
this->ButInstall->Text = L"Install Package";
this->ButInstall->TextImageRelation = System::Windows::Forms::TextImageRelation::ImageBeforeText;
this->ButInstall->UseVisualStyleBackColor = true;
//
// statusStrip1
//
this->statusStrip1->ImageScalingSize = System::Drawing::Size(20, 20);
this->statusStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(1) { this->LabelStatus });
this->statusStrip1->Location = System::Drawing::Point(0, 729);
this->statusStrip1->Name = L"statusStrip1";
this->statusStrip1->Padding = System::Windows::Forms::Padding(1, 0, 19, 0);
this->statusStrip1->Size = System::Drawing::Size(835, 22);
this->statusStrip1->TabIndex = 5;
this->statusStrip1->Text = L"statusStrip1";
//
// LabelStatus
//
this->LabelStatus->Name = L"LabelStatus";
this->LabelStatus->Size = System::Drawing::Size(0, 17);
//
// imageList1
//
this->imageList1->ImageStream = (cli::safe_cast<System::Windows::Forms::ImageListStreamer^>(resources->GetObject(L"imageList1.ImageStream")));
this->imageList1->TransparentColor = System::Drawing::Color::Transparent;
this->imageList1->Images->SetKeyName(0, L"ship.png");
this->imageList1->Images->SetKeyName(1, L"package.png");
this->imageList1->Images->SetKeyName(2, L"fake.png");
this->imageList1->Images->SetKeyName(3, L"library.png");
this->imageList1->Images->SetKeyName(4, L"archive.png");
this->imageList1->Images->SetKeyName(5, L"tick.png");
this->imageList1->Images->SetKeyName(6, L"no.png");
//
// imageList2
//
this->imageList2->ImageStream = (cli::safe_cast<System::Windows::Forms::ImageListStreamer^>(resources->GetObject(L"imageList2.ImageStream")));
this->imageList2->TransparentColor = System::Drawing::Color::Transparent;
this->imageList2->Images->SetKeyName(0, L"application");
this->imageList2->Images->SetKeyName(1, L"exe");
this->imageList2->Images->SetKeyName(2, L"doc");
this->imageList2->Images->SetKeyName(3, L"pdf");
this->imageList2->Images->SetKeyName(4, L"xls");
this->imageList2->Images->SetKeyName(5, L"xlsx");
//
// imageList3
//
this->imageList3->ColorDepth = System::Windows::Forms::ColorDepth::Depth8Bit;
this->imageList3->ImageSize = System::Drawing::Size(16, 16);
this->imageList3->TransparentColor = System::Drawing::Color::Transparent;
//
// backgroundWorker2
//
this->backgroundWorker2->WorkerReportsProgress = true;
this->backgroundWorker2->WorkerSupportsCancellation = true;
this->backgroundWorker2->DoWork += gcnew System::ComponentModel::DoWorkEventHandler(this, &MainGui::backgroundWorker2_DoWork);
this->backgroundWorker2->RunWorkerCompleted += gcnew System::ComponentModel::RunWorkerCompletedEventHandler(this, &MainGui::backgroundWorker2_RunWorkerCompleted);
//
// viewModSelectedToolStripMenuItem
//
this->viewModSelectedToolStripMenuItem->Name = L"viewModSelectedToolStripMenuItem";
this->viewModSelectedToolStripMenuItem->Size = System::Drawing::Size(252, 50);
this->viewModSelectedToolStripMenuItem->Text = L"View Mod Selecter";
this->viewModSelectedToolStripMenuItem->Click += gcnew System::EventHandler(this, &MainGui::viewModSelectedToolStripMenuItem_Click);
//
// MainGui
//
this->AllowDrop = true;
this->AutoScaleDimensions = System::Drawing::SizeF(8, 16);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(835, 751);
this->Controls->Add(this->GroupPackages);
this->Controls->Add(this->panel1);
this->Controls->Add(this->GroupDir);
this->Controls->Add(this->statusStrip1);
this->Icon = (cli::safe_cast<System::Drawing::Icon^>(resources->GetObject(L"$this.Icon")));
this->Margin = System::Windows::Forms::Padding(4);
this->Name = L"MainGui";
this->StartPosition = System::Windows::Forms::FormStartPosition::Manual;
this->Text = L"X-Universe Plugin Manager Lite";
this->Load += gcnew System::EventHandler(this, &MainGui::MainGui_Load);
this->Shown += gcnew System::EventHandler(this, &MainGui::MainGui_Shown);
this->GroupDir->ResumeLayout(false);
this->contextMenuStrip1->ResumeLayout(false);
this->panel1->ResumeLayout(false);
this->panel1->PerformLayout();
this->GroupPackages->ResumeLayout(false);
this->PanelDisplay->ResumeLayout(false);
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->PictureDisplay))->EndInit();
this->panel2->ResumeLayout(false);
this->panel2->PerformLayout();
this->statusStrip1->ResumeLayout(false);
this->statusStrip1->PerformLayout();
this->ResumeLayout(false);
this->PerformLayout();
}
#pragma endregion
private: System::Void MainGui_Load(System::Object^ sender, System::EventArgs^ e);
private: System::Void MainGui_Shown(System::Object^ sender, System::EventArgs^ e);
private: System::Void ButRun_Click(System::Object^ sender, System::EventArgs^ e) {
this->LaunchGame();
}
private: System::Void uninstallToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
if ( m_pListItem )
{
ArrayList ^List = gcnew ArrayList();
List->Add(m_pListItem);
this->UninstallList(List);
}
}
private: System::Void ContextEnable_Click(System::Object^ sender, System::EventArgs^ e) {
if ( m_pListItem )
{
ArrayList ^List = gcnew ArrayList();
List->Add(m_pListItem);
this->DisableList(List);
}
}
private: System::Void ContextDisable_Click(System::Object^ sender, System::EventArgs^ e) {
if ( m_pListItem )
{
ArrayList ^List = gcnew ArrayList();
List->Add(m_pListItem);
this->DisableList(List);
}
}
private: System::Void ListPackages_DragOver(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e);
private: System::Void ListPackages_DragDrop(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e);
private: System::Void UninstallSelectedContext_Click(System::Object^ sender, System::EventArgs^ e) {
UninstallEvent(sender, e);
}
private: System::Void ContextName_Click(System::Object^ sender, System::EventArgs^ e) {
CBaseFile *p = this->GetFileFromItem(m_pListItem);
if ( p )
{
SpkExplorer::PackageInfo ^info = gcnew SpkExplorer::PackageInfo(p, m_pPackages->GetLanguage());
info->ShowDialog(this);
}
}
private: System::Void contextMenuStrip1_Opening(System::Object^ sender, System::ComponentModel::CancelEventArgs^ e) {
this->OpenContextMenu(sender, e);
}
private: System::Void ListPackages_MouseDoubleClick(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
ListViewItem ^item = this->FindSelectedItem();
if ( item )
{
CBaseFile *p = this->GetFileFromItem(item);
if ( p )
{
SpkExplorer::PackageInfo ^info = gcnew SpkExplorer::PackageInfo(p, m_pPackages->GetLanguage());
info->ShowDialog(this);
}
}
}
private: System::Void emailAuthorToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
this->RunFromToolItem(cli::safe_cast<ToolStripMenuItem ^>(sender));
}
private: System::Void visitForumPageToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
this->RunFromToolItem(cli::safe_cast<ToolStripMenuItem ^>(sender));
}
private: System::Void visitWebSiteToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
this->RunFromToolItem(cli::safe_cast<ToolStripMenuItem ^>(sender));
}
private: System::Void checkForUpdatesToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
if ( m_pListItem )
{
CBaseFile *p = this->GetFileFromItem(m_pListItem);
if ( p )
{
CheckUpdate ^update = gcnew CheckUpdate(m_pPackages, this->imageList1);
update->OnePackage(p);
this->ClearSelectedItems();
if ( update->ShowDialog(this) == Windows::Forms::DialogResult::OK )
{
for ( int i = 0; i < update->GetInstallList()->Count; i++ )
this->InstallPackage(Convert::ToString(update->GetInstallList()[i]), false, false, true);
this->StartInstalling(false, true);
}
}
}
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
this->InstallArchive();
}
private: System::Void backgroundWorker2_DoWork(System::Object^ sender, System::ComponentModel::DoWorkEventArgs^ e) {
m_pConverted = (CArchiveFile *)m_pPackages->createFromArchive(_WS(m_sConvertFile), true);
}
private: System::Void backgroundWorker2_RunWorkerCompleted(System::Object^ sender, System::ComponentModel::RunWorkerCompletedEventArgs^ e) {
if ( m_pWait )
{
m_pWait->Close();
delete m_pWait;
m_pWait = nullptr;
}
if ( !m_pConverted )
this->DisplayMessageBox(false, "Unable to open", "Unable to open archive file, " + m_sConvertFile, MessageBoxButtons::OK, MessageBoxIcon::Error);
else
{
bool errored = false;
int errorNum = m_pPackages->PrepareInstallPackage(m_pConverted, false, false, IC_ALL);
if ( errorNum != INSTALLCHECK_OK )
{
if ( errorNum == INSTALLCHECK_NOSHIP )
{
this->DisplayMessageBox(false, "No Ships", "Ships are not supported for " + _US(m_pPackages->getGameName()), MessageBoxButtons::OK, MessageBoxIcon::Stop);
errored = true;
}
else if ( m_pPackages->PrepareInstallPackage(m_pConverted, false, false, IC_MODIFIED) != INSTALLCHECK_OK )
{
this->DisplayMessageBox(false, "Installing", "Currently in Vanilla Mode, Package is not an Vanilla Package\n" + _US(m_pConverted->name(m_pPackages->GetLanguage())) + "\n\nSwitch to modified mode if you wish to install this package", MessageBoxButtons::OK, MessageBoxIcon::Question);
errored = true;
}
}
if ( !errored )
this->StartInstallingArchive(false, true);
}
}
private: System::Void ListPackages_DrawSubItem(System::Object^ sender, System::Windows::Forms::DrawListViewSubItemEventArgs^ e) {
if ( System::String::Compare(e->SubItem->Text, "Yes") == 0 ) {
e->DrawDefault = false;
e->DrawBackground();
Image ^img = this->imageList1->Images[this->imageList1->Images->IndexOfKey("tick.png")];
e->Graphics->DrawImage(img, e->SubItem->Bounds.Location);
e->Graphics->DrawString(e->SubItem->Text, e->SubItem->Font, gcnew SolidBrush(e->SubItem->ForeColor), (float)(e->SubItem->Bounds.Location.X + img->Width), (float)e->SubItem->Bounds.Location.Y);
}
else
e->DrawDefault = true;
}
private: System::Void viewModSelectedToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e);
};
}