OSDN Git Service

Lycheeにリネーム。
authorsirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Thu, 19 Nov 2009 13:38:21 +0000 (13:38 +0000)
committersirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Thu, 19 Nov 2009 13:38:21 +0000 (13:38 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@120 9df91469-1e22-0410-86e7-ea8537beb833

19 files changed:
src/lychee/Makefile [new file with mode: 0644]
src/lychee/cls_filedroptarget.cpp [new file with mode: 0644]
src/lychee/cls_filedroptarget.h [new file with mode: 0644]
src/lychee/cls_listctrl.cpp [new file with mode: 0644]
src/lychee/cls_listctrl.h [new file with mode: 0644]
src/lychee/dlg_make.cpp [new file with mode: 0644]
src/lychee/dlg_make.h [new file with mode: 0644]
src/lychee/dlg_process.cpp [new file with mode: 0644]
src/lychee/dlg_process.h [new file with mode: 0644]
src/lychee/frm_main.cpp [new file with mode: 0644]
src/lychee/frm_main.h [new file with mode: 0644]
src/lychee/functions.cpp [new file with mode: 0644]
src/lychee/functions.h [new file with mode: 0644]
src/lychee/lychee.cpp [new file with mode: 0644]
src/lychee/lychee.h [new file with mode: 0644]
src/lychee/lychee.vcproj [new file with mode: 0644]
src/lychee/ui/dlg_make.fbp [new file with mode: 0644]
src/lychee/ui/dlg_process.fbp [new file with mode: 0644]
src/lychee/ui/frm_main.fbp [new file with mode: 0644]

diff --git a/src/lychee/Makefile b/src/lychee/Makefile
new file mode 100644 (file)
index 0000000..4ae3246
--- /dev/null
@@ -0,0 +1,27 @@
+# Makefile.\r
+# $Id: Makefile,v 1.5 2009/08/22 13:31:54 sirakaba Exp $\r
+\r
+# Define compilers.\r
+CC = g++\r
+CPPFLAGS = -c -O3 -Wall -W `wx-config --cppflags`\r
+LDFLAGS  = -s `wx-config --libs`\r
+\r
+# Define i/o files.\r
+DIR_OBJ  = ../tmp\r
+OBJS  = frontend.o cls_filedroptarget.o cls_listctrl.o dlg_make.o dlg_process.o frm_main.o functions.o ../common/handle/TPIHandle.o\r
+OUT_EXE  = ../../bin/frontend\r
+\r
+.PHONY: all clean\r
+.SUFFIXES: .cpp .o\r
+\r
+all: $(DIR_OBJ) $(addprefix $(DIR_OBJ)/,$(OBJS))\r
+       $(CC) $(LDFLAGS) -o $(OUT_EXE) $(addprefix $(DIR_OBJ)/,$(OBJS))\r
+\r
+clean:\r
+       rm -f -r $(DIR_OBJ) $(OUT_EXE)\r
+\r
+$(DIR_OBJ):\r
+       mkdir $(DIR_OBJ)\r
+\r
+$(DIR_OBJ)/%.o: %.cpp\r
+       $(CC) $(CPPFLAGS) -o $@ $<\r
diff --git a/src/lychee/cls_filedroptarget.cpp b/src/lychee/cls_filedroptarget.cpp
new file mode 100644 (file)
index 0000000..817f10a
--- /dev/null
@@ -0,0 +1,59 @@
+/*******************************************************************************
+  TPI - flexible but useless plug-in framework.
+  Copyright (C) 2002-2009 Silky
+
+  This library is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the Free
+  Software Foundation; either version 2.1 of the License, or (at your option)
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+  for more details.
+
+  You should have received a copy of the GNU Lesser General Public License along
+  with this library; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+  $Id: cls_filedroptarget.cpp,v 1.2 2009/08/09 06:08:51 sirakaba Exp $
+*******************************************************************************/
+
+#include "frontend.h"
+
+#include "frm_main.h"
+#include "cls_filedroptarget.h"
+
+//******************************************************************************
+// myFileDropTarget
+//******************************************************************************
+
+myFileDropTarget::myFileDropTarget(MainFrame * mainFrame)
+{
+       this->mainFrame = mainFrame;
+}
+
+//******************************************************************************
+// Event handler.
+//******************************************************************************
+
+bool myFileDropTarget::OnDropFiles(wxCoord, wxCoord, const wxArrayString & asFiles)
+{
+       wxCommandEvent e;
+
+       // \8f\91\8cÉ\82É\91Î\89\9e\82µ\82Ä\82¢\82é\82©\82Ç\82¤\82©\8am\94F\81B
+       if (asFiles.Count() == 1 && this->mainFrame->LoadTPI(asFiles[0]) != -1)
+       {
+               // \8f\91\8cÉ\82ð\8aJ\82­\81B
+               this->mainFrame->fnArchive = wxFileName(asFiles[0]);
+               this->mainFrame->OnArcOpen(e);
+               return true;
+       }
+
+       // \91Î\89\9e\82µ\82Ä\82¢\82È\82¢\8fê\8d\87\82Í\8ai\94[(or\92Ç\89Á\88³\8fk)\82ð\8e\8e\82Ý\82é\81B
+       wxArrayString as = asFiles;
+       e.SetClientData(& as);
+       this->mainFrame->OnArcCreate(e);
+
+       return true;
+}
diff --git a/src/lychee/cls_filedroptarget.h b/src/lychee/cls_filedroptarget.h
new file mode 100644 (file)
index 0000000..e7f44f6
--- /dev/null
@@ -0,0 +1,43 @@
+/*******************************************************************************
+  TPI - flexible but useless plug-in framework.
+  Copyright (C) 2002-2009 Silky
+
+  This library is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the Free
+  Software Foundation; either version 2.1 of the License, or (at your option)
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+  for more details.
+
+  You should have received a copy of the GNU Lesser General Public License along
+  with this library; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+  $Id: cls_filedroptarget.h,v 1.3 2009/08/15 07:20:13 sirakaba Exp $
+*******************************************************************************/
+
+#ifndef H_LOADED_CLS_FDT
+#define H_LOADED_CLS_FDT
+
+#define wxUSE_DRAG_AND_DROP 1
+#include <wx/dnd.h>
+
+//******************************************************************************
+//    Class (myFileDropTarget)
+//******************************************************************************
+
+class myFileDropTarget: public wxFileDropTarget
+{
+public:
+       virtual bool OnDropFiles(wxCoord, wxCoord, const wxArrayString &);
+
+       myFileDropTarget(MainFrame *);
+
+private:
+       MainFrame * mainFrame;
+};
+
+#endif
diff --git a/src/lychee/cls_listctrl.cpp b/src/lychee/cls_listctrl.cpp
new file mode 100644 (file)
index 0000000..e998b74
--- /dev/null
@@ -0,0 +1,134 @@
+/*******************************************************************************\r
+  TPI - flexible but useless plug-in framework.\r
+  Copyright (C) 2002-2009 Silky\r
+\r
+  This library is free software; you can redistribute it and/or modify it under\r
+  the terms of the GNU Lesser General Public License as published by the Free\r
+  Software Foundation; either version 2.1 of the License, or (at your option)\r
+  any later version.\r
+\r
+  This library is distributed in the hope that it will be useful, but WITHOUT\r
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or \r
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License\r
+  for more details.\r
+\r
+  You should have received a copy of the GNU Lesser General Public License along\r
+  with this library; if not, write to the Free Software Foundation, Inc.,\r
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r
+\r
+  $Id: cls_listctrl.cpp,v 1.6 2009/08/23 03:00:34 sirakaba Exp $\r
+*******************************************************************************/\r
+\r
+#include "frontend.h"\r
+\r
+#include "cls_listctrl.h"\r
+#include "dlg_make.h"\r
+#include "frm_main.h"\r
+#include "functions.h"\r
+\r
+//******************************************************************************\r
+// myListCtrl\r
+//******************************************************************************\r
+\r
+IMPLEMENT_DYNAMIC_CLASS(myListCtrl, wxListView)\r
+\r
+//******************************************************************************\r
+// Event Table.\r
+//******************************************************************************\r
+\r
+BEGIN_EVENT_TABLE(myListCtrl, wxListCtrl)\r
+       // ListView\r
+       EVT_LIST_COL_CLICK(XRCID("ListView"), myListCtrl::OnColClick)\r
+END_EVENT_TABLE()\r
+\r
+//******************************************************************************\r
+// Event handler.\r
+//******************************************************************************\r
+\r
+wxString myListCtrl::OnGetItemText(long i, long column) const\r
+{\r
+       // \83\8a\83X\83g\83r\83\85\81[\82É\8d\80\96Ú\82ð\92Ç\89Á\81B\r
+       switch (column)\r
+       {\r
+       case 0:\r
+               return this->showFileInfo[i].fnFileName.GetFullName();\r
+       case 1:\r
+               return this->showFileInfo[i].llUnpackedSize.ToString();\r
+       case 2:\r
+               return this->showFileInfo[i].llPackedSize.ToString();\r
+       case 3:\r
+               return wxString::Format(wxT("%3.1f%%"), this->showFileInfo[i].wCompressRatio / 10.0);\r
+       case 4:\r
+               return this->showFileInfo[i].szMethod;\r
+       case 5:\r
+       {\r
+               wxString szTemp = wxT("---w-");\r
+               szTemp[0] = this->showFileInfo[i].dwAttribute & TPI_ATTRIBUTE_DIRECTORY ? wxT('d') : \r
+                           this->showFileInfo[i].dwAttribute & TPI_ATTRIBUTE_ARCHIVE   ? wxT('a') : wxT('-');\r
+               szTemp[1] = this->showFileInfo[i].dwAttribute & TPI_ATTRIBUTE_SYSTEM    ? wxT('s') : wxT('-');\r
+               szTemp[2] = this->showFileInfo[i].dwAttribute & TPI_ATTRIBUTE_HIDDEN    ? wxT('h') : wxT('-');\r
+               szTemp[3] = this->showFileInfo[i].dwAttribute & TPI_ATTRIBUTE_READONLY  ? wxT('r') : wxT('w');\r
+               szTemp[4] = this->showFileInfo[i].dwAttribute & TPI_ATTRIBUTE_ENCRYPTED ? wxT('g') : wxT('-');\r
+               return szTemp;\r
+       }\r
+       case 6:\r
+               return this->showFileInfo[i].tmModified.Format(wxT("%Y/%m/%d %H:%M:%S"));\r
+       case 7:\r
+               return this->showFileInfo[i].fnFileName.GetPath();\r
+       case 8:\r
+               return GetFileTypeName(this->showFileInfo[i].fnFileName);\r
+       case 9:\r
+               return this->showFileInfo[i].llFileID.ToString();\r
+       default:\r
+               return wxEmptyString;\r
+       }\r
+}\r
+\r
+int myListCtrl::OnGetItemImage(long i) const\r
+{\r
+       wxIcon icon = GetFileTypeIcon(this->showFileInfo[i].fnFileName);\r
+       g_hIconLL.Add(icon);\r
+       // wxGTK\82Å16x16\82Ì\83A\83C\83R\83\93\82ª\95\\8e¦\82Å\82«\82é\82æ\82¤\83\8a\83T\83C\83Y\82µ\82Ä\82¨\82­\81B\r
+#ifdef __WINDOWS__\r
+       return g_hIconLS.Add(icon);\r
+#else\r
+       return g_hIconLS.Add(icon.ConvertToImage().Rescale(16, 16));\r
+#endif\r
+}\r
+\r
+wxListItemAttr * myListCtrl::OnGetItemAttr(long i) const\r
+{\r
+       return this->showFileInfo[i].uDanger ? (wxListItemAttr *) & this->atDangerItem : NULL;\r
+}\r
+\r
+void myListCtrl::OnColClick(wxListEvent& e)\r
+{\r
+       g_nSortColumn = e.GetColumn();\r
+       g_fSortAscend = ! (g_nSortColumn == e.GetColumn() && g_fSortAscend);\r
+\r
+       // \83\\81[\83g\81B\r
+       this->showFileInfo.Sort(& ListCtrlCompareProc);\r
+       this->SetItemCount(this->showFileInfo.Count());\r
+       this->RefreshItems(0, this->showFileInfo.Count() - 1);\r
+}\r
+\r
+//******************************************************************************\r
+//    \8f\94\8f\88\97\9d\8aÖ\90\94\r
+//******************************************************************************\r
+\r
+#define NumCmp(member) (item1->member < item2->member) ? -1 : ((item1->member > item2->member) ? 1 : 0)\r
+\r
+int ListCtrlCompareProc(TPI_FILEINFO ** pItem1, TPI_FILEINFO ** pItem2)\r
+{\r
+       TPI_FILEINFO * item1 = * pItem1, * item2 = * pItem2;\r
+       return (g_fSortAscend ? 1 : -1) * (\r
+               g_nSortColumn == 0 ? ::wxStricmp(item1->fnFileName.GetFullName(), item2->fnFileName.GetFullName()) : // Filename\r
+               g_nSortColumn == 1 ? NumCmp(llUnpackedSize) : // Unpacked\r
+               g_nSortColumn == 2 ? NumCmp(llPackedSize) : // Packed\r
+               g_nSortColumn == 3 ? NumCmp(wCompressRatio) : // Ratio\r
+               g_nSortColumn == 6 ? NumCmp(tmModified) : // Last modified\r
+               g_nSortColumn == 7 ? ::wxStricmp(item1->fnFileName.GetPath(), item2->fnFileName.GetPath()) : // Path\r
+               g_nSortColumn == 8 ? ::wxStricmp(GetFileTypeName(item1->fnFileName), GetFileTypeName(item2->fnFileName)) : // Type\r
+               g_nSortColumn == 9 ? NumCmp(llFileID) : // No\r
+               0);\r
+}\r
diff --git a/src/lychee/cls_listctrl.h b/src/lychee/cls_listctrl.h
new file mode 100644 (file)
index 0000000..f5f0f1a
--- /dev/null
@@ -0,0 +1,48 @@
+/*******************************************************************************
+  TPI - flexible but useless plug-in framework.
+  Copyright (C) 2002-2009 Silky
+
+  This library is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the Free
+  Software Foundation; either version 2.1 of the License, or (at your option)
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+  for more details.
+
+  You should have received a copy of the GNU Lesser General Public License along
+  with this library; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+  $Id: cls_listctrl.h,v 1.3 2009/08/20 11:51:49 sirakaba Exp $
+*******************************************************************************/
+
+#ifndef H_LOADED_CLS_LC
+#define H_LOADED_CLS_LC
+
+class myListCtrl: public wxListCtrl
+{
+public:
+       virtual wxString OnGetItemText(long, long) const;
+       virtual int OnGetItemImage(long) const;
+       virtual wxListItemAttr * OnGetItemAttr(long) const;
+       void OnColClick(wxListEvent&);
+
+       ArrayTPI_FILEINFO showFileInfo;
+       wxListItemAttr atDangerItem;
+
+       myListCtrl(): wxListCtrl(){}
+       myListCtrl(wxWindow * parent, wxWindowID id, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxLC_ICON, const wxValidator & validator = wxDefaultValidator, const wxString & name = wxListCtrlNameStr): wxListCtrl(parent, id, pos, size, style, validator, name){}
+
+       DECLARE_DYNAMIC_CLASS(myListCtrl)
+    DECLARE_EVENT_TABLE()
+};
+
+int ListCtrlCompareProc(TPI_FILEINFO **, TPI_FILEINFO **);
+extern wxImageList g_hIconLL, g_hIconLS;
+extern int g_nSortColumn;
+extern bool g_fSortAscend;
+
+#endif
diff --git a/src/lychee/dlg_make.cpp b/src/lychee/dlg_make.cpp
new file mode 100644 (file)
index 0000000..afe3525
--- /dev/null
@@ -0,0 +1,310 @@
+/*******************************************************************************
+  TPI - flexible but useless plug-in framework.
+  Copyright (C) 2002-2009 Silky
+
+  This library is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the Free
+  Software Foundation; either version 2.1 of the License, or (at your option)
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+  for more details.
+
+  You should have received a copy of the GNU Lesser General Public License along
+  with this library; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+  $Id: dlg_make.cpp,v 1.15 2009/08/30 08:07:17 sirakaba Exp $
+*******************************************************************************/
+
+#include "frontend.h"
+
+#include "dlg_make.h"
+#include "frm_main.h"
+#include "functions.h"
+
+#include <wx/dirdlg.h>
+#include <wx/arrimpl.cpp>
+
+WX_DEFINE_OBJARRAY(ArrayTPI_FORMATINFO);
+
+//******************************************************************************
+// MakeDialog
+//******************************************************************************
+
+MakeDialog::MakeDialog(): wxDialog()
+{
+       this->bIsMake = true;
+}
+
+//******************************************************************************
+// Event Table.
+//******************************************************************************
+
+BEGIN_EVENT_TABLE(MakeDialog, wxDialog)
+       EVT_INIT_DIALOG(                 MakeDialog::OnInit)
+       EVT_BUTTON(XRCID("btnDefault"),  MakeDialog::OnBtnDefault)
+       EVT_BUTTON(XRCID("btnDesktop"),  MakeDialog::OnBtnDesktop)
+       EVT_BUTTON(XRCID("btnCurrent"),  MakeDialog::OnBtnCurrent)
+       EVT_BUTTON(XRCID("btnBrowse"),   MakeDialog::OnBtnBrowse)
+       EVT_BUTTON(XRCID("btnBrowseKF"), MakeDialog::OnBtnBrowseKF)
+       EVT_BUTTON(XRCID("btnOK"),       MakeDialog::OnBtnOK)
+       EVT_BUTTON(XRCID("btnCancel"),   MakeDialog::OnBtnCancel)
+       EVT_CHOICE(XRCID("chType"),      MakeDialog::OnChoice)
+       EVT_CHECKBOX(XRCID("cbUnmask"),  MakeDialog::OnCbUnmask)
+       EVT_NOTEBOOK_PAGE_CHANGED(XRCID("nbTabs"), MakeDialog::OnTabChanged)
+END_EVENT_TABLE()
+
+//******************************************************************************
+// Event handler.
+//******************************************************************************
+
+void MakeDialog::OnInit(wxInitDialogEvent&)
+{
+       // XRC\82Æ\8c\8b\82Ñ\82Â\82¯\81B
+       // "General"\83^\83u
+       this->cbDir             = XRCCTRL(* this, "cbDir",        wxComboBox);
+       this->cbFileName        = XRCCTRL(* this, "cbFileName",   wxComboBox);
+       this->cbOpenAfter       = XRCCTRL(* this, "cbOpenAfter",  wxCheckBox);
+       this->cbIgnorePath      = XRCCTRL(* this, "cbIgnorePath", wxCheckBox);
+       this->cbExitAfter       = XRCCTRL(* this, "cbExitAfter",  wxCheckBox);
+       this->chType            = XRCCTRL(* this, "chType",       wxChoice);
+       this->chDirMake         = XRCCTRL(* this, "chDirMake",    wxChoice);
+       // "Config"\83^\83u
+       this->scLevel           = XRCCTRL(* this, "scLevel",      wxSpinCtrl);
+       this->scRR              = XRCCTRL(* this, "scRR",         wxSpinCtrl);
+       this->tcPassword        = XRCCTRL(* this, "tcPassword",   wxTextCtrl);
+       this->tcKeyfile         = XRCCTRL(* this, "tcKeyfile",    wxTextCtrl);
+       this->cbSplitSize       = XRCCTRL(* this, "cbSplitSize",  wxComboBox);
+       this->cbUnmask          = XRCCTRL(* this, "cbUnmask",     wxCheckBox);
+       this->cbEncryptHeader   = XRCCTRL(* this, "cbEncryptHeader", wxCheckBox);
+       this->cbSolid           = XRCCTRL(* this, "cbSolid",      wxCheckBox);
+       this->cbMMOptimize      = XRCCTRL(* this, "cbMMOptimize", wxCheckBox);
+       this->cbMakeSFX         = XRCCTRL(* this, "cbMakeSFX",    wxCheckBox);
+       // "Comment"\83^\83u
+       this->tcComment         = XRCCTRL(* this, "tcComment",    wxTextCtrl);
+       // "Files"\83^\83u
+       this->lcFiles           = XRCCTRL(* this, "lcFiles",      wxListCtrl);
+
+       if (! this->cbDir->GetValue().IsEmpty())
+       {
+               return;
+       }
+
+       // ListCtrl\82É\97ñ\82ð\92Ç\89Á\81B
+       this->lcFiles->InsertColumn(0, wxT("Input"),  wxLIST_FORMAT_LEFT,  150);
+       this->lcFiles->InsertColumn(1, wxT("Output"), wxLIST_FORMAT_LEFT,  300);
+
+       ::wxXmlResource::Get()->Unload(FE_DIR_S_XRC wxT("dlg_make.xrc"));
+
+       // \93W\8aJ\8e\9e\82Í\8ae\8eí\83R\83\93\83g\83\8d\81[\83\8b\82Ì\8fó\91Ô\82ð\95Ï\8dX\82·\82é\81B
+       if (! this->bIsMake)
+       {
+               this->cbFileName->Disable();
+               this->chType->Disable();
+               this->chDirMake->Enable();
+               this->scLevel->Disable();
+               this->scRR->Disable();
+               this->cbSplitSize->Disable();
+               this->cbEncryptHeader->Disable();
+               this->cbSolid->Disable();
+               this->cbMMOptimize->Disable();
+               this->cbMakeSFX->Disable();
+               this->tcComment->SetEditable(false);
+
+               // \8f\89\8aú\92l\82ð\90Ý\92è\81B
+               this->cbDir->SetValue(((MainFrame *) this->GetParent())->fnArchive.GetPath());
+               this->cbFileName->SetValue(((MainFrame *) this->GetParent())->fnArchive.GetFullName());
+
+               // \93W\8aJ\90æ\82ð\97\\91ª\81B\82½\82¾\82µDTV\83X\83L\83\83\83\93\82É\8e\9e\8aÔ\82ª\82©\82©\82é\8fê\8d\87\82Í\83X\83L\83b\83v\89Â\94\\81B
+               if (this->files.Count() < 3000 || ::AskDlg(wxT("This archive contains so many files that it takes long to check Directory Traversal Vulnerability(DTV) problem. If you are sure this archive is safe, you can skip this scanning process. Do you want to scan for DTV problem?"), this) == wxYES)
+               {
+                       wxNotebookEvent e;
+                       e.SetSelection(-3);
+                       this->OnTabChanged(e);
+               }
+               return;
+       }
+
+       // \83\89\83C\83u\83\89\83\8a\82ð\8c\9f\8dõ\81B
+       TPIHandle tpi;
+       wxFileSystem fs;
+       fs.ChangePathTo(FE_DIR_B_LIB, true);
+       wxString szTPIName = fs.FindFirst(wxT("*" TPI_EXT), wxFILE);
+       while (! szTPIName.IsEmpty())
+       {
+               // \83\8d\81[\83h\81B
+               if (tpi.InitLibrary(szTPIName, wxEmptyString, 0))
+               {
+                       // \91Î\89\9e\82·\82é\8c`\8e®\96¼\82ð\8eæ\93¾\81B
+                       TPI_FORMATINFO fiInfo;
+                       if (tpi.GetFormatInformation(& fiInfo, true) == TPI_ERROR_SUCCESS)
+                       {
+                               do
+                               {
+                                       if (fiInfo.llSupportedCommand & TPI_COMMAND_ADD)
+                                       {
+                                               fiInfo.szTPIName = szTPIName;
+                                               this->afInfo.Add(fiInfo);
+                                               this->chType->Append(fiInfo.szTypeName);
+                                       }
+                               }
+                               while (tpi.GetFormatInformation(& fiInfo, false) == TPI_ERROR_SUCCESS);
+                       }
+                       tpi.FreeLibrary();
+               }
+               szTPIName = fs.FindNext();
+       }
+
+       // \82Æ\82è\82 \82¦\82¸\8dÅ\8f\89\82Ì\8c`\8e®\82É\82µ\82Ä\82¨\82­\81B
+       this->chType->SetSelection(0);
+       wxCommandEvent e;
+       e.SetInt(0);
+       this->OnChoice(e);
+}
+
+void MakeDialog::OnBtnDefault(wxCommandEvent&)
+{
+}
+
+void MakeDialog::OnBtnDesktop(wxCommandEvent&)
+{
+       wxFileName fn(wxFileName::GetHomeDir(), wxT("Desktop"));
+       this->cbDir->SetValue(fn.GetFullPath());
+}
+
+void MakeDialog::OnBtnCurrent(wxCommandEvent&)
+{
+       this->cbDir->SetValue(((MainFrame *) this->GetParent())->fnArchive.GetPath());
+}
+
+void MakeDialog::OnBtnBrowse(wxCommandEvent&)
+{
+       wxDirDialog dd(this);
+       dd.SetPath(this->cbDir->GetValue());
+       if (dd.ShowModal() == wxID_OK)
+       {
+               this->cbDir->SetValue(dd.GetPath());
+       }
+}
+
+void MakeDialog::OnBtnBrowseKF(wxCommandEvent&)
+{
+       wxFileDialog fd(this);
+       fd.SetWindowStyleFlag(wxFD_OPEN | wxFD_FILE_MUST_EXIST);
+       if (fd.ShowModal() == wxID_OK)
+       {
+               this->tcKeyfile->SetValue(fd.GetPath());
+       }
+}
+
+void MakeDialog::OnBtnOK(wxCommandEvent&)
+{
+       this->EndModal(wxID_OK);
+}
+
+void MakeDialog::OnBtnCancel(wxCommandEvent&)
+{
+       this->EndModal(wxID_CANCEL);
+}
+
+void MakeDialog::OnChoice(wxCommandEvent& e)
+{
+       TPI_FORMATINFO * fiInfo = & this->afInfo[e.GetInt()];
+       // \8c`\8e®\82ª\8ae\8eí\90Ý\92è\82É\91Î\89\9e\82µ\82Ä\82¢\82é\82©\81B
+       this->scLevel->SetRange(fiInfo->sCompressLevelMin, fiInfo->sCompressLevelMax);
+       this->scLevel->SetValue(fiInfo->sCompressLevelMax);
+       this->scLevel->Enable(fiInfo->sCompressLevelMin != fiInfo->sCompressLevelMax);
+       this->scRR->SetRange(fiInfo->sRecoveryRecordMin, fiInfo->sRecoveryRecordMax);
+       this->scRR->SetValue(fiInfo->sRecoveryRecordMin);
+       this->scRR->Enable(fiInfo->sRecoveryRecordMin != fiInfo->sRecoveryRecordMax);
+       this->cbSplitSize->Enable(fiInfo->fMultiVolume);
+       this->tcPassword->Enable(fiInfo->fEncryptPassword);
+       this->cbUnmask->Enable(fiInfo->fEncryptPassword);
+       this->tcKeyfile->Enable(fiInfo->fEncryptKeyFile);
+       this->cbEncryptHeader->Enable(fiInfo->fEncryptHeader);
+       this->cbMakeSFX->Enable(fiInfo->fSFX);
+       this->cbSolid->Enable(fiInfo->fSolid);
+       this->cbMMOptimize->Enable(fiInfo->fMMOptimize);
+       this->tcComment->Enable(fiInfo->fComment);
+}
+
+void MakeDialog::OnCbUnmask(wxCommandEvent&)
+{
+       this->tcPassword->SetWindowStyle(this->tcPassword->GetWindowStyle() & (this->cbUnmask->IsChecked() ? ~ wxTE_PASSWORD : wxTE_PASSWORD));
+       this->tcPassword->Refresh();
+}
+
+void MakeDialog::OnTabChanged(wxNotebookEvent& e)
+{
+       // "Files"\83^\83u\82Ì\82Æ\82«\82Í\8f\88\97\9d\81B
+       bool bReallyShow = e.GetSelection() == 3;
+       if (abs(e.GetSelection()) != 3)
+       {
+               return;
+       }
+
+       // "Files"\83^\83u\82ð\95\\8e¦\82·\82é\8f\89\89ñ\82©\82Ç\82¤\82©\81B
+       if (bReallyShow && this->lcFiles->GetItemCount() == 0)
+       {
+               // \83t\83@\83C\83\8b\83\8a\83X\83g\82ð\92Ç\89Á\81B
+               for (size_t i = 0; i < this->files.Count(); i++)
+               {
+                       this->lcFiles->InsertItem(i, this->files[i]);
+               }
+       }
+
+       if (bIsMake)
+       {
+               // \8ai\94[\83p\83X\82ð\90\84\91ª\81B
+               for (size_t i = 0; i < this->files.Count(); i++)
+               {
+                       if (bReallyShow)
+                       {
+                               this->lcFiles->SetItem(i, 1, this->files[i]);
+                       }
+               }
+       }
+       else
+       {
+               // \83t\83@\83C\83\8b\82Ì\8fo\97Í\90æ\82ð\90\84\91ª\81B
+               wxString szOutputRootDir = WillMakeDirByArcName((MainFrame *) this->GetParent(), this) ? MakeDirPath(wxFileName::DirName(this->cbDir->GetValue()), wxFileName(this->cbFileName->GetValue()).GetName(), false).GetPath() : this->cbDir->GetValue();
+
+               // \8ae\83t\83@\83C\83\8b\82É\83p\83X\82ð\95t\89Á\81B
+               bool fDTVWarning = false;
+               for (size_t i = 0; i < this->files.Count(); i++)
+               {
+                       wxString szOutputFile = szOutputRootDir + wxFileName::GetPathSeparator();
+                       wxFileName fnStored(this->files[i]);
+                       if (! this->cbIgnorePath->IsChecked())
+                       {
+                               szOutputFile += fnStored.GetPathWithSep();
+                       }
+                       szOutputFile += fnStored.GetFullName();
+                       wxFileName fnOutput(szOutputFile);
+                       if (! fnOutput.Normalize() || ! fnOutput.GetFullPath().StartsWith(szOutputRootDir))
+                       {
+                               fDTVWarning = true;
+                               if (bReallyShow)
+                               {
+                                       this->lcFiles->SetItemTextColour(i, * wxRED);
+                               }
+                       }
+                       if (bReallyShow)
+                       {
+                               this->lcFiles->SetItem(i, 1, fnOutput.GetFullPath());
+                       }
+               }
+
+               if (fDTVWarning && ::AskDlg(wxT("This archive may have Directory Traversal Vulnerability(DTV) problem, and some danger files may be extracted to the unexpected system directory! It is strongly recommended to ignore file path. Would you like to do so?"), this) == wxYES)
+               {
+                       this->cbIgnorePath->SetValue(true);
+                       if (bReallyShow)
+                       {
+                               this->OnTabChanged(e);
+                       }
+               }
+       }
+}
diff --git a/src/lychee/dlg_make.h b/src/lychee/dlg_make.h
new file mode 100644 (file)
index 0000000..e206a8d
--- /dev/null
@@ -0,0 +1,82 @@
+/*******************************************************************************\r
+  TPI - flexible but useless plug-in framework.\r
+  Copyright (C) 2002-2009 Silky\r
+\r
+  This library is free software; you can redistribute it and/or modify it under\r
+  the terms of the GNU Lesser General Public License as published by the Free\r
+  Software Foundation; either version 2.1 of the License, or (at your option)\r
+  any later version.\r
+\r
+  This library is distributed in the hope that it will be useful, but WITHOUT\r
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or \r
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License\r
+  for more details.\r
+\r
+  You should have received a copy of the GNU Lesser General Public License along\r
+  with this library; if not, write to the Free Software Foundation, Inc.,\r
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r
+\r
+  $Id: dlg_make.h,v 1.8 2009/08/28 12:52:38 sirakaba Exp $\r
+*******************************************************************************/\r
+\r
+#ifndef H_LOADED_DLG_MAKE\r
+#define H_LOADED_DLG_MAKE\r
+\r
+#include <wx/spinctrl.h>\r
+#include <wx/notebook.h>\r
+\r
+WX_DECLARE_OBJARRAY(TPI_FORMATINFO, ArrayTPI_FORMATINFO);\r
+\r
+//******************************************************************************\r
+//    Class (MakeDialog)\r
+//******************************************************************************\r
+\r
+class MakeDialog: public wxDialog {\r
+public:\r
+       // "General"\83^\83u\r
+    wxComboBox* cbDir;\r
+    wxComboBox* cbFileName;\r
+    wxCheckBox* cbOpenAfter;\r
+    wxCheckBox* cbIgnorePath;\r
+    wxCheckBox* cbExitAfter;\r
+       wxChoice* chType;\r
+       wxChoice* chDirMake;\r
+       // "Config"\83^\83u\r
+       wxSpinCtrl* scLevel;\r
+       wxSpinCtrl* scRR;\r
+       wxTextCtrl* tcPassword;\r
+       wxTextCtrl* tcKeyfile;\r
+    wxComboBox* cbSplitSize;\r
+    wxCheckBox* cbUnmask;\r
+    wxCheckBox* cbEncryptHeader;\r
+    wxCheckBox* cbSolid;\r
+    wxCheckBox* cbMMOptimize;\r
+       wxCheckBox* cbMakeSFX;\r
+       // "Comment"\83^\83u\r
+       wxTextCtrl* tcComment;\r
+       // "Files"\83^\83u\r
+       wxListCtrl* lcFiles;\r
+\r
+       ArrayTPI_FORMATINFO afInfo;\r
+       wxArrayString files;\r
+       bool bIsMake;\r
+\r
+       MakeDialog();\r
+\r
+       // Event handler.\r
+    void OnInit(     wxInitDialogEvent&);\r
+    void OnBtnDefault(  wxCommandEvent&);\r
+    void OnBtnDesktop(  wxCommandEvent&);\r
+    void OnBtnCurrent(  wxCommandEvent&);\r
+    void OnBtnBrowse(   wxCommandEvent&);\r
+    void OnBtnBrowseKF( wxCommandEvent&);\r
+    void OnBtnOK(       wxCommandEvent&);\r
+    void OnBtnCancel(   wxCommandEvent&);\r
+    void OnChoice(      wxCommandEvent&);\r
+    void OnCbUnmask(    wxCommandEvent&);\r
+    void OnTabChanged( wxNotebookEvent&);\r
+\r
+    DECLARE_EVENT_TABLE()\r
+};\r
+\r
+#endif\r
diff --git a/src/lychee/dlg_process.cpp b/src/lychee/dlg_process.cpp
new file mode 100644 (file)
index 0000000..0eb7477
--- /dev/null
@@ -0,0 +1,176 @@
+/*******************************************************************************
+  TPI - flexible but useless plug-in framework.
+  Copyright (C) 2002-2009 Silky
+
+  This library is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the Free
+  Software Foundation; either version 2.1 of the License, or (at your option)
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+  for more details.
+
+  You should have received a copy of the GNU Lesser General Public License along
+  with this library; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+  $Id: dlg_process.cpp,v 1.6 2009/09/01 12:20:49 sirakaba Exp $
+*******************************************************************************/
+
+#include "frontend.h"
+#include "dlg_process.h"
+
+ProcessDialog * g_procDlg = NULL;
+
+//******************************************************************************
+// ProcessDialog
+//******************************************************************************
+
+ProcessDialog::ProcessDialog(): wxDialog()
+{
+       ::wxXmlResource::Get()->Load(FE_DIR_S_XRC wxT("dlg_process.xrc"));
+       ::wxXmlResource::Get()->LoadDialog(this, this->GetParent(), wxT("dlg_process"));        
+}
+
+ProcessDialog::~ProcessDialog()
+{
+       g_procDlg = NULL;
+}
+
+//******************************************************************************
+// Event table.
+//******************************************************************************
+
+BEGIN_EVENT_TABLE(ProcessDialog, wxDialog)
+       EVT_INIT_DIALOG(ProcessDialog::OnInit)
+       EVT_CLOSE(      ProcessDialog::OnClose)
+END_EVENT_TABLE()
+
+//******************************************************************************
+// Event handler.
+//******************************************************************************
+
+void ProcessDialog::OnInit(wxInitDialogEvent &)
+{
+       // XRC\82Æ\8c\8b\82Ñ\82Â\82¯\81B
+       this->ebSource          = XRCCTRL(* this, "ebSource",     wxTextCtrl);
+       this->ebTarget          = XRCCTRL(* this, "ebTarget",     wxTextCtrl);
+       this->gauge             = XRCCTRL(* this, "gauge",        wxGauge);
+       this->fCancel           = false;
+       g_procDlg = this;
+
+       ::wxXmlResource::Get()->Unload(FE_DIR_S_XRC wxT("dlg_process.xrc"));
+}
+
+void ProcessDialog::OnClose(wxCloseEvent & e)
+{
+       if (e.CanVeto() && ::AskDlg(wxT("Really do you want to cancel this operation?"), this) == wxYES)
+       {
+               this->fCancel = true;
+       }
+       e.Veto();
+}
+
+//******************************************************************************
+//    \83_\83C\83A\83\8d\83O\83v\83\8d\83V\81[\83W\83\83
+//******************************************************************************
+
+int __stdcall TPICallbackProc(unsigned int _uMsg, void * _pStructure)
+{
+       if (_uMsg != TPI_NOTIFY_COMMON)
+       {
+               return TPI_CALLBACK_UNSUPPORTED;
+       }
+
+       TPI_PROCESSINFO * piInfo = (TPI_PROCESSINFO *) _pStructure;
+       if (g_procDlg == NULL || piInfo == NULL || ! g_procDlg->IsShown())
+       {
+               return TPI_CALLBACK_CONTINUE;
+       }
+
+       switch (piInfo->uMessage)
+       {
+       case TPI_MESSAGE_STATUS:
+       {
+               static int s_nGaugeCounter = 0;
+               switch (piInfo->uStatus)
+               {
+               case TPI_STATUS_OPENARCHIVE:
+                       g_procDlg->ebSource->ChangeValue(piInfo->fiInfo.fnFileName.GetFullPath());
+                       break;
+               case TPI_STATUS_BEGINPROCESS:
+                       g_procDlg->ebTarget->ChangeValue((piInfo->fnDestination.IsOk() ? piInfo->fnDestination : piInfo->fiInfo.fnFileName).GetFullPath());
+                       if (piInfo->fiInfo.llUnpackedSize > 10000)
+                       {
+                               g_procDlg->gauge->SetRange(piInfo->fiInfo.llUnpackedSize.ToULong());
+                               g_procDlg->gauge->SetValue(0);
+                       }
+                       ::wxSafeYield(g_procDlg, true);
+                       break;
+               case TPI_STATUS_INPROCESS:
+                       if (s_nGaugeCounter++ > 100)
+                       {
+                               if (piInfo->fiInfo.llUnpackedSize > 10000)
+                               {
+                                       g_procDlg->gauge->SetValue(piInfo->llProcessedSize.ToULong());
+                               }
+                               ::wxSafeYield(g_procDlg, true);
+                               s_nGaugeCounter = 0;
+                       }
+                       break;
+               case TPI_STATUS_ENDPROCESS:
+//                     g_procDlg->gauge->SetValue(piInfo->fiInfo.llUnpackedSize.ToULong());
+                       break;
+               // \8f\91\8cÉ\83\8d\81[\83h\8e\9e\97p\82Ì\93Æ\8e©\8ed\97l\81B
+               case 0x1000:
+                       g_procDlg->ebSource->ChangeValue(piInfo->fiInfo.fnFileName.GetFullPath());
+                       g_procDlg->gauge->SetRange(piInfo->fiInfo.llUnpackedSize.ToULong());
+                       g_procDlg->gauge->SetValue(0);
+                       break;
+               case 0x1001:
+                       // \8dX\90V\82µ\82·\82¬\82é\82Æ\92á\91¬\82È\82Ì\82Å100\83t\83@\83C\83\8b\96\88\82É\8dX\90V\82·\82é\81B
+                       if (piInfo->llProcessedSize > g_procDlg->gauge->GetValue() + 100)
+                       {
+                               g_procDlg->ebTarget->ChangeValue(piInfo->fiInfo.fnFileName.GetFullPath());
+                               g_procDlg->gauge->SetValue(piInfo->llProcessedSize.ToULong());
+                               ::wxSafeYield(g_procDlg, true);
+                       }
+                       break;
+               }
+               break;
+       }
+       case TPI_MESSAGE_ASK:
+       {
+               switch (piInfo->uStatus)
+               {
+               case TPI_PARAM_PASSWORD:
+                       piInfo->szParam = ::wxGetPasswordFromUser(wxT("Password for:\n") + piInfo->fiInfo.fnFileName.GetFullPath(), wxT("Frontend"), wxEmptyString, g_procDlg);
+                       if (piInfo->szParam.IsEmpty())
+                       {
+                               g_procDlg->fCancel = true;
+                       }
+                       break;
+               case TPI_PARAM_NEXTVOLUME:
+               {
+                       wxFileDialog fd(g_procDlg, wxT("Select next volume"));
+                       fd.SetWindowStyleFlag(wxFD_FILE_MUST_EXIST);
+                       if (fd.ShowModal() == wxID_CANCEL)
+                       {
+                               g_procDlg->fCancel = true;
+                       }
+                       piInfo->szParam = fd.GetFilename();
+                       break;
+               }
+               default:
+                       return TPI_CALLBACK_UNSUPPORTED;
+               }
+               break;
+       }
+       default:
+               return TPI_CALLBACK_UNSUPPORTED;
+       }
+
+       return g_procDlg->fCancel ? TPI_CALLBACK_CANCEL : TPI_CALLBACK_CONTINUE;
+}
diff --git a/src/lychee/dlg_process.h b/src/lychee/dlg_process.h
new file mode 100644 (file)
index 0000000..129c14f
--- /dev/null
@@ -0,0 +1,47 @@
+/*******************************************************************************
+  TPI - flexible but useless plug-in framework.
+  Copyright (C) 2002-2009 Silky
+
+  This library is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the Free
+  Software Foundation; either version 2.1 of the License, or (at your option)
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+  for more details.
+
+  You should have received a copy of the GNU Lesser General Public License along
+  with this library; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+  $Id: dlg_process.h,v 1.3 2009/08/15 07:20:13 sirakaba Exp $
+*******************************************************************************/
+
+#ifndef H_LOADED_DLG_PROCESS
+#define H_LOADED_DLG_PROCESS
+
+class ProcessDialog: public wxDialog {
+public:
+    wxTextCtrl* ebSource;
+    wxTextCtrl* ebTarget;
+    wxGauge* gauge;
+    bool fCancel;
+
+    void OnInit(wxInitDialogEvent &);
+       void OnClose(wxCloseEvent &);
+
+       ProcessDialog();
+       ~ProcessDialog();
+
+       DECLARE_EVENT_TABLE()
+};
+
+//******************************************************************************
+//    \83v\83\8d\83V\81[\83W\83\83
+//******************************************************************************
+
+int __stdcall TPICallbackProc(unsigned int, void *);
+
+#endif
diff --git a/src/lychee/frm_main.cpp b/src/lychee/frm_main.cpp
new file mode 100644 (file)
index 0000000..b6fdc12
--- /dev/null
@@ -0,0 +1,960 @@
+/*******************************************************************************
+  TPI - flexible but useless plug-in framework.
+  Copyright (C) 2002-2009 Silky
+
+  This library is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the Free
+  Software Foundation; either version 2.1 of the License, or (at your option)
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+  for more details.
+
+  You should have received a copy of the GNU Lesser General Public License along
+  with this library; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+  $Id: frm_main.cpp,v 1.42 2009/09/05 03:24:58 sirakaba Exp $
+*******************************************************************************/
+
+#include "frontend.h"
+
+#include "frm_main.h"
+#include "cls_filedroptarget.h"
+#include "dlg_make.h"
+#include "dlg_process.h"
+#include "functions.h"
+
+#include <wx/arrimpl.cpp>
+
+WX_DEFINE_OBJARRAY(ArrayTPI_FILEINFO);
+
+#define SetMenuToolState(id, state) this->toolbar->EnableTool(XRCID(id), state); this->menubar->Enable(XRCID(id), state)
+
+//******************************************************************************
+//    \83O\83\8d\81[\83o\83\8b\95Ï\90\94
+//******************************************************************************
+
+wxImageList g_hIconT(16, 16), g_hIconLL(32, 32), g_hIconLS(16, 16);
+int g_nSortColumn;
+bool g_fSortAscend;
+
+//******************************************************************************
+// MainFrame
+//******************************************************************************
+
+MainFrame::MainFrame(): wxFrame(), conf(wxEmptyString, wxEmptyString, FE_DIR_BIN wxT("frontend.conf"), wxEmptyString, wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_RELATIVE_PATH)
+{
+}
+
+MainFrame::~MainFrame()
+{
+       wxCommandEvent e;
+       this->OnArcClose(e);
+
+       // \90Ý\92è\82ð\8bL\98^\81B
+       if (! this->IsIconized() && ! this->IsMaximized())
+       {
+               int a, b;
+               this->GetSize(& a, & b);
+               this->conf.Write(wxT("Window-Width"), a);
+               this->conf.Write(wxT("Window-Height"), b);
+               this->GetPosition(& a, & b);
+               this->conf.Write(wxT("Window-X"), a);
+               this->conf.Write(wxT("Window-Y"), b);
+       }
+       this->conf.Write(wxT("Splitter-Pos"), this->window_splitter->GetSashPosition());
+
+       // \83c\81[\83\8b\83o\81[/\83X\83e\81[\83^\83X\83o\81[\8aÖ\98A\81B
+       this->conf.Write(wxT("StatusBar-Show"), this->statusbar->IsShown());
+       this->conf.Write(wxT("ToolBar-Show"),   this->toolbar->IsShown());
+
+       // ListView\8aÖ\98A\81B
+       this->conf.Write(wxT("ListView-IconMode"), this->menubar->IsChecked(XRCID("Exe_View_Icons")) ? 1 : this->menubar->IsChecked(XRCID("Exe_View_List")) ? 2 : 0);
+       if (this->menubar->IsChecked(XRCID("Exe_View_Details")))
+       {
+               this->conf.Write(wxT("ListView-C-Filename"), this->list_ctrl->GetColumnWidth(0));
+               this->conf.Write(wxT("ListView-C-Unpacked"), this->list_ctrl->GetColumnWidth(1));
+               this->conf.Write(wxT("ListView-C-Packed"), this->list_ctrl->GetColumnWidth(2));
+               this->conf.Write(wxT("ListView-C-Ratio"), this->list_ctrl->GetColumnWidth(3));
+               this->conf.Write(wxT("ListView-C-Method"), this->list_ctrl->GetColumnWidth(4));
+               this->conf.Write(wxT("ListView-C-Attr"), this->list_ctrl->GetColumnWidth(5));
+               this->conf.Write(wxT("ListView-C-Lastmodified"), this->list_ctrl->GetColumnWidth(6));
+               this->conf.Write(wxT("ListView-C-Path"), this->list_ctrl->GetColumnWidth(7));
+               this->conf.Write(wxT("ListView-C-Type"), this->list_ctrl->GetColumnWidth(8));
+               this->conf.Write(wxT("ListView-C-No"), this->list_ctrl->GetColumnWidth(9));
+               this->conf.Write(wxT("ListView-SortColumn"), g_nSortColumn);
+               this->conf.Write(wxT("ListView-SortAscend"), g_fSortAscend);
+       }
+
+       this->Close(true);
+}
+
+//******************************************************************************
+// Event Table.
+//******************************************************************************
+
+BEGIN_EVENT_TABLE(MainFrame, wxFrame)
+       EVT_INIT_DIALOG(      MainFrame::OnInit)
+       // Menu
+       EVT_MENU(XRCID("Arc_Create"),  MainFrame::OnArcCreate)
+       EVT_MENU(XRCID("Arc_Open"),    MainFrame::OnArcOpen)
+       EVT_MENU(XRCID("Arc_Close"),   MainFrame::OnArcClose)
+       EVT_MENU(XRCID("Arc_Add"),     MainFrame::OnArcAdd)
+       EVT_MENU(XRCID("Arc_SFX"),     MainFrame::OnArcConvert)
+       EVT_MENU(XRCID("Arc_UnSFX"),   MainFrame::OnArcConvert)
+       EVT_MENU(XRCID("Exe_Exit"),    MainFrame::OnExit)
+       EVT_MENU(XRCID("Arc_Extract"), MainFrame::OnArcExtract)
+       EVT_MENU(XRCID("Arc_Delete"),  MainFrame::OnArcDelete)
+       EVT_MENU(XRCID("Arc_Test"),    MainFrame::OnArcTest)
+       EVT_MENU(XRCID("Arc_Repair"),  MainFrame::OnArcRepair)
+       EVT_MENU(XRCID("Exe_View_Icons"),  MainFrame::OnViewMode)
+       EVT_MENU(XRCID("Exe_View_Details"),MainFrame::OnViewMode)
+       EVT_MENU(XRCID("Exe_View_List"),   MainFrame::OnViewMode)
+       EVT_MENU(XRCID("Exe_View_ToolBar"),MainFrame::OnShowToolBar)
+       EVT_MENU(XRCID("Exe_View_StatusBar"),MainFrame::OnShowStatusBar)
+       EVT_MENU(XRCID("Exe_View_SelectAll"),MainFrame::OnSelectAll)
+       // TreeView
+       EVT_TREE_SEL_CHANGED(XRCID("TreeView"), MainFrame::OnTreeChanged)
+       EVT_TREE_BEGIN_DRAG( XRCID("TreeView"), MainFrame::OnTreeBeginDrag)
+       // ListView
+       EVT_LIST_ITEM_ACTIVATED(XRCID("ListView"), MainFrame::OnListItemDClick)
+       EVT_LIST_BEGIN_DRAG(    XRCID("ListView"), MainFrame::OnListBeginDrag)
+       // Filter
+       EVT_TEXT(XRCID("tcFilter"), MainFrame::OnFilter)
+END_EVENT_TABLE()
+
+//******************************************************************************
+// Event handler.
+//******************************************************************************
+
+void MainFrame::OnInit(wxInitDialogEvent&)
+{
+       // XRC\82Æ\8c\8b\82Ñ\82Â\82¯\81B
+       this->menubar    = this->GetMenuBar();
+       this->toolbar    = this->GetToolBar();
+       this->statusbar = XRCCTRL(* this, "statusbar", wxStatusBar);
+       this->tree_ctrl = XRCCTRL(* this, "TreeView", wxTreeCtrl);
+       this->list_ctrl = XRCCTRL(* this, "ListView", myListCtrl);
+       this->window_splitter = XRCCTRL(* this, "window_splitter", wxSplitterWindow);
+       this->tcFilter  = XRCCTRL(* this->toolbar, "tcFilter", wxTextCtrl);
+
+       // \90Ý\92è\82ð\93Ç\82Ý\8d\9e\82Ý\81B
+       this->SetSize(this->conf.Read(wxT("Window-X"), 0l), this->conf.Read(wxT("Window-Y"), 0l), this->conf.Read(wxT("Window-Width"), 800), this->conf.Read(wxT("Window-Height"), 400));
+       wxTheMimeTypesManager->Initialize(wxMAILCAP_ALL);
+
+       // \8f\89\8aú\92l\90Ý\92è\81B
+       {
+               wxIcon icon;
+               icon.CopyFromBitmap(wxBitmap(FE_DIR_S_ICO wxT("app.png"), wxBITMAP_TYPE_ANY));
+               this->SetIcon(icon);
+       }
+       wxCommandEvent e;
+       this->OnArcClose(e);
+
+       // \83X\83v\83\8a\83b\83^\81[\90Ý\92è\81B
+       this->window_splitter->SetSashPosition(this->conf.Read(wxT("Splitter-Pos"), 200));
+
+       // \83\8a\83X\83g\83r\83\85\81[\90Ý\92è\81B
+       int nIconMode = this->conf.Read(wxT("ListView-IconMode"), 0l);
+       e.SetId(nIconMode == 1 ? XRCID("Exe_View_Icons") : (nIconMode == 2 ? XRCID("Exe_View_List") : XRCID("Exe_View_Details")));
+       this->OnViewMode(e);
+       // wxGTK\82Å\82Í\92¼\90ÚwxLC_VIRTUAL\82ð\8ew\92è\82µ\82È\82¢\82Æ\94½\89f\82³\82ê\82È\82¢\81B
+       this->list_ctrl->SetSingleStyle(wxLC_VIRTUAL);
+       this->list_ctrl->InsertColumn(0, wxT("Filename"),      wxLIST_FORMAT_LEFT,   this->conf.Read(wxT("ListView-C-Filename"), 140));
+       this->list_ctrl->InsertColumn(1, wxT("Unpacked"),      wxLIST_FORMAT_RIGHT,  this->conf.Read(wxT("ListView-C-Unpacked"), 80));
+       this->list_ctrl->InsertColumn(2, wxT("Packed"),        wxLIST_FORMAT_RIGHT,  this->conf.Read(wxT("ListView-C-Packed"), 80));
+       this->list_ctrl->InsertColumn(3, wxT("Ratio"),         wxLIST_FORMAT_RIGHT,  this->conf.Read(wxT("ListView-C-Ratio"), 50));
+       this->list_ctrl->InsertColumn(4, wxT("Method"),        wxLIST_FORMAT_LEFT,   this->conf.Read(wxT("ListView-C-Method"), 60));
+       this->list_ctrl->InsertColumn(5, wxT("Attr"),          wxLIST_FORMAT_LEFT,   this->conf.Read(wxT("ListView-C-Attr"), 50));
+       this->list_ctrl->InsertColumn(6, wxT("Last modified"), wxLIST_FORMAT_RIGHT,  this->conf.Read(wxT("ListView-C-Lastmodified"), 150));
+       this->list_ctrl->InsertColumn(7, wxT("Path"),          wxLIST_FORMAT_LEFT,   this->conf.Read(wxT("ListView-C-Path"), 100));
+       this->list_ctrl->InsertColumn(8, wxT("Type"),          wxLIST_FORMAT_LEFT,   this->conf.Read(wxT("ListView-C-Type"), 100));
+       this->list_ctrl->InsertColumn(9, wxT("No."),           wxLIST_FORMAT_RIGHT,  this->conf.Read(wxT("ListView-C-No"), 35));
+       g_nSortColumn = this->conf.Read(wxT("ListView-SortColumn"), 9);
+       g_fSortAscend = this->conf.Read(wxT("ListView-SortAscend"), 1) == 1;
+       this->list_ctrl->SetDropTarget(new myFileDropTarget(this));
+
+       // \83c\81[\83\8b\83o\81[/\83X\83e\81[\83^\83X\83o\81[\90Ý\92è\81B
+       int nStatusBarParts[] = {70, 70, 180, 50, -1};
+       this->statusbar->SetFieldsCount(5, nStatusBarParts);
+       this->SetStatusBarPane(-1);
+       bool fShow = this->conf.Read(wxT("StatusBar-Show"), 1) == 1;
+       this->menubar->Check(XRCID("Exe_View_StatusBar"), fShow);
+       this->statusbar->Show(fShow);
+       fShow = this->conf.Read(wxT("ToolBar-Show"), 1) == 1;
+       this->menubar->Check(XRCID("Exe_View_ToolBar"), fShow);
+       this->toolbar->Show(fShow);
+
+       // \83R\83}\83\93\83h\83\89\83C\83\93\93Ç\82Ý\8d\9e\82Ý\81B
+       this->cmdLine.SetSwitchChars(wxT("-"));
+       this->cmdLine.AddSwitch(wxT("x"), wxEmptyString, wxT("(command) Extract filenames in archive."));
+       this->cmdLine.AddSwitch(wxT("l"), wxEmptyString, wxT("(command) List archive(default)."));
+       this->cmdLine.AddParam(wxT("archive"),   wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL);
+       this->cmdLine.AddParam(wxT("filenames"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL | wxCMD_LINE_PARAM_MULTIPLE);
+       if (this->cmdLine.Parse() == 0)
+       {
+               if (this->cmdLine.GetParamCount() == 0)
+               {
+                       return;
+               }
+
+               // \8f\91\8cÉ\82ð\8aJ\82­\81B
+               this->fnArchive = wxFileName(this->cmdLine.GetParam(0));
+               this->fnArchive.Normalize(wxPATH_NORM_ALL, this->szCurrentPath);
+               this->OnArcOpen(e);
+               if (this->cmdLine.Found(wxT("x")))
+               {
+                       // \8f\91\8cÉ\82ð\93W\8aJ\81B
+                       this->OnArcExtract(e);
+                       this->Close(true);
+               }
+       }
+}
+
+// MenuBar
+
+void MainFrame::OnExit(wxCommandEvent&)
+{
+       this->Close(true);
+}
+
+void MainFrame::OnArcCreate(wxCommandEvent& e)
+{
+       TPI_SWITCHES swInfo;
+       swInfo.pCustomSwitches = NULL;
+
+       // \8dì\90¬\83_\83C\83A\83\8d\83O\82ð\90Ý\92è\81B
+       MakeDialog mkDlg;
+       ::wxXmlResource::Get()->Load(FE_DIR_S_XRC wxT("dlg_make.xrc"));
+       ::wxXmlResource::Get()->LoadDialog(& mkDlg, this, wxT("dlg_make"));
+
+       if (e.GetClientData() == NULL)
+       {
+               // \8f\88\97\9d\91Î\8fÛ\82Ì\83t\83@\83C\83\8b\82ð\91I\91ð\81B
+               wxFileDialog fd(this, wxT("Choose files to compress"), this->conf.Read(wxT("LastOpenPath"), ::wxGetCwd()));
+               fd.SetWindowStyleFlag(wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);
+               if (fd.ShowModal() == wxID_CANCEL)
+               {
+                       return;
+               }
+               swInfo.fnDestinationDirectory = wxFileName::DirName(fd.GetDirectory());
+               this->conf.Write(wxT("LastOpenPath"), fd.GetDirectory());
+               this->statusbar->SetStatusText(swInfo.fnDestinationDirectory.GetFullPath(), 4);
+
+               fd.GetFilenames(mkDlg.files);
+       }
+       else
+       {
+               mkDlg.files = * (wxArrayString *) e.GetClientData();
+               swInfo.fnDestinationDirectory = wxFileName::DirName(wxFileName(mkDlg.files[0]).GetPath());
+               // \91\8a\91Î\83p\83X\82É\95Ï\8a·\81B
+               for (size_t n = 0; n < mkDlg.files.Count(); n++)
+               {
+                       wxFileName fn(mkDlg.files[n]);
+                       bool fIsDir = fn.DirExists() && ! fn.FileExists();
+                       fn.MakeRelativeTo(swInfo.fnDestinationDirectory.GetPath());
+                       mkDlg.files[n] = fn.GetFullPath();
+                       if (fIsDir)
+                       {
+                               mkDlg.files[n] += fn.GetPathSeparator();
+                       }
+               }
+       }
+
+       this->OnArcClose(e);
+       mkDlg.InitDialog();
+       mkDlg.cbDir->SetValue(swInfo.fnDestinationDirectory.GetPath());
+       // \8f\91\8cÉ\96¼\82Í\83t\83@\83C\83\8b\96¼\82Ì\8ag\92£\8eq\82æ\82è\91O\81A\82à\82µ\82­\82Í\83f\83B\83\8c\83N\83g\83\8a\96¼\81B
+       this->fnArchive = wxFileName(mkDlg.files[0]);
+       this->fnArchive.SetName(mkDlg.files.GetCount() == 1 ? (this->fnArchive.GetName().IsEmpty() ? this->fnArchive.GetDirs().Last() : this->fnArchive.GetName()) : swInfo.fnDestinationDirectory.GetDirs().Last());
+       this->fnArchive.SetPath(swInfo.fnDestinationDirectory.GetPath());
+       mkDlg.cbFileName->SetValue(this->fnArchive.GetName());
+
+       // \83_\83C\83A\83\8d\83O\82ð\95\\8e¦\81B
+       if (mkDlg.ShowModal() == wxID_CANCEL)
+       {
+               this->statusbar->SetStatusText(wxEmptyString, 4);
+               return;
+       }
+       this->statusbar->SetStatusText(wxEmptyString, 4);
+
+       // \8ae\8eí\90Ý\92è\81B
+       swInfo.fStoreDirectoryPathes= ! mkDlg.cbIgnorePath->IsChecked();
+       swInfo.fMakeSFX                     = mkDlg.cbMakeSFX->IsChecked();
+       swInfo.fSolid               = mkDlg.cbSolid->IsChecked();
+       swInfo.fMMOptimize          = mkDlg.cbMMOptimize->IsChecked();
+       swInfo.fEncryptHeader       = mkDlg.cbEncryptHeader->IsChecked();
+       swInfo.sCompressLevel       = mkDlg.scLevel->GetValue();
+       swInfo.sRecoveryRecord      = mkDlg.scRR->GetValue();
+       swInfo.szPassword           = mkDlg.tcPassword->GetValue();
+       swInfo.szKeyFile            = mkDlg.tcKeyfile->GetValue();
+       swInfo.szComment            = mkDlg.tcComment->GetValue();
+       {
+               wxULongLong_t ll;
+               mkDlg.cbSplitSize->GetValue().ToULongLong(& ll);
+               swInfo.llSplitSize      = ll;
+       }
+
+       // TPI\82ð\93Ç\82Ý\8d\9e\82Ý\81B
+       int nSelected = mkDlg.chType->GetSelection();
+       this->fnArchive = wxFileName(mkDlg.cbDir->GetValue(), mkDlg.cbFileName->GetValue(), swInfo.fMakeSFX ? EXE_EXT : mkDlg.afInfo[nSelected].szSuffix.BeforeFirst(wxT(';')));
+       if (! tpi.InitLibrary(mkDlg.afInfo[nSelected].szTPIName, this->fnArchive.GetFullPath(), mkDlg.afInfo[nSelected].llTypeId))
+       {
+               ::ErrDlg(wxT("InitLibrary()!"), this);
+               return;
+       }
+
+       // \83R\81[\83\8b\83o\83b\83N\8aÖ\90\94\82ð\90Ý\92è\81B
+       if (tpi.SetCallbackProc(TPICallbackProc) != TPI_ERROR_SUCCESS)
+       {
+               ::ErrDlg(wxT("SetCallbackProc()!"), this);
+       }
+
+       // \8f\88\97\9d\82ð\8ds\82¤\81B
+       ProcessDialog procDlg;
+       procDlg.InitDialog();
+       procDlg.Show(true);
+       int nErrorCode = this->ErrorCheck(tpi.Command(TPI_COMMAND_ADD, & swInfo, this->fnArchive.GetFullPath(), mkDlg.files));
+       procDlg.Show(false);
+       tpi.FreeLibrary();
+       if (nErrorCode != TPI_ERROR_SUCCESS)
+       {
+               return;
+       }
+
+       if (mkDlg.cbOpenAfter->IsChecked())
+       {
+               // \8dì\90¬\90æ\82ð\8aJ\82­\81B
+#ifdef __WINDOWS__
+               ::wxExecute(wxT("explorer ") + swInfo.fnDestinationDirectory.GetFullPath());
+#endif
+       }
+
+       if (mkDlg.cbExitAfter->IsChecked())
+       {
+               // \8fI\97¹\81B
+               this->Close(true);
+       }
+
+       // \8fI\97¹\82µ\82È\82¢\8fê\8d\87\82Í\8f\91\8cÉ\82ð\8aJ\82­\81B
+       this->OnArcOpen(e);
+}
+
+void MainFrame::OnArcOpen(wxCommandEvent& e)
+{
+       // \8f\91\8cÉ\82ð\91I\91ð\81B
+       if (e.GetId() == XRCID("Arc_Open"))
+       {
+               wxFileDialog fd(this);
+               fd.SetDirectory(this->conf.Read(wxT("LastOpenPath"), ::wxGetCwd()));
+               fd.SetWindowStyleFlag(wxFD_OPEN | wxFD_FILE_MUST_EXIST);
+               if (fd.ShowModal() == wxID_CANCEL)
+               {
+                       return;
+               }
+               this->conf.Write(wxT("LastOpenPath"), fd.GetDirectory());
+               this->fnArchive = wxFileName(fd.GetPath());
+       }
+       this->OnArcClose(e);
+
+       // \90i\92»\83_\83C\83A\83\8d\83O\95\\8e¦\81B
+       ProcessDialog procDlg;
+       procDlg.InitDialog();
+       procDlg.Show(true);
+
+       // TPI\82ð\93Ç\82Ý\8d\9e\82Ý\81A\8dÅ\8f\89\82Ì\83R\81[\83\8b\83o\83b\83N\82ð\91\97\90M\81B
+       TPI_PROCESSINFO piInfo;
+       piInfo.uMessage = TPI_MESSAGE_STATUS;
+       piInfo.uStatus = 0x1000;
+       piInfo.llProcessedSize = 0;
+       piInfo.fiInfo.fnFileName = this->fnArchive;
+       piInfo.fiInfo.llUnpackedSize = this->LoadTPI(this->fnArchive.GetFullPath());
+       if ((signed) piInfo.fiInfo.llUnpackedSize.ToULong() == -1)
+       {
+               procDlg.Show(false);
+               tpi.FreeLibrary();
+               ::ErrDlg(wxT("No plug-in supporting this archive was found!"), this);
+               return;
+       }
+       TPICallbackProc(TPI_NOTIFY_COMMON, & piInfo);
+
+       // \94z\97ñ\82Ì\83T\83C\83Y\82ð\8am\95Û\81B
+       this->fileinfo.Alloc(piInfo.fiInfo.llUnpackedSize.ToULong());
+
+       // \8f\91\8cÉ\82ð\8aJ\82­\81B
+       if (tpi.OpenArchive(this->fnArchive.GetFullPath()) != TPI_ERROR_SUCCESS)
+       {
+               procDlg.Show(false);
+               tpi.FreeLibrary();
+               ::ErrDlg(wxT("OpenArchive()!"), this);
+               return;
+       }
+
+       // \8f\91\8cÉ\82Ì\83A\83C\83R\83\93\82ð\8eæ\93¾\82µ\81A\8f\91\8cÉ\83\8b\81[\83g\82ð\8dì\90¬\81B
+       g_hIconT.Add(wxBitmap(FE_DIR_S_ICO wxT("folder_closed.png"), wxBITMAP_TYPE_ANY));
+       g_hIconT.Add(wxBitmap(FE_DIR_S_ICO wxT("folder_open.png"), wxBITMAP_TYPE_ANY));
+       this->tree_ctrl->SetImageList(& g_hIconT);
+       wxTreeItemId
+               idRoot = this->tree_ctrl->AddRoot(wxEmptyString),
+#ifdef __WINDOWS__
+               idArchive = this->tree_ctrl->AppendItem(idRoot, piInfo.fiInfo.fnFileName.GetFullName(), g_hIconT.Add(GetFileTypeIcon(piInfo.fiInfo.fnFileName))),
+#else
+               idArchive = this->tree_ctrl->AppendItem(idRoot, piInfo.fiInfo.fnFileName.GetFullName(), g_hIconT.Add(GetFileTypeIcon(piInfo.fiInfo.fnFileName).ConvertToImage().Rescale(16, 16))),
+#endif
+               idArcRoot = this->tree_ctrl->AppendItem(idRoot, wxT("-----"), 0, 1);
+
+       // \83t\83@\83C\83\8b\8fî\95ñ\82ð\83\8d\81[\83h\81B
+       if (tpi.GetFileInformation(& piInfo.fiInfo, true) == TPI_ERROR_SUCCESS)
+       {
+               piInfo.uStatus = 0x1001;
+               do
+               {
+                       piInfo.llProcessedSize++;
+                       if (this->ErrorCheck(TPICallbackProc(TPI_NOTIFY_COMMON, & piInfo)) == TPI_CALLBACK_CANCEL)
+                       {
+                               procDlg.Show(false);
+                               tpi.CloseArchive();
+                               wxCommandEvent e;
+                               this->OnArcClose(e);
+                               return;
+                       }
+
+                       // \83c\83\8a\81[\83r\83\85\81[\82É\94½\89f\81B
+                       TreeView_CheckNewerItem(this->tree_ctrl, idArcRoot, piInfo.fiInfo.fnFileName.GetPath(), true);
+
+                       // \83f\83B\83\8c\83N\83g\83\8a\91®\90«\82ð\8aÜ\82Þ\82à\82Ì\82É\82Â\82¢\82Ä\82Í\8f\9c\8b\8e\81B
+                       if (piInfo.fiInfo.dwAttribute & TPI_ATTRIBUTE_DIRECTORY)
+                       {
+                               continue;
+                       }
+
+                       // \83Z\83L\83\85\83\8a\83e\83B\83`\83F\83b\83N\81B
+                       // DTV\8c\9f\8d¸\81B
+                       if (piInfo.fiInfo.fnFileName.GetPathWithSep().Find(wxT("..")) != wxNOT_FOUND)
+                       {
+                               piInfo.fiInfo.uDanger = TRUE;
+                               ::WrnDlg(wxT("This archive may have Directory Traversal Vulnerability(DTV) problem, and some danger files may be extracted to the unexpected system directory! You should use the \"Ignore file pathes\" option when extracting this archive.\nDanger file is:\n") + piInfo.fiInfo.szStoredName, this);
+                       }
+                       // \8bó\94\92\82Ì\98A\91±\82É\82æ\82é\8ag\92£\8eq\8bU\91\95\82ð\8c\9f\8d¸\81B
+                       if (piInfo.fiInfo.fnFileName.GetFullName().Find(wxT("        ")) != wxNOT_FOUND)
+                       {
+                               piInfo.fiInfo.uDanger = TRUE;
+                               ::WrnDlg(wxT("This archive may contain extension-disguised files whose real extension is hidden by using many blank charactor and you may mistake that it is a \"safe\" file. Don\'t execute these files carelessly.\nDanger file is:\n") + piInfo.fiInfo.szStoredName, this);
+                       }
+                       // Unicode\90§\8cä\95\8e\9a\82ð\8c\9f\8d¸\81B
+                       for (wxChar c = 0x200c; c <= 0x206f; c++)
+                       {
+                               if (piInfo.fiInfo.fnFileName.GetFullName().Find(c) != wxNOT_FOUND)
+                               {
+                                       piInfo.fiInfo.uDanger = TRUE;
+                                       ::WrnDlg(wxT("This archive may contain extension-disguised files whose real extension is hidden by using Unicode control character and you may mistake that it is a \"safe\" file. Don\'t execute these files carelessly.\nDanger file is:\n") + piInfo.fiInfo.szStoredName, this);
+                               }
+                               switch (c)
+                               {
+                               case 0x200f: c = 0x2027; break;
+                               case 0x202e: c = 0x2060; break;
+                               }
+                       }
+
+                       // \8fî\95ñ\82ð\95Û\91\82µ\82Ä\83J\83E\83\93\83g\83A\83b\83v\81B
+                       this->fileinfo.Add(piInfo.fiInfo);
+               }
+               while (tpi.GetFileInformation(& piInfo.fiInfo, false) == TPI_ERROR_SUCCESS);
+       }
+
+       // \8f\91\8cÉ\82Ì\8fî\95ñ\82ð\8eæ\93¾\81B
+       TPI_ARCHIVEINFO aiInfo;
+       if (tpi.GetArchiveInformation(& aiInfo) != TPI_ERROR_SUCCESS)
+       {
+               procDlg.Show(false);
+               tpi.FreeLibrary();
+               ::ErrDlg(wxT("GetArchiveInformation()!"), this);
+               return;
+       }
+
+       // \8f\91\8cÉ\82ð\95Â\82\82é\81B
+       if (tpi.CloseArchive() != TPI_ERROR_SUCCESS)
+       {
+               ::ErrDlg(wxT("CloseArchive()!"), this);
+       }
+
+       // \83R\81[\83\8b\83o\83b\83N\8aÖ\90\94\82ð\90Ý\92è\81B
+       if (tpi.SetCallbackProc(TPICallbackProc) != TPI_ERROR_SUCCESS)
+       {
+               ::ErrDlg(wxT("SetCallbackProc()!"), this);
+       }
+
+       // \88È\89º\81AUI\8f\88\97\9d\81B
+       this->fileinfo.Shrink();
+       this->tree_ctrl->ExpandAll();
+       this->tree_ctrl->ScrollTo(idArchive);
+       this->tree_ctrl->SelectItem(idArchive);
+       this->list_ctrl->atDangerItem.SetTextColour(* wxRED);
+
+       // \83X\83e\81[\83^\83X\83o\81[\90Ý\92è\81B
+       this->statusbar->SetStatusText(aiInfo.fiInfo.szTypeName, 0);
+       this->statusbar->SetStatusText(wxString::Format(wxT("%d file(s)"), this->fileinfo.Count()), 1);
+       this->statusbar->SetStatusText(aiInfo.llUnpackedSize.ToString() + wxT(" B -> ") + aiInfo.llPackedSize.ToString() + wxT(" B"), 2);
+       this->statusbar->SetStatusText(wxString::Format(wxT("%3.1f%%"), aiInfo.wCompressRatio / 10.0), 3);
+       this->statusbar->SetStatusText(this->fnArchive.GetFullPath(), 4);
+
+       // \83c\81[\83\8b\83o\81[\81E\83\81\83j\83\85\81[\83o\81[\90Ý\92è\81B
+       SetMenuToolState("Arc_Close",   true);
+       SetMenuToolState("Arc_Add",     (aiInfo.fiInfo.llSupportedCommand & TPI_COMMAND_ADD)    == TPI_COMMAND_ADD);
+       SetMenuToolState("Arc_SFX",     (aiInfo.fiInfo.llSupportedCommand & TPI_COMMAND_SFX)    == TPI_COMMAND_SFX   && aiInfo.nSFXType == 0);
+       SetMenuToolState("Arc_UnSFX",   (aiInfo.fiInfo.llSupportedCommand & TPI_COMMAND_UNSFX)  == TPI_COMMAND_UNSFX && aiInfo.nSFXType != 0);
+       SetMenuToolState("Arc_Extract", (aiInfo.fiInfo.llSupportedCommand & TPI_COMMAND_EXTRACT)== TPI_COMMAND_EXTRACT);
+       SetMenuToolState("Arc_Delete",  (aiInfo.fiInfo.llSupportedCommand & TPI_COMMAND_DELETE) == TPI_COMMAND_DELETE);
+       SetMenuToolState("Arc_Test",    (aiInfo.fiInfo.llSupportedCommand & TPI_COMMAND_TEST)   == TPI_COMMAND_TEST);
+       SetMenuToolState("Arc_Repair",  (aiInfo.fiInfo.llSupportedCommand & TPI_COMMAND_REPAIR) == TPI_COMMAND_REPAIR);
+
+       procDlg.Show(false);
+}
+
+void MainFrame::OnArcClose(wxCommandEvent&)
+{
+       // \83c\83\8a\81[\83r\83\85\81[\81E\83\8a\83X\83g\83r\83\85\81[\90Ý\92è\81B
+       this->tree_ctrl->DeleteAllItems();
+       this->list_ctrl->DeleteAllItems();
+       this->list_ctrl->showFileInfo.Clear();
+
+       // \83c\81[\83\8b\83o\81[\81E\83\81\83j\83\85\81[\83o\81[\90Ý\92è\81B
+       SetMenuToolState("Arc_Close",   false);
+       SetMenuToolState("Arc_Add",     false);
+       SetMenuToolState("Arc_SFX",     false);
+       SetMenuToolState("Arc_UnSFX",   false);
+       SetMenuToolState("Arc_Extract", false);
+       SetMenuToolState("Arc_Delete",  false);
+       SetMenuToolState("Arc_Test",    false);
+       SetMenuToolState("Arc_Repair",  false);
+
+       for (int i = 0; i < this->statusbar->GetFieldsCount(); i++)
+       {
+               this->statusbar->SetStatusText(wxEmptyString, i);
+       }
+       this->fileinfo.Clear();
+
+       g_hIconT.RemoveAll();
+       g_hIconLL.RemoveAll();
+       g_hIconLS.RemoveAll();
+       this->tpi.FreeLibrary();
+}
+
+void MainFrame::OnArcAdd(wxCommandEvent& e)
+{
+       // \8f\88\97\9d\91Î\8fÛ\82Ì\83t\83@\83C\83\8b\82ð\91I\91ð\81B
+       wxArrayString files;
+       wxFileDialog fd(this, wxT("Choose files to add"), this->conf.Read(wxT("LastOpenPath"), ::wxGetCwd()));
+       fd.SetWindowStyleFlag(wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);
+       if (fd.ShowModal() == wxID_CANCEL)
+       {
+               return;
+       }
+       fd.GetFilenames(files);
+       this->conf.Write(wxT("LastOpenPath"), fd.GetDirectory());
+
+       // \8ae\8eí\90Ý\92è\81B
+       TPI_SWITCHES swInfo;
+       swInfo.fnDestinationDirectory = wxFileName::DirName(fd.GetDirectory());
+       swInfo.fMakeSFX = false;
+       swInfo.pCustomSwitches = NULL;
+
+       ProcessDialog procDlg;
+       procDlg.InitDialog();
+       procDlg.Show(true);
+       this->ErrorCheck(this->tpi.Command(TPI_COMMAND_ADD, & swInfo, this->fnArchive.GetFullPath(), files));
+       procDlg.Show(false);
+
+       // \8f\91\8cÉ\82ð\8dÄ\93Ç\82Ý\8d\9e\82Ý\81B
+       this->OnArcOpen(e);
+}
+
+void MainFrame::OnArcConvert(wxCommandEvent& e)
+{
+       TPI_SWITCHES swInfo;
+       swInfo.fMakeSFX = e.GetId() == XRCID("Arc_SFX");
+
+       // \95Û\91\90æ\82ð\90q\82Ë\82é\81B
+       wxFileDialog fd(this, swInfo.fMakeSFX ? wxT("Save as SFX") : wxT("Save as normal archive"), this->fnArchive.GetPath(), this->fnArchive.GetName() + (swInfo.fMakeSFX ? EXE_EXT : (wxString) wxEmptyString));
+       fd.SetWindowStyleFlag(wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
+       if (fd.ShowModal() == wxID_CANCEL)
+       {
+               return;
+       }
+       swInfo.fnDestinationDirectory = wxFileName::DirName(fd.GetDirectory());
+       this->conf.Write(wxT("LastOpenPath"), fd.GetDirectory());
+
+       wxArrayString files;
+       files.Add(fd.GetPath());
+
+       ProcessDialog procDlg;
+       procDlg.InitDialog();
+       procDlg.Show(true);
+       this->ErrorCheck(this->tpi.Command(swInfo.fMakeSFX ? TPI_COMMAND_SFX : TPI_COMMAND_UNSFX, & swInfo, this->fnArchive.GetFullPath(), files));
+       procDlg.Show(false);
+}
+
+void MainFrame::OnArcExtract(wxCommandEvent& e)
+{
+       TPI_SWITCHES swInfo;
+       swInfo.pCustomSwitches = NULL;
+
+       // \83\82\81[\83h\8eæ\93¾\81B\92Ê\8fí\82Í0, \8eÀ\8ds\82È\82ç1, \83t\83@\83C\83\8bDnD\82È\82ç2\81A\83f\83B\83\8c\83N\83g\83\8aDnD\82È\82ç3\81B
+       int nMode = e.GetInt();
+       // \8eÀ\8ds\8e\9e\82Ì\82Ý\8eg\97p\81B
+       wxFileType * ftFile = NULL;
+
+       // \93W\8aJ\83_\83C\83A\83\8d\83O\82ð\8dì\90¬\81BDnD\82Ü\82½\82Í\8eÀ\8ds\8e\9e\82Í\95\\8e¦\82µ\82È\82¢\81B
+       MakeDialog mkDlg;
+       ::wxXmlResource::Get()->Load(FE_DIR_S_XRC wxT("dlg_make.xrc"));
+       ::wxXmlResource::Get()->LoadDialog(& mkDlg, this, wxT("dlg_make"));
+       mkDlg.bIsMake = false;
+       mkDlg.files   = MakeTargetFileList(this, nMode == 1);
+
+       if (nMode != 0)
+       {
+               if (nMode == 1)
+               {
+                       // \83R\83}\83\93\83h\82ð\8eæ\93¾\81B
+                       ftFile = wxTheMimeTypesManager->GetFileTypeFromExtension(wxFileName(mkDlg.files[0]).GetExt());
+                       if (! ftFile)
+                       {
+                               // \8eí\97Þ\82ª\8eæ\93¾\82Å\82«\82È\82¢\82Æ\82«\82Í\90Ý\92è\82ð\93Ç\82Ý\8d\9e\82Þ\81B\8f\89\8aú\90Ý\92è\82Å\82Í\83e\83L\83X\83g\82Æ\82Ý\82È\82·\81B
+                               ftFile = wxTheMimeTypesManager->GetFileTypeFromExtension(this->conf.Read(wxT("DefaultExt"), wxT("txt")));
+                               if (! ftFile)
+                               {
+                                       ::ErrDlg(wxT("Unable to get the file type!"), this);
+                                       return;
+                               }
+                       }
+               }
+
+               // \8dì\8bÆ\83f\83B\83\8c\83N\83g\83\8a\8dì\90¬\81B
+               swInfo.fStoreDirectoryPathes = false;
+               wxString szDestDirBase = nMode == 3 ? this->tree_ctrl->GetItemText(this->tree_ctrl->GetSelection()) : wxT("tpi_tmp");
+               if (szDestDirBase == wxT("-----"))
+               {
+                       // \8f\91\8cÉ\83\8b\81[\83g\82Ì\82Æ\82«\82Í\8f\91\8cÉ\96¼\82É\82µ\82Ä\82¨\82­\81B
+                       szDestDirBase = this->fnArchive.GetName();
+               }
+               swInfo.fnDestinationDirectory = MakeDirPath(wxFileName::DirName(::wxGetCwd()), szDestDirBase, true);
+               if (! swInfo.fnDestinationDirectory.IsOk())
+               {
+                       ::ErrDlg(wxT("Unable to make the temporary directory!"), this);
+                       return;
+               }
+       }
+       else
+       {
+               mkDlg.InitDialog();
+               if (mkDlg.ShowModal() == wxID_CANCEL)
+               {
+                       return;
+               }
+
+               // \8ae\8eí\90Ý\92è\81B
+               swInfo.fStoreDirectoryPathes = ! mkDlg.cbIgnorePath->IsChecked();
+               swInfo.fnDestinationDirectory = wxFileName::DirName(mkDlg.cbDir->GetValue());
+               swInfo.szPassword = mkDlg.tcPassword->GetValue();
+               swInfo.szKeyFile  = mkDlg.tcKeyfile->GetValue();
+
+               // \95K\97v\82È\82ç\8f\91\8cÉ\96¼\82Å\83f\83B\83\8c\83N\83g\83\8a\82ð\8dì\90¬\82·\82é\81B
+               if (WillMakeDirByArcName(this, & mkDlg))
+               {
+                       swInfo.fnDestinationDirectory = MakeDirPath(swInfo.fnDestinationDirectory, this->fnArchive.GetName(), true);
+                       if (! swInfo.fnDestinationDirectory.IsOk())
+                       {
+                               ::ErrDlg(wxT("Unable to make the destination directory!"), this);
+                               return;
+                       }
+               }
+       }
+
+       ProcessDialog procDlg;
+       procDlg.InitDialog();
+       procDlg.Show(true);
+       int nErrorCode = this->ErrorCheck(this->tpi.Command(TPI_COMMAND_EXTRACT, & swInfo, this->fnArchive.GetFullPath(), mkDlg.files));
+       procDlg.Show(false);
+
+       if (nMode == 0)
+       {
+               if (mkDlg.cbOpenAfter->IsChecked())
+               {
+                       // \93W\8aJ\90æ\82ð\8aJ\82­\81B
+#ifdef __WINDOWS__
+                       ::wxExecute(wxT("explorer ") + swInfo.fnDestinationDirectory.GetFullPath());
+#endif
+               }
+
+               if (mkDlg.cbExitAfter->IsChecked())
+               {
+                       // \8fI\97¹\81B
+                       this->Close(true);
+               }
+       }
+       else
+       {
+               wxArrayString asFiles;
+               if (nMode == 1)
+               {
+                       // \83R\83}\83\93\83h\82ð\8eÀ\8ds\81B
+                       asFiles.Add(swInfo.fnDestinationDirectory.GetPathWithSep() + wxFileName(mkDlg.files[0]).GetFullName());
+                       if (nErrorCode == TPI_ERROR_SUCCESS)
+                       {
+                               ::wxExecute(ftFile->GetOpenCommand(asFiles[0]), wxEXEC_SYNC);
+                       }
+               }
+               else
+               {
+                       // \93W\8aJ\91Î\8fÛ\82ð\8c\88\92è\81B
+                       wxFileDataObject objFile;
+                       for (size_t i = 0; i < mkDlg.files.Count(); i++)
+                       {
+                               wxString szFileName = swInfo.fnDestinationDirectory.GetPathWithSep() + wxFileName(mkDlg.files[i]).GetFullName();
+                               if (nMode == 2)
+                               {
+                                       // \83\8a\83X\83g\82É\92Ç\89Á\81B
+                                       objFile.AddFile(szFileName);
+                               }
+                               asFiles.Add(szFileName);
+                       }
+                       if (nMode == 3)
+                       {
+                               objFile.AddFile(swInfo.fnDestinationDirectory.GetPath());
+                       }
+
+                       // DnD\8aJ\8en\81B
+                       wxDropSource dropSource(objFile, this);
+                       if (dropSource.DoDragDrop() != wxDragMove)
+                       {
+#ifdef __LINUX__
+                               // Linux\82Å\82Í\82Ü\82¾\8f\88\97\9d\82ª\8fI\82í\82Á\82Ä\82¢\82È\82¢(\83R\83\93\83e\83L\83X\83g\83\81\83j\83\85\81[\82ª\95\\8e¦\82³\82ê\82Ä\82¢\82é)\82Ì\82Å\81A\82Æ\82è\82 \82¦\82¸3\95b\82¾\82¯\91Ò\82Â\81B
+                               sleep(3);
+#endif
+                       }
+               }
+
+               // \83t\83@\83C\83\8b\82Æ\88ê\8e\9e\83f\83B\83\8c\83N\83g\83\8a\82ð\8dí\8f\9c\81B
+               for (size_t i = 0; i < asFiles.GetCount(); i++)
+               {
+                       ::wxRemoveFile(asFiles[i]);
+               }
+               ::wxRmdir(swInfo.fnDestinationDirectory.GetFullPath());
+       }
+}
+
+void MainFrame::OnArcDelete(wxCommandEvent& e)
+{
+       // \91S\83t\83@\83C\83\8b\8dí\8f\9c\82Í\8aë\8c¯\82Å\82Í\82È\82¢\82©\82Æ\81B
+       if (this->list_ctrl->GetSelectedItemCount() == 0)
+       {
+               return;
+       }
+
+       if (::AskDlg(wxT("Are you sure to delete selected files?"), this) == wxNO)
+       {
+               return;
+       }
+
+       // \8ae\8eí\90Ý\92è\81B
+       TPI_SWITCHES swInfo;
+       wxArrayString files = MakeTargetFileList(this, false);
+
+       ProcessDialog procDlg;
+       procDlg.InitDialog();
+       procDlg.Show(true);
+       this->ErrorCheck(this->tpi.Command(TPI_COMMAND_DELETE, & swInfo, this->fnArchive.GetFullPath(), files));
+       procDlg.Show(false);    
+
+       // \8f\91\8cÉ\82ð\8dÄ\93Ç\82Ý\8d\9e\82Ý\82·\82é\81B
+       this->OnArcOpen(e);
+}
+
+void MainFrame::OnArcTest(wxCommandEvent&)
+{
+       // \8ae\8eí\90Ý\92è\81B
+       wxArrayString files = MakeTargetFileList(this, false);
+       TPI_SWITCHES swInfo;
+
+       ProcessDialog procDlg;
+       procDlg.InitDialog();
+       procDlg.Show(true);
+       if (this->ErrorCheck(this->tpi.Command(TPI_COMMAND_TEST, & swInfo, this->fnArchive.GetFullPath(), files)) == TPI_ERROR_SUCCESS)
+       {
+               ::MsgDlg(wxT("This is a correct archive."), & procDlg, wxICON_INFORMATION);
+       }
+       procDlg.Show(false);
+}
+
+void MainFrame::OnArcRepair(wxCommandEvent&)
+{
+       // \8ae\8eí\90Ý\92è\81B
+       wxArrayString files = MakeTargetFileList(this, false);
+       TPI_SWITCHES swInfo;
+
+       ProcessDialog procDlg;
+       procDlg.InitDialog();
+       procDlg.Show(true);
+       this->ErrorCheck(this->tpi.Command(TPI_COMMAND_REPAIR, & swInfo, this->fnArchive.GetFullPath(), files));
+       procDlg.Show(false);    
+}
+
+void MainFrame::OnViewMode(wxCommandEvent & e)
+{
+       int n = e.GetId();
+       this->menubar->Check(n, true);
+       this->list_ctrl->SetSingleStyle(wxLC_REPORT, n == XRCID("Exe_View_Details"));
+       this->list_ctrl->SetSingleStyle(wxLC_ICON,   n == XRCID("Exe_View_Icons"));
+       this->list_ctrl->SetSingleStyle(wxLC_LIST,   n == XRCID("Exe_View_List"));
+}
+
+void MainFrame::OnShowToolBar(wxCommandEvent & e)
+{
+       this->toolbar->Show(e.IsChecked());
+}
+
+void MainFrame::OnShowStatusBar(wxCommandEvent & e)
+{
+       this->statusbar->Show(e.IsChecked());
+}
+
+void MainFrame::OnSelectAll(wxCommandEvent &)
+{
+       for (int i = 0; i < this->list_ctrl->GetItemCount(); i++)
+       {
+               this->list_ctrl->SetItemState(i, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
+       }
+}
+
+// TreeView
+
+void MainFrame::OnTreeChanged(wxTreeEvent& e)
+{
+       // \83c\83\8a\81[\83r\83\85\81[\82©\82ç\83p\83X\82ð\8eæ\93¾\81B
+       wxString szNodePath = TreeView_GetItemPath(this->tree_ctrl, e.GetItem());
+       // \83\8a\83X\83g\83r\83\85\81[\82ð\8f\89\8aú\89»\81B
+       this->list_ctrl->showFileInfo.Clear();
+       g_hIconLL.RemoveAll();
+       g_hIconLS.RemoveAll();
+
+       // \83A\83C\83R\83\93\90Ý\92è\81B
+       this->list_ctrl->SetImageList(& g_hIconLL, wxIMAGE_LIST_NORMAL);
+       this->list_ctrl->SetImageList(& g_hIconLS, wxIMAGE_LIST_SMALL);
+
+       // \94z\97ñ\82Æ\94ä\8ar\82µ\81A\83p\83X\82ª\88ê\92v\82µ\82È\82¯\82ê\82Î\8fÁ\82·\81B
+       for (size_t i = 0; i < this->fileinfo.GetCount(); i++)
+       {
+               // \83p\83X\82ð\94ä\8ar\81B
+               if (szNodePath == wxT("*") || szNodePath == this->fileinfo[i].fnFileName.GetPath())
+               {
+                       // \8d\80\96Ú\82ª\83t\83H\83\8b\83_\82Å\82 \82é\82È\82ç\96³\8e\8b\81B
+                       if (this->fileinfo[i].fnFileName.IsDir() || ! TreeView_CheckNewerItem(this->tree_ctrl, this->tree_ctrl->GetLastChild(this->tree_ctrl->GetRootItem()), this->fileinfo[i].fnFileName.GetFullPath(), false))
+                       {
+                               continue;
+                       }
+
+                       // \83t\83B\83\8b\83^\82É\82©\82©\82ç\82È\82¯\82ê\82Î\96³\8e\8b\81B
+                       if (this->fileinfo[i].fnFileName.GetFullName().MakeLower().Find(this->tcFilter->GetValue().MakeLower()) == wxNOT_FOUND)
+                       {
+                               continue;
+                       }
+
+                       this->list_ctrl->showFileInfo.Add(this->fileinfo[i]);
+               }
+       }
+
+       // \83\\81[\83g\82µ\82Ä\95\\8e¦\81B
+       this->list_ctrl->showFileInfo.Sort(& ListCtrlCompareProc);
+       this->list_ctrl->SetItemCount(this->list_ctrl->showFileInfo.Count());
+}
+
+void MainFrame::OnTreeBeginDrag(wxTreeEvent& e)
+{
+       // TODO : \83A\83C\83e\83\80\82ª\8eq\8aK\91w\82ð\8e\9d\82Á\82Ä\82¢\82Ä\82à\93W\8aJ\82Å\82«\82È\82¢\81B
+       this->tree_ctrl->SelectItem(e.GetItem());
+       for (int i = 0; i < this->list_ctrl->GetItemCount(); i++)
+       {
+               this->list_ctrl->SetItemState(i, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
+       }
+
+       wxCommandEvent e1;
+       e1.SetInt(3);
+       this->OnArcExtract(e1);
+}
+
+// ListView
+
+void MainFrame::OnListItemDClick(wxListEvent&)
+{
+       wxCommandEvent e;
+       e.SetInt(1);
+       this->OnArcExtract(e);
+}
+
+void MainFrame::OnListBeginDrag(wxListEvent&)
+{
+       if (this->list_ctrl->GetSelectedItemCount() == 0)
+       {
+               // \83A\83C\83e\83\80\82ð\91I\91ð\82¹\82¸\83h\83\89\83b\83O\82µ\82æ\82¤\82Æ\82µ\82½\8fê\8d\87\81B
+               return;
+       }
+
+       wxCommandEvent e;
+       e.SetInt(2);
+       this->OnArcExtract(e);
+}
+
+// Filter
+
+void MainFrame::OnFilter(wxCommandEvent&)
+{
+       wxTreeEvent e;
+       e.SetItem(this->tree_ctrl->GetSelection());
+       this->OnTreeChanged(e);
+}
+
+// \83C\83x\83\93\83g\83n\83\93\83h\83\89\88È\8aO\81B
+
+int MainFrame::LoadTPI(wxString szFileName)
+{
+       // TPI\82ð\93Ç\82Ý\8d\9e\82Ý\81B
+       wxFileSystem fs;
+       fs.ChangePathTo(FE_DIR_B_LIB, true);
+       wxString szTPIName = fs.FindFirst(wxT("*" TPI_EXT), wxFILE);
+       int nFileCount = -1;
+       while (! szTPIName.IsEmpty())
+       {
+               // \91Î\89\9e\8am\94F\81B
+               if (! tpi.InitLibrary(szTPIName, szFileName, 0) || tpi.CheckArchive(szFileName, & nFileCount) != TPI_ERROR_SUCCESS || nFileCount < 0)
+               {
+                       tpi.FreeLibrary();
+                       szTPIName = fs.FindNext();
+                       continue;
+               }
+               break;
+       }
+       return nFileCount;
+}
+
+int MainFrame::ErrorCheck(int nErrorCode)
+{
+       switch (nErrorCode)
+       {
+       case TPI_ERROR_SUCCESS:
+       case TPI_CALLBACK_CONTINUE:
+               break;
+       case TPI_ERROR_D_UNSUPPORTED:
+               ::ErrDlg(wxT("Sorry, this function is not supported yet."), this);
+               break;
+       case TPI_ERROR_D_SKIPPED:
+       case TPI_CALLBACK_CANCEL:
+               ::ErrDlg(wxT("This operation is canceled by the user."), this);
+               break;
+       default:
+               ::ErrDlg(wxT("Error code is ") + wxString::Format(wxT("%d."), nErrorCode), this);
+       }
+       return nErrorCode;
+}
diff --git a/src/lychee/frm_main.h b/src/lychee/frm_main.h
new file mode 100644 (file)
index 0000000..e577ee2
--- /dev/null
@@ -0,0 +1,85 @@
+/*******************************************************************************
+  TPI - flexible but useless plug-in framework.
+  Copyright (C) 2002-2009 Silky
+
+  This library is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the Free
+  Software Foundation; either version 2.1 of the License, or (at your option)
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+  for more details.
+
+  You should have received a copy of the GNU Lesser General Public License along
+  with this library; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+  $Id: frm_main.h,v 1.10 2009/08/30 09:28:27 sirakaba Exp $
+*******************************************************************************/
+
+#include <wx/cmdline.h>
+#include <wx/splitter.h>
+#include <wx/fileconf.h>
+
+#ifndef H_LOADED_FRM_MAIN
+#define H_LOADED_FRM_MAIN
+
+class MainFrame: public wxFrame {
+public:
+    wxStatusBar* statusbar;
+    wxTreeCtrl* tree_ctrl;
+    myListCtrl* list_ctrl;
+       ArrayTPI_FILEINFO fileinfo;
+       TPIHandle tpi;
+       wxString szCurrentPath;
+       wxCmdLineParser cmdLine;
+       wxFileName fnArchive;
+
+    // Event handler.
+    void OnInit(    wxInitDialogEvent&);
+
+       void OnExit(       wxCommandEvent&);
+    void OnArcCreate(  wxCommandEvent&);
+    void OnArcOpen(    wxCommandEvent&);
+    void OnArcClose(   wxCommandEvent&);
+    void OnArcAdd(     wxCommandEvent&);
+    void OnArcConvert( wxCommandEvent&);
+
+       void OnArcExtract( wxCommandEvent&);
+    void OnArcDelete(  wxCommandEvent&);
+    void OnArcTest(    wxCommandEvent&);
+    void OnArcRepair(  wxCommandEvent&);
+
+       void OnViewMode(wxCommandEvent&);
+
+       void OnShowToolBar(  wxCommandEvent&);
+       void OnShowStatusBar(wxCommandEvent&);
+
+       void OnSelectAll(wxCommandEvent&);
+
+       void OnTreeChanged(wxTreeEvent&);
+       void OnTreeBeginDrag(wxTreeEvent&);
+
+       void OnListItemDClick(wxListEvent&);
+    void OnListBeginDrag( wxListEvent&);
+
+       void OnFilter(wxCommandEvent&);
+
+       int LoadTPI(wxString);
+       int ErrorCheck(int);
+
+       MainFrame();
+       ~MainFrame();
+
+protected:
+    wxMenuBar* menubar;
+    wxToolBar* toolbar;
+    wxSplitterWindow* window_splitter;
+    wxTextCtrl * tcFilter;
+       wxFileConfig conf;
+    DECLARE_EVENT_TABLE()
+};
+
+#endif
diff --git a/src/lychee/functions.cpp b/src/lychee/functions.cpp
new file mode 100644 (file)
index 0000000..2fc6a5f
--- /dev/null
@@ -0,0 +1,255 @@
+/*******************************************************************************\r
+  TPI - flexible but useless plug-in framework.\r
+  Copyright (C) 2002-2009 Silky\r
+\r
+  This library is free software; you can redistribute it and/or modify it under\r
+  the terms of the GNU Lesser General Public License as published by the Free\r
+  Software Foundation; either version 2.1 of the License, or (at your option)\r
+  any later version.\r
+\r
+  This library is distributed in the hope that it will be useful, but WITHOUT\r
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or \r
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License\r
+  for more details.\r
+\r
+  You should have received a copy of the GNU Lesser General Public License along\r
+  with this library; if not, write to the Free Software Foundation, Inc.,\r
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r
+\r
+  $Id: functions.cpp,v 1.17 2009/09/02 11:18:49 sirakaba Exp $\r
+*******************************************************************************/\r
+\r
+//******************************************************************************\r
+//    \83t\83@\83C\83\8b\93Ç\82Ý\8d\9e\82Ý\r
+//******************************************************************************\r
+\r
+#include "frontend.h"\r
+#include "frm_main.h"\r
+#include "dlg_make.h"\r
+#include "functions.h"\r
+\r
+//******************************************************************************\r
+//    \83R\83\93\83g\83\8d\81[\83\8b\8f\88\97\9d\8cn\8aÖ\90\94\r
+//******************************************************************************\r
+\r
+bool TreeView_CheckNewerItem(wxTreeCtrl * tree_ctrl, wxTreeItemId idParent, const wxString & szDirPath, bool bReallyMake)\r
+{\r
+       // \8dÅ\8f\89\82Ì\8eq\83A\83C\83e\83\80\82ð\8eæ\93¾\81B\r
+       wxTreeItemIdValue idv;\r
+       wxTreeItemId idChild = tree_ctrl->GetFirstChild(idParent, idv);\r
+       wxChar cSep = wxFileName::GetPathSeparator();\r
+       while (idChild.IsOk())\r
+       {\r
+               // \83A\83C\83e\83\80\82Æ\96¼\91O\82ª\93¯\82\82È\82çOK\81B\r
+               if (tree_ctrl->GetItemText(idChild) == szDirPath.BeforeFirst(cSep))\r
+               {\r
+                       // \82±\82ê\88È\89º\82Ì\8aK\91w\82ª\96³\82¢\8fê\8d\87\81B\r
+                       if (szDirPath.Find(cSep) == wxNOT_FOUND)\r
+                       {\r
+                               return bReallyMake;\r
+                       }\r
+\r
+                       // \82Ü\82¾\8aK\91w\82ª\97L\82é\8fê\8d\87\81A\8dÄ\8bA\81B\r
+                       return TreeView_CheckNewerItem(tree_ctrl, idChild, szDirPath.AfterFirst(cSep), bReallyMake);\r
+               }\r
+\r
+               idChild = tree_ctrl->GetNextSibling(idChild);\r
+       }\r
+\r
+       // \91Î\8fÛ\82ª\96³\82¢\8fê\8d\87\82É\82Í\8dì\90¬\81B\r
+       if (! szDirPath.IsEmpty())\r
+       {\r
+               if (! bReallyMake)\r
+               {\r
+                       // \8am\94F\82·\82é\82¾\82¯\82È\82ç\82±\82±\82Å\8fI\97¹\81B\r
+                       return true;\r
+               }\r
+\r
+               // 2\8aK\91w\88È\8fã\90[\82¢\8fê\8d\87\82É\82à\91Î\89\9e\81B\r
+               wxString szTemp = szDirPath;\r
+               wxTreeItemId idTemp = idParent;\r
+               do\r
+               {\r
+                       // \93W\8aJ\82µ\82Ä\82©\82ç\8dì\90¬\81B\r
+                       idTemp = tree_ctrl->AppendItem(idTemp, szTemp.BeforeFirst(cSep), 0, 1);\r
+                       szTemp = szTemp.AfterFirst(cSep);\r
+               }\r
+               while (szTemp.Find(cSep) != wxNOT_FOUND);\r
+\r
+               // \8dÅ\8cã\82É\8bó\82Å\82È\82¢\8fê\8d\87\82É\82Í\82à\82¤1\8aK\91w\8dì\90¬\81B\r
+               if (! szTemp.IsEmpty())\r
+               {\r
+                       tree_ctrl->AppendItem(idTemp, szTemp, 0, 1);\r
+               }\r
+       }\r
+\r
+       return false;\r
+}\r
+\r
+wxString TreeView_GetItemPath(wxTreeCtrl * tree_ctrl, wxTreeItemId idItem)\r
+{\r
+       wxString szItemName, szNodePath = wxEmptyString;\r
+       wxChar cSep = wxFileName::GetPathSeparator();\r
+\r
+       // \83A\83C\83e\83\80\82Ì\96¼\91O\82ð\8eæ\93¾\81B\r
+       while ((szItemName = tree_ctrl->GetItemText(idItem)))\r
+       {\r
+               if (szItemName == wxT("-----"))\r
+               {\r
+                       break;\r
+               }\r
+\r
+               // \83p\83X\82É\92Ç\89Á\81B\r
+               szNodePath = szItemName + cSep + szNodePath;\r
+\r
+               // \90e\83A\83C\83e\83\80\82É\91k\82é\81B\r
+               idItem = tree_ctrl->GetItemParent(idItem);\r
+               if (idItem == tree_ctrl->GetRootItem())\r
+               {\r
+                       // \82±\82±\82É\82­\82é\82Ì\82Í\8f\91\8cÉ\93à\91S\95\\8e¦\8e\9e\81B\r
+                       szNodePath = wxT("*");\r
+                       break;\r
+               }\r
+       }\r
+\r
+       return (szNodePath.Find(cSep) == wxNOT_FOUND) ? szNodePath : szNodePath.BeforeLast(cSep);\r
+}\r
+\r
+//******************************************************************************\r
+//    \8f\94\8f\88\97\9d\8aÖ\90\94\r
+//******************************************************************************\r
+\r
+// \83f\83B\83\8c\83N\83g\83\8a\82ð\90V\8bK\82É\8dì\90¬\81B\r
+wxFileName MakeDirPath(wxFileName fnPath, wxString szBase, bool bAct)\r
+{\r
+       // \82Æ\82è\82 \82¦\82¸\8dì\82Á\82Ä\82Ý\82é\81B\r
+       wxFileName fnDir = fnPath;\r
+       fnDir.AppendDir(szBase);\r
+       if (! fnDir.DirExists() && ! ::wxFileExists(fnDir.GetPath()))\r
+       {\r
+               if (! bAct || fnDir.Mkdir())\r
+               {\r
+                       return fnDir;\r
+               }\r
+       }\r
+\r
+       // \83_\83\81\82È\82ç"_%d"\82ð\95t\89Á\82µ\82Ä\8e\8e\8ds\81B\r
+       for (int i = 0; i < 255; i++)\r
+       {\r
+               fnDir = fnPath;\r
+               fnDir.AppendDir(szBase + wxString::Format(wxT("_%d"), i));\r
+               if (! fnDir.DirExists() && ! ::wxFileExists(fnDir.GetPath()))\r
+               {\r
+                       if (! bAct || fnDir.Mkdir())\r
+                       {\r
+                               return fnDir;\r
+                       }\r
+               }\r
+       }\r
+\r
+       // \83G\83\89\81[\8fI\97¹\81B\r
+       fnDir.Clear();\r
+       return fnDir;\r
+}\r
+\r
+wxArrayString MakeTargetFileList(MainFrame * frm, bool fOnlyOneFile)\r
+{\r
+       wxArrayString as;\r
+       for (int i = 0; i < frm->list_ctrl->GetItemCount(); i++)\r
+       {\r
+               if (((as.GetCount() < (unsigned) frm->list_ctrl->GetSelectedItemCount()) && (frm->list_ctrl->GetItemState(i, wxLIST_STATE_SELECTED) & wxLIST_STATE_SELECTED)) || frm->list_ctrl->GetSelectedItemCount() == 0)\r
+               {\r
+                       as.Add(frm->list_ctrl->showFileInfo[i].szStoredName);\r
+                       if (fOnlyOneFile)\r
+                       {\r
+                               return as;\r
+                       }\r
+               }\r
+       }\r
+\r
+       return as;\r
+}\r
+\r
+bool WillMakeDirByArcName(MainFrame * frm, MakeDialog * mk)\r
+{\r
+       if (mk->chDirMake->GetSelection() != 2)\r
+       {\r
+               return mk->chDirMake->GetSelection() == 1;\r
+       }\r
+\r
+       // \83\8b\81[\83g\82É\83f\83B\83\8c\83N\83g\83\8a\82Æ\83t\83@\83C\83\8b\8d\87\82í\82¹\82Ä2\8cÂ\88È\8fã\82 \82é\82Æ\82«\81A\83f\83B\83\8c\83N\83g\83\8a\82ð\8dì\90¬\81B\r
+       wxTreeItemId tiArcRoot = frm->tree_ctrl->GetLastChild(frm->tree_ctrl->GetRootItem());\r
+       switch (frm->tree_ctrl->GetChildrenCount(tiArcRoot, false))\r
+       {\r
+       case 0:\r
+       {\r
+               // \83f\83B\83\8c\83N\83g\83\8a\82ª\82È\82¢\82Ì\82Å\81A\83\8b\81[\83g\82É\83t\83@\83C\83\8b\82ª2\8cÂ\88È\8fã\82 \82é\82©\82Ç\82¤\82©\82ð\94»\92è\81B\r
+               bool fFlag = false;\r
+               for (size_t i = 0; i < frm->fileinfo.GetCount(); i++)\r
+               {\r
+                       if (frm->fileinfo[i].fnFileName.GetPath().IsEmpty())\r
+                       {\r
+                               // \83t\83@\83C\83\8b\82Í\83\8b\81[\83g\82É\82 \82é\81B\r
+                               if (fFlag)\r
+                               {\r
+                                       return true;\r
+                               }\r
+\r
+                               fFlag = true;\r
+                       }\r
+               }\r
+               break;\r
+       }\r
+       case 1:\r
+               // \83f\83B\83\8c\83N\83g\83\8a\82ª1\8cÂ\82È\82Ì\82Å\81A\83\8b\81[\83g\82É\83t\83@\83C\83\8b\82ª\82È\82¢\82©\82Ç\82¤\82©\82ð\94»\92è\81B\r
+               for (size_t i = 0; i < frm->fileinfo.GetCount(); i++)\r
+               {\r
+                       // \83f\83B\83\8c\83N\83g\83\8a\83\81\83\93\83o\82ª\8ai\94[\82³\82ê\82Ä\82¢\82é\8fê\8d\87\82É\82Í\81A\82»\82Ì\96¼\91O\82ª\83c\83\8a\81[\83r\83\85\81[\82Ì\83A\83C\83e\83\80\96¼\82É\88ê\92v\82µ\82½\8fê\8d\87\82Í\83J\83E\83\93\83g\82µ\82È\82¢\81B\r
+                       if (frm->fileinfo[i].fnFileName.GetPath().IsEmpty() && frm->fileinfo[i].fnFileName.GetFullName() != frm->tree_ctrl->GetItemText(frm->tree_ctrl->GetLastChild(tiArcRoot)))\r
+                       {\r
+                               return true;\r
+                       }\r
+               }\r
+               break;\r
+       default:\r
+               // \83f\83B\83\8c\83N\83g\83\8a\82¾\82¯\82Å2\8cÂ\88È\8fã\82 \82é\82Ì\82Å\81A\8e©\93®\93I\82É\93W\8aJ\90æ\83f\83B\83\8c\83N\83g\83\8a\82ð\8dì\90¬\81B\r
+               return true;\r
+       }\r
+\r
+       return false;\r
+}\r
+\r
+wxString GetFileTypeName(wxFileName fn)\r
+{\r
+       wxString szExt = fn.GetExt().MakeUpper();\r
+       wxString sz = szExt + (szExt.IsEmpty() ? wxT("file") : wxT(" file"));\r
+       wxFileType * ftFile = wxTheMimeTypesManager->GetFileTypeFromExtension(szExt);\r
+       if (ftFile)\r
+       {\r
+               ftFile->GetDescription(& sz);\r
+       }\r
+       return sz;\r
+}\r
+\r
+wxIcon GetFileTypeIcon(wxFileName fn)\r
+{\r
+       wxIcon icon;\r
+       wxIconLocation ilFile;\r
+       wxFileType * ftFile = wxTheMimeTypesManager->GetFileTypeFromExtension(fn.GetExt());\r
+       if (ftFile && ftFile->GetIcon(& ilFile))\r
+       {\r
+               if (! ::wxFileExists(ilFile.GetFileName()))\r
+               {\r
+                       icon.CopyFromBitmap(wxBitmap((ilFile.GetFileName() == wxT("%1") || ilFile.GetFileName() == wxT("\"%1\"")) ? FE_DIR_S_ICO wxT("exe.png") : FE_DIR_S_ICO wxT("file.png"), wxBITMAP_TYPE_ANY));\r
+               }\r
+               else\r
+               {\r
+                       icon = wxIcon(ilFile);\r
+               }\r
+       }\r
+       else\r
+       {\r
+               icon.CopyFromBitmap(wxBitmap(FE_DIR_S_ICO wxT("file.png"), wxBITMAP_TYPE_ANY));\r
+       }\r
+       return icon;\r
+}\r
diff --git a/src/lychee/functions.h b/src/lychee/functions.h
new file mode 100644 (file)
index 0000000..6296b53
--- /dev/null
@@ -0,0 +1,42 @@
+/*******************************************************************************\r
+  TPI - flexible but useless plug-in framework.\r
+  Copyright (C) 2002-2009 Silky\r
+\r
+  This library is free software; you can redistribute it and/or modify it under\r
+  the terms of the GNU Lesser General Public License as published by the Free\r
+  Software Foundation; either version 2.1 of the License, or (at your option)\r
+  any later version.\r
+\r
+  This library is distributed in the hope that it will be useful, but WITHOUT\r
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or \r
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License\r
+  for more details.\r
+\r
+  You should have received a copy of the GNU Lesser General Public License along\r
+  with this library; if not, write to the Free Software Foundation, Inc.,\r
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r
+\r
+  $Id: functions.h,v 1.7 2009/08/23 10:59:56 sirakaba Exp $\r
+*******************************************************************************/\r
+\r
+#ifndef H_LOADED_FUNCTIONS\r
+#define H_LOADED_FUNCTIONS\r
+\r
+//******************************************************************************\r
+//    \83R\83\93\83g\83\8d\81[\83\8b\8f\88\97\9d\8cn\8aÖ\90\94\r
+//******************************************************************************\r
+\r
+bool TreeView_CheckNewerItem(wxTreeCtrl *, wxTreeItemId, const wxString &, bool);\r
+wxString TreeView_GetItemPath(wxTreeCtrl *, wxTreeItemId);\r
+\r
+//******************************************************************************\r
+//    \8f\94\8f\88\97\9d\8aÖ\90\94\r
+//******************************************************************************\r
+\r
+wxFileName MakeDirPath(wxFileName, wxString, bool);\r
+wxArrayString MakeTargetFileList(MainFrame *, bool);\r
+bool WillMakeDirByArcName(MainFrame *, MakeDialog *);\r
+wxString GetFileTypeName(wxFileName);\r
+wxIcon GetFileTypeIcon(wxFileName);\r
+\r
+#endif\r
diff --git a/src/lychee/lychee.cpp b/src/lychee/lychee.cpp
new file mode 100644 (file)
index 0000000..ca2de17
--- /dev/null
@@ -0,0 +1,67 @@
+/*******************************************************************************
+  TPI - flexible but useless plug-in framework.
+  Copyright (C) 2002-2009 Silky
+
+  This library is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the Free
+  Software Foundation; either version 2.1 of the License, or (at your option)
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+  for more details.
+
+  You should have received a copy of the GNU Lesser General Public License along
+  with this library; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+  $Id: frontend.cpp,v 1.3 2009/08/27 11:26:00 sirakaba Exp $
+*******************************************************************************/
+
+#include "lychee.h"
+#include "frm_main.h"
+
+//******************************************************************************
+// Lychee
+//******************************************************************************
+
+class Lychee: public wxApp
+{
+public:
+    bool OnInit();
+};
+
+IMPLEMENT_APP(Lychee)
+
+bool Lychee::OnInit()
+{
+       wxInitAllImageHandlers();
+       ::wxXmlResource::Get()->InitAllHandlers();
+
+       // \8dì\8bÆ\83p\83X\82ð\90Ý\92è\81B
+       wxString szCwd;
+       {
+               wxChar cSep = wxFileName::GetPathSeparator();
+               szCwd = ::wxGetCwd() + cSep;
+               wxStandardPaths p;
+               ::wxSetWorkingDirectory(::wxPathOnly(p.GetExecutablePath()) + cSep);
+       }
+
+       MainFrame * frm_main = new MainFrame();
+       frm_main->szCurrentPath = szCwd;
+       if (! ::wxXmlResource::Get()->Load(FE_DIR_S_XRC wxT("frm_main.xrc")))
+       {
+               ::ErrDlg(wxT("Unable to find XRC!"), NULL);
+               return false;
+       }
+
+       ::wxXmlResource::Get()->LoadFrame(frm_main, NULL, wxT("frame_main"));
+       ::wxXmlResource::Get()->Unload(FE_DIR_S_XRC wxT("frm_main.xrc"));
+       SetTopWindow(frm_main);
+       frm_main->cmdLine.SetCmdLine(this->argc, this->argv);
+       frm_main->InitDialog();
+       frm_main->Show();
+
+       return true;
+}
diff --git a/src/lychee/lychee.h b/src/lychee/lychee.h
new file mode 100644 (file)
index 0000000..42943be
--- /dev/null
@@ -0,0 +1,60 @@
+/*******************************************************************************\r
+  TPI - flexible but useless plug-in framework.\r
+  Copyright (C) 2002-2009 Silky\r
+\r
+  This library is free software; you can redistribute it and/or modify it under\r
+  the terms of the GNU Lesser General Public License as published by the Free\r
+  Software Foundation; either version 2.1 of the License, or (at your option)\r
+  any later version.\r
+\r
+  This library is distributed in the hope that it will be useful, but WITHOUT\r
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or \r
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License\r
+  for more details.\r
+\r
+  You should have received a copy of the GNU Lesser General Public License along\r
+  with this library; if not, write to the Free Software Foundation, Inc.,\r
+  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r
+\r
+  $Id: frontend.h,v 1.9 2009/08/29 08:13:09 sirakaba Exp $\r
+*******************************************************************************/\r
+\r
+#ifndef H_LOADED_LYCHEE\r
+#define H_LOADED_LYCHEE\r
+\r
+#define wxUSE_UNICODE       1\r
+#include "../common/header/plugin.h"\r
+#include <wx/treectrl.h>\r
+#include <wx/listctrl.h>\r
+#include <wx/imaglist.h>\r
+#include <wx/mimetype.h>\r
+#include <wx/xrc/xmlres.h>\r
+#include <wx/stdpaths.h>\r
+#include <wx/dynarray.h>\r
+\r
+#include "../common/handle/TPIHandle.h"\r
+\r
+WX_DECLARE_OBJARRAY(TPI_FILEINFO, ArrayTPI_FILEINFO);\r
+\r
+#include "cls_listctrl.h"\r
+\r
+#ifdef __WINDOWS__\r
+#define TPI_EXT wxT(".dll")\r
+#define EXE_EXT wxT(".exe")\r
+#else\r
+#define TPI_EXT wxT(".so")\r
+#define EXE_EXT (wxString) wxEmptyString\r
+#endif\r
+\r
+#define FE_DIR_BIN wxT("./")\r
+#define FE_DIR_SHR wxT("../share/")\r
+#define FE_DIR_B_LIB FE_DIR_BIN wxT("lib/")\r
+#define FE_DIR_S_XRC FE_DIR_SHR wxT("xrc/")\r
+#define FE_DIR_S_ICO FE_DIR_SHR wxT("ico/")\r
+\r
+#define MsgDlg(msg, parent, flag) wxMessageBox(msg, wxT("Lychee"), wxCENTRE | flag, parent)\r
+#define ErrDlg(msg, parent) MsgDlg(wxT("Error: ") msg, parent, wxOK | wxICON_ERROR)\r
+#define WrnDlg(msg, parent) MsgDlg(msg, parent, wxOK | wxICON_EXCLAMATION)\r
+#define AskDlg(msg, parent) MsgDlg(msg, parent, wxYES_NO | wxICON_QUESTION)\r
+\r
+#endif\r
diff --git a/src/lychee/lychee.vcproj b/src/lychee/lychee.vcproj
new file mode 100644 (file)
index 0000000..51c0b1d
--- /dev/null
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="shift_jis"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="8.00"\r
+       Name="lychee"\r
+       ProjectGUID="{50F13951-5698-4418-8353-BFDFC5A6BC13}"\r
+       RootNamespace="lychee"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="..\..\bin"\r
+                       IntermediateDirectory="..\tmp"\r
+                       ConfigurationType="1"\r
+                       CharacterSet="1"\r
+                       WholeProgramOptimization="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               RuntimeLibrary="2"\r
+                               WarningLevel="4"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DisableSpecificWarnings="4819"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalDependencies="wxmsw28u_core.lib wxbase28u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxmsw28u_adv.lib wxexpat.lib wxmsw28u_html.lib wxbase28u_xml.lib wxmsw28u_xrc.lib comctl32.lib"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
+                               OptimizeForWindows98="1"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                               EmbedManifest="false"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="\83\\81[\83\83t\83@\83C\83\8b"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\cls_filedroptarget.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\cls_listctrl.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\dlg_make.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\dlg_process.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\frm_main.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\lychee.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\functions.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\common\handle\TPIHandle.cpp"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               ObjectFile="$(IntDir)\common\"\r
+                                       />\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="\83w\83b\83_\81\83t\83@\83C\83\8b"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\cls_filedroptarget.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\cls_listctrl.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\dlg_make.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\dlg_process.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\frm_main.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\lychee.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\functions.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\common\handle\TPIHandle.h"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="\83\8a\83\\81[\83\83t\83@\83C\83\8b"\r
+                       >\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+       </Globals>\r
+</VisualStudioProject>\r
diff --git a/src/lychee/ui/dlg_make.fbp b/src/lychee/ui/dlg_make.fbp
new file mode 100644 (file)
index 0000000..c4c38b6
--- /dev/null
@@ -0,0 +1,2212 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<wxFormBuilder_Project>
+    <FileVersion major="1" minor="9" />
+    <object class="Project" expanded="1">
+        <property name="class_decoration"></property>
+        <property name="code_generation">XRC</property>
+        <property name="disconnect_events">1</property>
+        <property name="encoding">UTF-8</property>
+        <property name="event_generation">connect</property>
+        <property name="file">dlg_make</property>
+        <property name="first_id">1000</property>
+        <property name="help_provider">none</property>
+        <property name="internationalize">0</property>
+        <property name="name">dlg_make</property>
+        <property name="namespace"></property>
+        <property name="path">../../../share/xrc</property>
+        <property name="precompiled_header"></property>
+        <property name="relative_path">1</property>
+        <property name="use_enum">0</property>
+        <property name="use_microsoft_bom">0</property>
+        <object class="Dialog" expanded="1">
+            <property name="bg"></property>
+            <property name="center"></property>
+            <property name="context_help"></property>
+            <property name="enabled">1</property>
+            <property name="extra_style"></property>
+            <property name="fg"></property>
+            <property name="font"></property>
+            <property name="hidden">0</property>
+            <property name="id">wxID_ANY</property>
+            <property name="maximum_size">-1,-1</property>
+            <property name="minimum_size"></property>
+            <property name="name">dlg_make</property>
+            <property name="pos"></property>
+            <property name="size">490,250</property>
+            <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
+            <property name="subclass"></property>
+            <property name="title">Create/Extract an archive</property>
+            <property name="tooltip"></property>
+            <property name="window_extra_style"></property>
+            <property name="window_name"></property>
+            <property name="window_style"></property>
+            <event name="OnActivate"></event>
+            <event name="OnActivateApp"></event>
+            <event name="OnChar"></event>
+            <event name="OnClose"></event>
+            <event name="OnEnterWindow"></event>
+            <event name="OnEraseBackground"></event>
+            <event name="OnHibernate"></event>
+            <event name="OnIconize"></event>
+            <event name="OnIdle"></event>
+            <event name="OnInitDialog"></event>
+            <event name="OnKeyDown"></event>
+            <event name="OnKeyUp"></event>
+            <event name="OnKillFocus"></event>
+            <event name="OnLeaveWindow"></event>
+            <event name="OnLeftDClick"></event>
+            <event name="OnLeftDown"></event>
+            <event name="OnLeftUp"></event>
+            <event name="OnMiddleDClick"></event>
+            <event name="OnMiddleDown"></event>
+            <event name="OnMiddleUp"></event>
+            <event name="OnMotion"></event>
+            <event name="OnMouseEvents"></event>
+            <event name="OnMouseWheel"></event>
+            <event name="OnPaint"></event>
+            <event name="OnRightDClick"></event>
+            <event name="OnRightDown"></event>
+            <event name="OnRightUp"></event>
+            <event name="OnSetFocus"></event>
+            <event name="OnSize"></event>
+            <event name="OnUpdateUI"></event>
+            <object class="wxBoxSizer" expanded="1">
+                <property name="minimum_size"></property>
+                <property name="name"></property>
+                <property name="orient">wxVERTICAL</property>
+                <property name="permission">none</property>
+                <object class="sizeritem" expanded="1">
+                    <property name="border">2</property>
+                    <property name="flag">wxEXPAND | wxALL</property>
+                    <property name="proportion">7</property>
+                    <object class="wxNotebook" expanded="1">
+                        <property name="bg"></property>
+                        <property name="bitmapsize"></property>
+                        <property name="context_help"></property>
+                        <property name="enabled">1</property>
+                        <property name="fg"></property>
+                        <property name="font"></property>
+                        <property name="hidden">0</property>
+                        <property name="id">wxID_ANY</property>
+                        <property name="maximum_size">-1,-1</property>
+                        <property name="minimum_size"></property>
+                        <property name="name">nbTabs</property>
+                        <property name="permission">protected</property>
+                        <property name="pos"></property>
+                        <property name="size">480,210</property>
+                        <property name="style"></property>
+                        <property name="subclass"></property>
+                        <property name="tooltip"></property>
+                        <property name="window_extra_style"></property>
+                        <property name="window_name"></property>
+                        <property name="window_style"></property>
+                        <event name="OnChar"></event>
+                        <event name="OnEnterWindow"></event>
+                        <event name="OnEraseBackground"></event>
+                        <event name="OnKeyDown"></event>
+                        <event name="OnKeyUp"></event>
+                        <event name="OnKillFocus"></event>
+                        <event name="OnLeaveWindow"></event>
+                        <event name="OnLeftDClick"></event>
+                        <event name="OnLeftDown"></event>
+                        <event name="OnLeftUp"></event>
+                        <event name="OnMiddleDClick"></event>
+                        <event name="OnMiddleDown"></event>
+                        <event name="OnMiddleUp"></event>
+                        <event name="OnMotion"></event>
+                        <event name="OnMouseEvents"></event>
+                        <event name="OnMouseWheel"></event>
+                        <event name="OnNotebookPageChanged"></event>
+                        <event name="OnNotebookPageChanging"></event>
+                        <event name="OnPaint"></event>
+                        <event name="OnRightDClick"></event>
+                        <event name="OnRightDown"></event>
+                        <event name="OnRightUp"></event>
+                        <event name="OnSetFocus"></event>
+                        <event name="OnSize"></event>
+                        <event name="OnUpdateUI"></event>
+                        <object class="notebookpage" expanded="1">
+                            <property name="bitmap"></property>
+                            <property name="label">General</property>
+                            <property name="select">1</property>
+                            <object class="wxPanel" expanded="1">
+                                <property name="bg"></property>
+                                <property name="context_help"></property>
+                                <property name="enabled">1</property>
+                                <property name="fg"></property>
+                                <property name="font"></property>
+                                <property name="hidden">0</property>
+                                <property name="id">wxID_ANY</property>
+                                <property name="maximum_size"></property>
+                                <property name="minimum_size"></property>
+                                <property name="name">m_panel1</property>
+                                <property name="permission">protected</property>
+                                <property name="pos"></property>
+                                <property name="size"></property>
+                                <property name="subclass"></property>
+                                <property name="tooltip"></property>
+                                <property name="window_extra_style"></property>
+                                <property name="window_name"></property>
+                                <property name="window_style">wxTAB_TRAVERSAL</property>
+                                <event name="OnChar"></event>
+                                <event name="OnEnterWindow"></event>
+                                <event name="OnEraseBackground"></event>
+                                <event name="OnKeyDown"></event>
+                                <event name="OnKeyUp"></event>
+                                <event name="OnKillFocus"></event>
+                                <event name="OnLeaveWindow"></event>
+                                <event name="OnLeftDClick"></event>
+                                <event name="OnLeftDown"></event>
+                                <event name="OnLeftUp"></event>
+                                <event name="OnMiddleDClick"></event>
+                                <event name="OnMiddleDown"></event>
+                                <event name="OnMiddleUp"></event>
+                                <event name="OnMotion"></event>
+                                <event name="OnMouseEvents"></event>
+                                <event name="OnMouseWheel"></event>
+                                <event name="OnPaint"></event>
+                                <event name="OnRightDClick"></event>
+                                <event name="OnRightDown"></event>
+                                <event name="OnRightUp"></event>
+                                <event name="OnSetFocus"></event>
+                                <event name="OnSize"></event>
+                                <event name="OnUpdateUI"></event>
+                                <object class="wxBoxSizer" expanded="1">
+                                    <property name="minimum_size"></property>
+                                    <property name="name">bSizer1</property>
+                                    <property name="orient">wxVERTICAL</property>
+                                    <property name="permission">none</property>
+                                    <object class="sizeritem" expanded="1">
+                                        <property name="border">0</property>
+                                        <property name="flag">wxEXPAND</property>
+                                        <property name="proportion">0</property>
+                                        <object class="wxBoxSizer" expanded="1">
+                                            <property name="minimum_size"></property>
+                                            <property name="name">bSizer2</property>
+                                            <property name="orient">wxHORIZONTAL</property>
+                                            <property name="permission">none</property>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">3</property>
+                                                <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
+                                                <property name="proportion">0</property>
+                                                <object class="wxStaticText" expanded="1">
+                                                    <property name="bg"></property>
+                                                    <property name="context_help"></property>
+                                                    <property name="enabled">1</property>
+                                                    <property name="fg"></property>
+                                                    <property name="font"></property>
+                                                    <property name="hidden"></property>
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="label">Destination directory/filename:</property>
+                                                    <property name="maximum_size"></property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name"></property>
+                                                    <property name="permission">protected</property>
+                                                    <property name="pos"></property>
+                                                    <property name="size">-1,-1</property>
+                                                    <property name="style"></property>
+                                                    <property name="subclass"></property>
+                                                    <property name="tooltip"></property>
+                                                    <property name="window_extra_style"></property>
+                                                    <property name="window_name"></property>
+                                                    <property name="window_style"></property>
+                                                    <property name="wrap">-1</property>
+                                                    <event name="OnChar"></event>
+                                                    <event name="OnEnterWindow"></event>
+                                                    <event name="OnEraseBackground"></event>
+                                                    <event name="OnKeyDown"></event>
+                                                    <event name="OnKeyUp"></event>
+                                                    <event name="OnKillFocus"></event>
+                                                    <event name="OnLeaveWindow"></event>
+                                                    <event name="OnLeftDClick"></event>
+                                                    <event name="OnLeftDown"></event>
+                                                    <event name="OnLeftUp"></event>
+                                                    <event name="OnMiddleDClick"></event>
+                                                    <event name="OnMiddleDown"></event>
+                                                    <event name="OnMiddleUp"></event>
+                                                    <event name="OnMotion"></event>
+                                                    <event name="OnMouseEvents"></event>
+                                                    <event name="OnMouseWheel"></event>
+                                                    <event name="OnPaint"></event>
+                                                    <event name="OnRightDClick"></event>
+                                                    <event name="OnRightDown"></event>
+                                                    <event name="OnRightUp"></event>
+                                                    <event name="OnSetFocus"></event>
+                                                    <event name="OnSize"></event>
+                                                    <event name="OnUpdateUI"></event>
+                                                </object>
+                                            </object>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxEXPAND</property>
+                                                <property name="proportion">1</property>
+                                                <object class="spacer" expanded="1">
+                                                    <property name="height">0</property>
+                                                    <property name="permission">protected</property>
+                                                    <property name="width">0</property>
+                                                </object>
+                                            </object>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">3</property>
+                                                <property name="flag">wxALIGN_CENTER_VERTICAL</property>
+                                                <property name="proportion">0</property>
+                                                <object class="wxButton" expanded="1">
+                                                    <property name="bg"></property>
+                                                    <property name="context_help"></property>
+                                                    <property name="default"></property>
+                                                    <property name="enabled">1</property>
+                                                    <property name="fg"></property>
+                                                    <property name="font"></property>
+                                                    <property name="hidden"></property>
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="label">Default</property>
+                                                    <property name="maximum_size"></property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">btnDefault</property>
+                                                    <property name="permission">protected</property>
+                                                    <property name="pos"></property>
+                                                    <property name="size">70,25</property>
+                                                    <property name="style"></property>
+                                                    <property name="subclass"></property>
+                                                    <property name="tooltip"></property>
+                                                    <property name="window_extra_style"></property>
+                                                    <property name="window_name"></property>
+                                                    <property name="window_style"></property>
+                                                    <event name="OnButtonClick"></event>
+                                                    <event name="OnChar"></event>
+                                                    <event name="OnEnterWindow"></event>
+                                                    <event name="OnEraseBackground"></event>
+                                                    <event name="OnKeyDown"></event>
+                                                    <event name="OnKeyUp"></event>
+                                                    <event name="OnKillFocus"></event>
+                                                    <event name="OnLeaveWindow"></event>
+                                                    <event name="OnLeftDClick"></event>
+                                                    <event name="OnLeftDown"></event>
+                                                    <event name="OnLeftUp"></event>
+                                                    <event name="OnMiddleDClick"></event>
+                                                    <event name="OnMiddleDown"></event>
+                                                    <event name="OnMiddleUp"></event>
+                                                    <event name="OnMotion"></event>
+                                                    <event name="OnMouseEvents"></event>
+                                                    <event name="OnMouseWheel"></event>
+                                                    <event name="OnPaint"></event>
+                                                    <event name="OnRightDClick"></event>
+                                                    <event name="OnRightDown"></event>
+                                                    <event name="OnRightUp"></event>
+                                                    <event name="OnSetFocus"></event>
+                                                    <event name="OnSize"></event>
+                                                    <event name="OnUpdateUI"></event>
+                                                </object>
+                                            </object>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
+                                                <property name="proportion">0</property>
+                                                <object class="wxButton" expanded="1">
+                                                    <property name="bg"></property>
+                                                    <property name="context_help"></property>
+                                                    <property name="default"></property>
+                                                    <property name="enabled">1</property>
+                                                    <property name="fg"></property>
+                                                    <property name="font"></property>
+                                                    <property name="hidden"></property>
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="label">Desktop</property>
+                                                    <property name="maximum_size"></property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">btnDesktop</property>
+                                                    <property name="permission">protected</property>
+                                                    <property name="pos"></property>
+                                                    <property name="size">70,25</property>
+                                                    <property name="style"></property>
+                                                    <property name="subclass"></property>
+                                                    <property name="tooltip"></property>
+                                                    <property name="window_extra_style"></property>
+                                                    <property name="window_name"></property>
+                                                    <property name="window_style"></property>
+                                                    <event name="OnButtonClick"></event>
+                                                    <event name="OnChar"></event>
+                                                    <event name="OnEnterWindow"></event>
+                                                    <event name="OnEraseBackground"></event>
+                                                    <event name="OnKeyDown"></event>
+                                                    <event name="OnKeyUp"></event>
+                                                    <event name="OnKillFocus"></event>
+                                                    <event name="OnLeaveWindow"></event>
+                                                    <event name="OnLeftDClick"></event>
+                                                    <event name="OnLeftDown"></event>
+                                                    <event name="OnLeftUp"></event>
+                                                    <event name="OnMiddleDClick"></event>
+                                                    <event name="OnMiddleDown"></event>
+                                                    <event name="OnMiddleUp"></event>
+                                                    <event name="OnMotion"></event>
+                                                    <event name="OnMouseEvents"></event>
+                                                    <event name="OnMouseWheel"></event>
+                                                    <event name="OnPaint"></event>
+                                                    <event name="OnRightDClick"></event>
+                                                    <event name="OnRightDown"></event>
+                                                    <event name="OnRightUp"></event>
+                                                    <event name="OnSetFocus"></event>
+                                                    <event name="OnSize"></event>
+                                                    <event name="OnUpdateUI"></event>
+                                                </object>
+                                            </object>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">3</property>
+                                                <property name="flag">wxALIGN_CENTER_VERTICAL</property>
+                                                <property name="proportion">0</property>
+                                                <object class="wxButton" expanded="1">
+                                                    <property name="bg"></property>
+                                                    <property name="context_help"></property>
+                                                    <property name="default"></property>
+                                                    <property name="enabled">1</property>
+                                                    <property name="fg"></property>
+                                                    <property name="font"></property>
+                                                    <property name="hidden"></property>
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="label">Current</property>
+                                                    <property name="maximum_size"></property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">btnCurrent</property>
+                                                    <property name="permission">protected</property>
+                                                    <property name="pos"></property>
+                                                    <property name="size">70,25</property>
+                                                    <property name="style"></property>
+                                                    <property name="subclass"></property>
+                                                    <property name="tooltip"></property>
+                                                    <property name="window_extra_style"></property>
+                                                    <property name="window_name"></property>
+                                                    <property name="window_style"></property>
+                                                    <event name="OnButtonClick"></event>
+                                                    <event name="OnChar"></event>
+                                                    <event name="OnEnterWindow"></event>
+                                                    <event name="OnEraseBackground"></event>
+                                                    <event name="OnKeyDown"></event>
+                                                    <event name="OnKeyUp"></event>
+                                                    <event name="OnKillFocus"></event>
+                                                    <event name="OnLeaveWindow"></event>
+                                                    <event name="OnLeftDClick"></event>
+                                                    <event name="OnLeftDown"></event>
+                                                    <event name="OnLeftUp"></event>
+                                                    <event name="OnMiddleDClick"></event>
+                                                    <event name="OnMiddleDown"></event>
+                                                    <event name="OnMiddleUp"></event>
+                                                    <event name="OnMotion"></event>
+                                                    <event name="OnMouseEvents"></event>
+                                                    <event name="OnMouseWheel"></event>
+                                                    <event name="OnPaint"></event>
+                                                    <event name="OnRightDClick"></event>
+                                                    <event name="OnRightDown"></event>
+                                                    <event name="OnRightUp"></event>
+                                                    <event name="OnSetFocus"></event>
+                                                    <event name="OnSize"></event>
+                                                    <event name="OnUpdateUI"></event>
+                                                </object>
+                                            </object>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxLEFT|wxRIGHT|wxTOP</property>
+                                                <property name="proportion">0</property>
+                                                <object class="wxButton" expanded="1">
+                                                    <property name="bg"></property>
+                                                    <property name="context_help"></property>
+                                                    <property name="default"></property>
+                                                    <property name="enabled">1</property>
+                                                    <property name="fg"></property>
+                                                    <property name="font"></property>
+                                                    <property name="hidden"></property>
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="label">Browse</property>
+                                                    <property name="maximum_size"></property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">btnBrowse</property>
+                                                    <property name="permission">protected</property>
+                                                    <property name="pos"></property>
+                                                    <property name="size">70,25</property>
+                                                    <property name="style"></property>
+                                                    <property name="subclass"></property>
+                                                    <property name="tooltip"></property>
+                                                    <property name="window_extra_style"></property>
+                                                    <property name="window_name"></property>
+                                                    <property name="window_style"></property>
+                                                    <event name="OnButtonClick"></event>
+                                                    <event name="OnChar"></event>
+                                                    <event name="OnEnterWindow"></event>
+                                                    <event name="OnEraseBackground"></event>
+                                                    <event name="OnKeyDown"></event>
+                                                    <event name="OnKeyUp"></event>
+                                                    <event name="OnKillFocus"></event>
+                                                    <event name="OnLeaveWindow"></event>
+                                                    <event name="OnLeftDClick"></event>
+                                                    <event name="OnLeftDown"></event>
+                                                    <event name="OnLeftUp"></event>
+                                                    <event name="OnMiddleDClick"></event>
+                                                    <event name="OnMiddleDown"></event>
+                                                    <event name="OnMiddleUp"></event>
+                                                    <event name="OnMotion"></event>
+                                                    <event name="OnMouseEvents"></event>
+                                                    <event name="OnMouseWheel"></event>
+                                                    <event name="OnPaint"></event>
+                                                    <event name="OnRightDClick"></event>
+                                                    <event name="OnRightDown"></event>
+                                                    <event name="OnRightUp"></event>
+                                                    <event name="OnSetFocus"></event>
+                                                    <event name="OnSize"></event>
+                                                    <event name="OnUpdateUI"></event>
+                                                </object>
+                                            </object>
+                                        </object>
+                                    </object>
+                                    <object class="sizeritem" expanded="1">
+                                        <property name="border">0</property>
+                                        <property name="flag">wxEXPAND</property>
+                                        <property name="proportion">0</property>
+                                        <object class="wxBoxSizer" expanded="1">
+                                            <property name="minimum_size"></property>
+                                            <property name="name">bSizer3</property>
+                                            <property name="orient">wxHORIZONTAL</property>
+                                            <property name="permission">none</property>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT</property>
+                                                <property name="proportion">7</property>
+                                                <object class="wxComboBox" expanded="1">
+                                                    <property name="bg"></property>
+                                                    <property name="choices"></property>
+                                                    <property name="context_help"></property>
+                                                    <property name="enabled">1</property>
+                                                    <property name="fg"></property>
+                                                    <property name="font"></property>
+                                                    <property name="hidden"></property>
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="maximum_size"></property>
+                                                    <property name="minimum_size">-1,-1</property>
+                                                    <property name="name">cbDir</property>
+                                                    <property name="permission">protected</property>
+                                                    <property name="pos"></property>
+                                                    <property name="size">-1,-1</property>
+                                                    <property name="style"></property>
+                                                    <property name="subclass"></property>
+                                                    <property name="tooltip"></property>
+                                                    <property name="value"></property>
+                                                    <property name="window_extra_style"></property>
+                                                    <property name="window_name"></property>
+                                                    <property name="window_style"></property>
+                                                    <event name="OnChar"></event>
+                                                    <event name="OnCombobox"></event>
+                                                    <event name="OnEnterWindow"></event>
+                                                    <event name="OnEraseBackground"></event>
+                                                    <event name="OnKeyDown"></event>
+                                                    <event name="OnKeyUp"></event>
+                                                    <event name="OnKillFocus"></event>
+                                                    <event name="OnLeaveWindow"></event>
+                                                    <event name="OnLeftDClick"></event>
+                                                    <event name="OnLeftDown"></event>
+                                                    <event name="OnLeftUp"></event>
+                                                    <event name="OnMiddleDClick"></event>
+                                                    <event name="OnMiddleDown"></event>
+                                                    <event name="OnMiddleUp"></event>
+                                                    <event name="OnMotion"></event>
+                                                    <event name="OnMouseEvents"></event>
+                                                    <event name="OnMouseWheel"></event>
+                                                    <event name="OnPaint"></event>
+                                                    <event name="OnRightDClick"></event>
+                                                    <event name="OnRightDown"></event>
+                                                    <event name="OnRightUp"></event>
+                                                    <event name="OnSetFocus"></event>
+                                                    <event name="OnSize"></event>
+                                                    <event name="OnText"></event>
+                                                    <event name="OnTextEnter"></event>
+                                                    <event name="OnUpdateUI"></event>
+                                                </object>
+                                            </object>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT</property>
+                                                <property name="proportion">3</property>
+                                                <object class="wxComboBox" expanded="1">
+                                                    <property name="bg"></property>
+                                                    <property name="choices"></property>
+                                                    <property name="context_help"></property>
+                                                    <property name="enabled">1</property>
+                                                    <property name="fg"></property>
+                                                    <property name="font"></property>
+                                                    <property name="hidden"></property>
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="maximum_size"></property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">cbFileName</property>
+                                                    <property name="permission">protected</property>
+                                                    <property name="pos"></property>
+                                                    <property name="size">-1,-1</property>
+                                                    <property name="style"></property>
+                                                    <property name="subclass"></property>
+                                                    <property name="tooltip"></property>
+                                                    <property name="value"></property>
+                                                    <property name="window_extra_style"></property>
+                                                    <property name="window_name"></property>
+                                                    <property name="window_style"></property>
+                                                    <event name="OnChar"></event>
+                                                    <event name="OnCombobox"></event>
+                                                    <event name="OnEnterWindow"></event>
+                                                    <event name="OnEraseBackground"></event>
+                                                    <event name="OnKeyDown"></event>
+                                                    <event name="OnKeyUp"></event>
+                                                    <event name="OnKillFocus"></event>
+                                                    <event name="OnLeaveWindow"></event>
+                                                    <event name="OnLeftDClick"></event>
+                                                    <event name="OnLeftDown"></event>
+                                                    <event name="OnLeftUp"></event>
+                                                    <event name="OnMiddleDClick"></event>
+                                                    <event name="OnMiddleDown"></event>
+                                                    <event name="OnMiddleUp"></event>
+                                                    <event name="OnMotion"></event>
+                                                    <event name="OnMouseEvents"></event>
+                                                    <event name="OnMouseWheel"></event>
+                                                    <event name="OnPaint"></event>
+                                                    <event name="OnRightDClick"></event>
+                                                    <event name="OnRightDown"></event>
+                                                    <event name="OnRightUp"></event>
+                                                    <event name="OnSetFocus"></event>
+                                                    <event name="OnSize"></event>
+                                                    <event name="OnText"></event>
+                                                    <event name="OnTextEnter"></event>
+                                                    <event name="OnUpdateUI"></event>
+                                                </object>
+                                            </object>
+                                        </object>
+                                    </object>
+                                    <object class="sizeritem" expanded="1">
+                                        <property name="border">5</property>
+                                        <property name="flag">wxALL|wxEXPAND</property>
+                                        <property name="proportion">0</property>
+                                        <object class="wxStaticBoxSizer" expanded="1">
+                                            <property name="id">wxID_ANY</property>
+                                            <property name="label">Options</property>
+                                            <property name="minimum_size"></property>
+                                            <property name="name">sbSizer1</property>
+                                            <property name="orient">wxHORIZONTAL</property>
+                                            <property name="permission">none</property>
+                                            <event name="OnUpdateUI"></event>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxEXPAND</property>
+                                                <property name="proportion">1</property>
+                                                <object class="wxBoxSizer" expanded="1">
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">bSizer24</property>
+                                                    <property name="orient">wxVERTICAL</property>
+                                                    <property name="permission">none</property>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">0</property>
+                                                        <property name="flag">wxEXPAND</property>
+                                                        <property name="proportion">1</property>
+                                                        <object class="wxBoxSizer" expanded="1">
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">bSizer5</property>
+                                                            <property name="orient">wxHORIZONTAL</property>
+                                                            <property name="permission">none</property>
+                                                            <object class="sizeritem" expanded="1">
+                                                                <property name="border">5</property>
+                                                                <property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property>
+                                                                <property name="proportion">0</property>
+                                                                <object class="wxStaticText" expanded="1">
+                                                                    <property name="bg"></property>
+                                                                    <property name="context_help"></property>
+                                                                    <property name="enabled">1</property>
+                                                                    <property name="fg"></property>
+                                                                    <property name="font"></property>
+                                                                    <property name="hidden"></property>
+                                                                    <property name="id">wxID_ANY</property>
+                                                                    <property name="label">Archive type:</property>
+                                                                    <property name="maximum_size"></property>
+                                                                    <property name="minimum_size"></property>
+                                                                    <property name="name"></property>
+                                                                    <property name="permission">protected</property>
+                                                                    <property name="pos"></property>
+                                                                    <property name="size"></property>
+                                                                    <property name="style"></property>
+                                                                    <property name="subclass"></property>
+                                                                    <property name="tooltip"></property>
+                                                                    <property name="window_extra_style"></property>
+                                                                    <property name="window_name"></property>
+                                                                    <property name="window_style"></property>
+                                                                    <property name="wrap">-1</property>
+                                                                    <event name="OnChar"></event>
+                                                                    <event name="OnEnterWindow"></event>
+                                                                    <event name="OnEraseBackground"></event>
+                                                                    <event name="OnKeyDown"></event>
+                                                                    <event name="OnKeyUp"></event>
+                                                                    <event name="OnKillFocus"></event>
+                                                                    <event name="OnLeaveWindow"></event>
+                                                                    <event name="OnLeftDClick"></event>
+                                                                    <event name="OnLeftDown"></event>
+                                                                    <event name="OnLeftUp"></event>
+                                                                    <event name="OnMiddleDClick"></event>
+                                                                    <event name="OnMiddleDown"></event>
+                                                                    <event name="OnMiddleUp"></event>
+                                                                    <event name="OnMotion"></event>
+                                                                    <event name="OnMouseEvents"></event>
+                                                                    <event name="OnMouseWheel"></event>
+                                                                    <event name="OnPaint"></event>
+                                                                    <event name="OnRightDClick"></event>
+                                                                    <event name="OnRightDown"></event>
+                                                                    <event name="OnRightUp"></event>
+                                                                    <event name="OnSetFocus"></event>
+                                                                    <event name="OnSize"></event>
+                                                                    <event name="OnUpdateUI"></event>
+                                                                </object>
+                                                            </object>
+                                                            <object class="sizeritem" expanded="1">
+                                                                <property name="border">5</property>
+                                                                <property name="flag">wxALIGN_CENTER|wxEXPAND|wxLEFT|wxRIGHT</property>
+                                                                <property name="proportion">1</property>
+                                                                <object class="wxChoice" expanded="1">
+                                                                    <property name="bg"></property>
+                                                                    <property name="choices"></property>
+                                                                    <property name="context_help"></property>
+                                                                    <property name="enabled">1</property>
+                                                                    <property name="fg"></property>
+                                                                    <property name="font"></property>
+                                                                    <property name="hidden">0</property>
+                                                                    <property name="id">wxID_ANY</property>
+                                                                    <property name="maximum_size"></property>
+                                                                    <property name="minimum_size"></property>
+                                                                    <property name="name">chType</property>
+                                                                    <property name="permission">protected</property>
+                                                                    <property name="pos"></property>
+                                                                    <property name="selection">0</property>
+                                                                    <property name="size">-1,-1</property>
+                                                                    <property name="subclass"></property>
+                                                                    <property name="tooltip"></property>
+                                                                    <property name="window_extra_style"></property>
+                                                                    <property name="window_name"></property>
+                                                                    <property name="window_style"></property>
+                                                                    <event name="OnChar"></event>
+                                                                    <event name="OnChoice"></event>
+                                                                    <event name="OnEnterWindow"></event>
+                                                                    <event name="OnEraseBackground"></event>
+                                                                    <event name="OnKeyDown"></event>
+                                                                    <event name="OnKeyUp"></event>
+                                                                    <event name="OnKillFocus"></event>
+                                                                    <event name="OnLeaveWindow"></event>
+                                                                    <event name="OnLeftDClick"></event>
+                                                                    <event name="OnLeftDown"></event>
+                                                                    <event name="OnLeftUp"></event>
+                                                                    <event name="OnMiddleDClick"></event>
+                                                                    <event name="OnMiddleDown"></event>
+                                                                    <event name="OnMiddleUp"></event>
+                                                                    <event name="OnMotion"></event>
+                                                                    <event name="OnMouseEvents"></event>
+                                                                    <event name="OnMouseWheel"></event>
+                                                                    <event name="OnPaint"></event>
+                                                                    <event name="OnRightDClick"></event>
+                                                                    <event name="OnRightDown"></event>
+                                                                    <event name="OnRightUp"></event>
+                                                                    <event name="OnSetFocus"></event>
+                                                                    <event name="OnSize"></event>
+                                                                    <event name="OnUpdateUI"></event>
+                                                                </object>
+                                                            </object>
+                                                        </object>
+                                                    </object>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">5</property>
+                                                        <property name="flag">wxEXPAND|wxLEFT|wxRIGHT</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxChoice" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="choices">&quot;Don&apos;t make directory&quot; &quot;Make DIR by the archive name&quot; &quot;Make DIR if needed&quot;</property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">0</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden">0</property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">chDirMake</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="selection">2</property>
+                                                            <property name="size"></property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnChoice"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                </object>
+                                            </object>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">0</property>
+                                                <property name="flag">wxEXPAND</property>
+                                                <property name="proportion">1</property>
+                                                <object class="wxBoxSizer" expanded="1">
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">bSizer7</property>
+                                                    <property name="orient">wxVERTICAL</property>
+                                                    <property name="permission">none</property>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">3</property>
+                                                        <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxCheckBox" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="checked">0</property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden"></property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="label">Open the destination afterward</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">cbOpenAfter</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size"></property>
+                                                            <property name="style"></property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnCheckBox"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">3</property>
+                                                        <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxCheckBox" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="checked"></property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden"></property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="label">Ignore file pathes</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">cbIgnorePath</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size"></property>
+                                                            <property name="style"></property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnCheckBox"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">3</property>
+                                                        <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxCheckBox" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="checked"></property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden"></property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="label">Exit afterward</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">cbExitAfter</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size"></property>
+                                                            <property name="style"></property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnCheckBox"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                </object>
+                                            </object>
+                                        </object>
+                                    </object>
+                                </object>
+                            </object>
+                        </object>
+                        <object class="notebookpage" expanded="1">
+                            <property name="bitmap"></property>
+                            <property name="label">Config</property>
+                            <property name="select">0</property>
+                            <object class="wxPanel" expanded="1">
+                                <property name="bg"></property>
+                                <property name="context_help"></property>
+                                <property name="enabled">1</property>
+                                <property name="fg"></property>
+                                <property name="font"></property>
+                                <property name="hidden">0</property>
+                                <property name="id">wxID_ANY</property>
+                                <property name="maximum_size"></property>
+                                <property name="minimum_size"></property>
+                                <property name="name">m_panel2</property>
+                                <property name="permission">protected</property>
+                                <property name="pos"></property>
+                                <property name="size"></property>
+                                <property name="subclass"></property>
+                                <property name="tooltip"></property>
+                                <property name="window_extra_style"></property>
+                                <property name="window_name"></property>
+                                <property name="window_style">wxTAB_TRAVERSAL</property>
+                                <event name="OnChar"></event>
+                                <event name="OnEnterWindow"></event>
+                                <event name="OnEraseBackground"></event>
+                                <event name="OnKeyDown"></event>
+                                <event name="OnKeyUp"></event>
+                                <event name="OnKillFocus"></event>
+                                <event name="OnLeaveWindow"></event>
+                                <event name="OnLeftDClick"></event>
+                                <event name="OnLeftDown"></event>
+                                <event name="OnLeftUp"></event>
+                                <event name="OnMiddleDClick"></event>
+                                <event name="OnMiddleDown"></event>
+                                <event name="OnMiddleUp"></event>
+                                <event name="OnMotion"></event>
+                                <event name="OnMouseEvents"></event>
+                                <event name="OnMouseWheel"></event>
+                                <event name="OnPaint"></event>
+                                <event name="OnRightDClick"></event>
+                                <event name="OnRightDown"></event>
+                                <event name="OnRightUp"></event>
+                                <event name="OnSetFocus"></event>
+                                <event name="OnSize"></event>
+                                <event name="OnUpdateUI"></event>
+                                <object class="wxBoxSizer" expanded="1">
+                                    <property name="minimum_size"></property>
+                                    <property name="name">bSizer11</property>
+                                    <property name="orient">wxHORIZONTAL</property>
+                                    <property name="permission">none</property>
+                                    <object class="sizeritem" expanded="1">
+                                        <property name="border">5</property>
+                                        <property name="flag">wxEXPAND|wxLEFT|wxRIGHT</property>
+                                        <property name="proportion">1</property>
+                                        <object class="wxBoxSizer" expanded="1">
+                                            <property name="minimum_size"></property>
+                                            <property name="name">bSizer21</property>
+                                            <property name="orient">wxVERTICAL</property>
+                                            <property name="permission">none</property>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxEXPAND</property>
+                                                <property name="proportion">0</property>
+                                                <object class="wxStaticBoxSizer" expanded="1">
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="label">Compression Level</property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">sbSizer11</property>
+                                                    <property name="orient">wxVERTICAL</property>
+                                                    <property name="permission">none</property>
+                                                    <event name="OnUpdateUI"></event>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">5</property>
+                                                        <property name="flag">wxALL|wxEXPAND</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxSpinCtrl" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden">0</property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="initial">5</property>
+                                                            <property name="max">9</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="min">0</property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">scLevel</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size">-1,-1</property>
+                                                            <property name="style">wxSP_ARROW_KEYS|wxSP_WRAP</property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="value"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnSpinCtrl"></event>
+                                                            <event name="OnSpinCtrlText"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                </object>
+                                            </object>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxEXPAND</property>
+                                                <property name="proportion">0</property>
+                                                <object class="wxStaticBoxSizer" expanded="1">
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="label">Multivolume</property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">sbSizer2</property>
+                                                    <property name="orient">wxVERTICAL</property>
+                                                    <property name="permission">none</property>
+                                                    <event name="OnUpdateUI"></event>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">5</property>
+                                                        <property name="flag">wxALL|wxEXPAND</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxComboBox" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="choices">&quot;1.44MB&quot; &quot;650MB&quot; &quot;700MB&quot;</property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden">0</property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">cbSplitSize</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size">-1,-1</property>
+                                                            <property name="style"></property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="value">Don&apos;t split.</property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnCombobox"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnText"></event>
+                                                            <event name="OnTextEnter"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                </object>
+                                            </object>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxEXPAND</property>
+                                                <property name="proportion">0</property>
+                                                <object class="wxStaticBoxSizer" expanded="1">
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="label">Recovery Record</property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">sbSizer5</property>
+                                                    <property name="orient">wxHORIZONTAL</property>
+                                                    <property name="permission">none</property>
+                                                    <event name="OnUpdateUI"></event>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">5</property>
+                                                        <property name="flag">wxALL|wxEXPAND</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxSpinCtrl" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden">0</property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="initial">0</property>
+                                                            <property name="max">100</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="min">0</property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">scRR</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size">-1,-1</property>
+                                                            <property name="style">wxSP_ARROW_KEYS|wxSP_WRAP</property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="value"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnSpinCtrl"></event>
+                                                            <event name="OnSpinCtrlText"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">5</property>
+                                                        <property name="flag">wxALIGN_CENTER</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxStaticText" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden">0</property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="label">%</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name"></property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size"></property>
+                                                            <property name="style"></property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <property name="wrap">-1</property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                </object>
+                                            </object>
+                                        </object>
+                                    </object>
+                                    <object class="sizeritem" expanded="1">
+                                        <property name="border">5</property>
+                                        <property name="flag">wxBOTTOM|wxEXPAND|wxRIGHT</property>
+                                        <property name="proportion">2</property>
+                                        <object class="wxBoxSizer" expanded="1">
+                                            <property name="minimum_size"></property>
+                                            <property name="name">bSizer31</property>
+                                            <property name="orient">wxVERTICAL</property>
+                                            <property name="permission">none</property>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxEXPAND</property>
+                                                <property name="proportion">0</property>
+                                                <object class="wxStaticBoxSizer" expanded="1">
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="label">Encryption</property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">sbSizer3</property>
+                                                    <property name="orient">wxVERTICAL</property>
+                                                    <property name="permission">none</property>
+                                                    <event name="OnUpdateUI"></event>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">5</property>
+                                                        <property name="flag">wxEXPAND</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxFlexGridSizer" expanded="1">
+                                                            <property name="cols">3</property>
+                                                            <property name="flexible_direction">wxBOTH</property>
+                                                            <property name="growablecols">1</property>
+                                                            <property name="growablerows">0,1</property>
+                                                            <property name="hgap">0</property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">fgSizer1</property>
+                                                            <property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
+                                                            <property name="permission">none</property>
+                                                            <property name="rows">2</property>
+                                                            <property name="vgap">0</property>
+                                                            <object class="sizeritem" expanded="1">
+                                                                <property name="border">5</property>
+                                                                <property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
+                                                                <property name="proportion">0</property>
+                                                                <object class="wxStaticText" expanded="1">
+                                                                    <property name="bg"></property>
+                                                                    <property name="context_help"></property>
+                                                                    <property name="enabled">1</property>
+                                                                    <property name="fg"></property>
+                                                                    <property name="font"></property>
+                                                                    <property name="hidden">0</property>
+                                                                    <property name="id">wxID_ANY</property>
+                                                                    <property name="label">Password:</property>
+                                                                    <property name="maximum_size"></property>
+                                                                    <property name="minimum_size"></property>
+                                                                    <property name="name"></property>
+                                                                    <property name="permission">protected</property>
+                                                                    <property name="pos"></property>
+                                                                    <property name="size"></property>
+                                                                    <property name="style"></property>
+                                                                    <property name="subclass"></property>
+                                                                    <property name="tooltip"></property>
+                                                                    <property name="window_extra_style"></property>
+                                                                    <property name="window_name"></property>
+                                                                    <property name="window_style"></property>
+                                                                    <property name="wrap">-1</property>
+                                                                    <event name="OnChar"></event>
+                                                                    <event name="OnEnterWindow"></event>
+                                                                    <event name="OnEraseBackground"></event>
+                                                                    <event name="OnKeyDown"></event>
+                                                                    <event name="OnKeyUp"></event>
+                                                                    <event name="OnKillFocus"></event>
+                                                                    <event name="OnLeaveWindow"></event>
+                                                                    <event name="OnLeftDClick"></event>
+                                                                    <event name="OnLeftDown"></event>
+                                                                    <event name="OnLeftUp"></event>
+                                                                    <event name="OnMiddleDClick"></event>
+                                                                    <event name="OnMiddleDown"></event>
+                                                                    <event name="OnMiddleUp"></event>
+                                                                    <event name="OnMotion"></event>
+                                                                    <event name="OnMouseEvents"></event>
+                                                                    <event name="OnMouseWheel"></event>
+                                                                    <event name="OnPaint"></event>
+                                                                    <event name="OnRightDClick"></event>
+                                                                    <event name="OnRightDown"></event>
+                                                                    <event name="OnRightUp"></event>
+                                                                    <event name="OnSetFocus"></event>
+                                                                    <event name="OnSize"></event>
+                                                                    <event name="OnUpdateUI"></event>
+                                                                </object>
+                                                            </object>
+                                                            <object class="sizeritem" expanded="1">
+                                                                <property name="border">5</property>
+                                                                <property name="flag">wxEXPAND|wxLEFT|wxRIGHT</property>
+                                                                <property name="proportion">0</property>
+                                                                <object class="wxTextCtrl" expanded="1">
+                                                                    <property name="bg"></property>
+                                                                    <property name="context_help"></property>
+                                                                    <property name="enabled">1</property>
+                                                                    <property name="fg"></property>
+                                                                    <property name="font"></property>
+                                                                    <property name="hidden">0</property>
+                                                                    <property name="id">wxID_ANY</property>
+                                                                    <property name="maximum_size"></property>
+                                                                    <property name="maxlength">0</property>
+                                                                    <property name="minimum_size"></property>
+                                                                    <property name="name">tcPassword</property>
+                                                                    <property name="permission">protected</property>
+                                                                    <property name="pos"></property>
+                                                                    <property name="size">-1,22</property>
+                                                                    <property name="style">wxTE_PASSWORD</property>
+                                                                    <property name="subclass"></property>
+                                                                    <property name="tooltip"></property>
+                                                                    <property name="value"></property>
+                                                                    <property name="window_extra_style"></property>
+                                                                    <property name="window_name"></property>
+                                                                    <property name="window_style"></property>
+                                                                    <event name="OnChar"></event>
+                                                                    <event name="OnEnterWindow"></event>
+                                                                    <event name="OnEraseBackground"></event>
+                                                                    <event name="OnKeyDown"></event>
+                                                                    <event name="OnKeyUp"></event>
+                                                                    <event name="OnKillFocus"></event>
+                                                                    <event name="OnLeaveWindow"></event>
+                                                                    <event name="OnLeftDClick"></event>
+                                                                    <event name="OnLeftDown"></event>
+                                                                    <event name="OnLeftUp"></event>
+                                                                    <event name="OnMiddleDClick"></event>
+                                                                    <event name="OnMiddleDown"></event>
+                                                                    <event name="OnMiddleUp"></event>
+                                                                    <event name="OnMotion"></event>
+                                                                    <event name="OnMouseEvents"></event>
+                                                                    <event name="OnMouseWheel"></event>
+                                                                    <event name="OnPaint"></event>
+                                                                    <event name="OnRightDClick"></event>
+                                                                    <event name="OnRightDown"></event>
+                                                                    <event name="OnRightUp"></event>
+                                                                    <event name="OnSetFocus"></event>
+                                                                    <event name="OnSize"></event>
+                                                                    <event name="OnText"></event>
+                                                                    <event name="OnTextEnter"></event>
+                                                                    <event name="OnTextMaxLen"></event>
+                                                                    <event name="OnTextURL"></event>
+                                                                    <event name="OnUpdateUI"></event>
+                                                                </object>
+                                                            </object>
+                                                            <object class="sizeritem" expanded="1">
+                                                                <property name="border">5</property>
+                                                                <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT</property>
+                                                                <property name="proportion">0</property>
+                                                                <object class="wxCheckBox" expanded="1">
+                                                                    <property name="bg"></property>
+                                                                    <property name="checked">0</property>
+                                                                    <property name="context_help"></property>
+                                                                    <property name="enabled">1</property>
+                                                                    <property name="fg"></property>
+                                                                    <property name="font"></property>
+                                                                    <property name="hidden">0</property>
+                                                                    <property name="id">wxID_ANY</property>
+                                                                    <property name="label">Unmask</property>
+                                                                    <property name="maximum_size"></property>
+                                                                    <property name="minimum_size"></property>
+                                                                    <property name="name">cbUnmask</property>
+                                                                    <property name="permission">protected</property>
+                                                                    <property name="pos"></property>
+                                                                    <property name="size"></property>
+                                                                    <property name="style"></property>
+                                                                    <property name="subclass"></property>
+                                                                    <property name="tooltip"></property>
+                                                                    <property name="window_extra_style"></property>
+                                                                    <property name="window_name"></property>
+                                                                    <property name="window_style"></property>
+                                                                    <event name="OnChar"></event>
+                                                                    <event name="OnCheckBox"></event>
+                                                                    <event name="OnEnterWindow"></event>
+                                                                    <event name="OnEraseBackground"></event>
+                                                                    <event name="OnKeyDown"></event>
+                                                                    <event name="OnKeyUp"></event>
+                                                                    <event name="OnKillFocus"></event>
+                                                                    <event name="OnLeaveWindow"></event>
+                                                                    <event name="OnLeftDClick"></event>
+                                                                    <event name="OnLeftDown"></event>
+                                                                    <event name="OnLeftUp"></event>
+                                                                    <event name="OnMiddleDClick"></event>
+                                                                    <event name="OnMiddleDown"></event>
+                                                                    <event name="OnMiddleUp"></event>
+                                                                    <event name="OnMotion"></event>
+                                                                    <event name="OnMouseEvents"></event>
+                                                                    <event name="OnMouseWheel"></event>
+                                                                    <event name="OnPaint"></event>
+                                                                    <event name="OnRightDClick"></event>
+                                                                    <event name="OnRightDown"></event>
+                                                                    <event name="OnRightUp"></event>
+                                                                    <event name="OnSetFocus"></event>
+                                                                    <event name="OnSize"></event>
+                                                                    <event name="OnUpdateUI"></event>
+                                                                </object>
+                                                            </object>
+                                                            <object class="sizeritem" expanded="1">
+                                                                <property name="border">5</property>
+                                                                <property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
+                                                                <property name="proportion">0</property>
+                                                                <object class="wxStaticText" expanded="1">
+                                                                    <property name="bg"></property>
+                                                                    <property name="context_help"></property>
+                                                                    <property name="enabled">1</property>
+                                                                    <property name="fg"></property>
+                                                                    <property name="font"></property>
+                                                                    <property name="hidden">0</property>
+                                                                    <property name="id">wxID_ANY</property>
+                                                                    <property name="label">Keyfile:</property>
+                                                                    <property name="maximum_size"></property>
+                                                                    <property name="minimum_size"></property>
+                                                                    <property name="name"></property>
+                                                                    <property name="permission">protected</property>
+                                                                    <property name="pos"></property>
+                                                                    <property name="size"></property>
+                                                                    <property name="style"></property>
+                                                                    <property name="subclass"></property>
+                                                                    <property name="tooltip"></property>
+                                                                    <property name="window_extra_style"></property>
+                                                                    <property name="window_name"></property>
+                                                                    <property name="window_style"></property>
+                                                                    <property name="wrap">-1</property>
+                                                                    <event name="OnChar"></event>
+                                                                    <event name="OnEnterWindow"></event>
+                                                                    <event name="OnEraseBackground"></event>
+                                                                    <event name="OnKeyDown"></event>
+                                                                    <event name="OnKeyUp"></event>
+                                                                    <event name="OnKillFocus"></event>
+                                                                    <event name="OnLeaveWindow"></event>
+                                                                    <event name="OnLeftDClick"></event>
+                                                                    <event name="OnLeftDown"></event>
+                                                                    <event name="OnLeftUp"></event>
+                                                                    <event name="OnMiddleDClick"></event>
+                                                                    <event name="OnMiddleDown"></event>
+                                                                    <event name="OnMiddleUp"></event>
+                                                                    <event name="OnMotion"></event>
+                                                                    <event name="OnMouseEvents"></event>
+                                                                    <event name="OnMouseWheel"></event>
+                                                                    <event name="OnPaint"></event>
+                                                                    <event name="OnRightDClick"></event>
+                                                                    <event name="OnRightDown"></event>
+                                                                    <event name="OnRightUp"></event>
+                                                                    <event name="OnSetFocus"></event>
+                                                                    <event name="OnSize"></event>
+                                                                    <event name="OnUpdateUI"></event>
+                                                                </object>
+                                                            </object>
+                                                            <object class="sizeritem" expanded="1">
+                                                                <property name="border">5</property>
+                                                                <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT</property>
+                                                                <property name="proportion">0</property>
+                                                                <object class="wxTextCtrl" expanded="1">
+                                                                    <property name="bg"></property>
+                                                                    <property name="context_help"></property>
+                                                                    <property name="enabled">1</property>
+                                                                    <property name="fg"></property>
+                                                                    <property name="font"></property>
+                                                                    <property name="hidden">0</property>
+                                                                    <property name="id">wxID_ANY</property>
+                                                                    <property name="maximum_size"></property>
+                                                                    <property name="maxlength">0</property>
+                                                                    <property name="minimum_size"></property>
+                                                                    <property name="name">tcKeyfile</property>
+                                                                    <property name="permission">protected</property>
+                                                                    <property name="pos"></property>
+                                                                    <property name="size">-1,22</property>
+                                                                    <property name="style"></property>
+                                                                    <property name="subclass"></property>
+                                                                    <property name="tooltip"></property>
+                                                                    <property name="value"></property>
+                                                                    <property name="window_extra_style"></property>
+                                                                    <property name="window_name"></property>
+                                                                    <property name="window_style"></property>
+                                                                    <event name="OnChar"></event>
+                                                                    <event name="OnEnterWindow"></event>
+                                                                    <event name="OnEraseBackground"></event>
+                                                                    <event name="OnKeyDown"></event>
+                                                                    <event name="OnKeyUp"></event>
+                                                                    <event name="OnKillFocus"></event>
+                                                                    <event name="OnLeaveWindow"></event>
+                                                                    <event name="OnLeftDClick"></event>
+                                                                    <event name="OnLeftDown"></event>
+                                                                    <event name="OnLeftUp"></event>
+                                                                    <event name="OnMiddleDClick"></event>
+                                                                    <event name="OnMiddleDown"></event>
+                                                                    <event name="OnMiddleUp"></event>
+                                                                    <event name="OnMotion"></event>
+                                                                    <event name="OnMouseEvents"></event>
+                                                                    <event name="OnMouseWheel"></event>
+                                                                    <event name="OnPaint"></event>
+                                                                    <event name="OnRightDClick"></event>
+                                                                    <event name="OnRightDown"></event>
+                                                                    <event name="OnRightUp"></event>
+                                                                    <event name="OnSetFocus"></event>
+                                                                    <event name="OnSize"></event>
+                                                                    <event name="OnText"></event>
+                                                                    <event name="OnTextEnter"></event>
+                                                                    <event name="OnTextMaxLen"></event>
+                                                                    <event name="OnTextURL"></event>
+                                                                    <event name="OnUpdateUI"></event>
+                                                                </object>
+                                                            </object>
+                                                            <object class="sizeritem" expanded="1">
+                                                                <property name="border">5</property>
+                                                                <property name="flag"></property>
+                                                                <property name="proportion">0</property>
+                                                                <object class="wxButton" expanded="1">
+                                                                    <property name="bg"></property>
+                                                                    <property name="context_help"></property>
+                                                                    <property name="default">0</property>
+                                                                    <property name="enabled">1</property>
+                                                                    <property name="fg"></property>
+                                                                    <property name="font"></property>
+                                                                    <property name="hidden">0</property>
+                                                                    <property name="id">wxID_ANY</property>
+                                                                    <property name="label">Browse</property>
+                                                                    <property name="maximum_size"></property>
+                                                                    <property name="minimum_size"></property>
+                                                                    <property name="name">btnBrowseKF</property>
+                                                                    <property name="permission">protected</property>
+                                                                    <property name="pos"></property>
+                                                                    <property name="size">70,25</property>
+                                                                    <property name="style"></property>
+                                                                    <property name="subclass"></property>
+                                                                    <property name="tooltip"></property>
+                                                                    <property name="window_extra_style"></property>
+                                                                    <property name="window_name"></property>
+                                                                    <property name="window_style"></property>
+                                                                    <event name="OnButtonClick"></event>
+                                                                    <event name="OnChar"></event>
+                                                                    <event name="OnEnterWindow"></event>
+                                                                    <event name="OnEraseBackground"></event>
+                                                                    <event name="OnKeyDown"></event>
+                                                                    <event name="OnKeyUp"></event>
+                                                                    <event name="OnKillFocus"></event>
+                                                                    <event name="OnLeaveWindow"></event>
+                                                                    <event name="OnLeftDClick"></event>
+                                                                    <event name="OnLeftDown"></event>
+                                                                    <event name="OnLeftUp"></event>
+                                                                    <event name="OnMiddleDClick"></event>
+                                                                    <event name="OnMiddleDown"></event>
+                                                                    <event name="OnMiddleUp"></event>
+                                                                    <event name="OnMotion"></event>
+                                                                    <event name="OnMouseEvents"></event>
+                                                                    <event name="OnMouseWheel"></event>
+                                                                    <event name="OnPaint"></event>
+                                                                    <event name="OnRightDClick"></event>
+                                                                    <event name="OnRightDown"></event>
+                                                                    <event name="OnRightUp"></event>
+                                                                    <event name="OnSetFocus"></event>
+                                                                    <event name="OnSize"></event>
+                                                                    <event name="OnUpdateUI"></event>
+                                                                </object>
+                                                            </object>
+                                                        </object>
+                                                    </object>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">5</property>
+                                                        <property name="flag">wxLEFT</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxCheckBox" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="checked">0</property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden">0</property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="label">Header encryption</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">cbEncryptHeader</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size"></property>
+                                                            <property name="style"></property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnCheckBox"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                </object>
+                                            </object>
+                                            <object class="sizeritem" expanded="1">
+                                                <property name="border">5</property>
+                                                <property name="flag">wxEXPAND</property>
+                                                <property name="proportion">0</property>
+                                                <object class="wxStaticBoxSizer" expanded="1">
+                                                    <property name="id">wxID_ANY</property>
+                                                    <property name="label">Misc.</property>
+                                                    <property name="minimum_size"></property>
+                                                    <property name="name">sbSizer4</property>
+                                                    <property name="orient">wxVERTICAL</property>
+                                                    <property name="permission">none</property>
+                                                    <event name="OnUpdateUI"></event>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">5</property>
+                                                        <property name="flag">wxEXPAND|wxLEFT</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxCheckBox" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="checked">1</property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden">0</property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="label">Solid compression</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">cbSolid</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size"></property>
+                                                            <property name="style"></property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnCheckBox"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">5</property>
+                                                        <property name="flag">wxEXPAND|wxLEFT</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxCheckBox" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="checked">1</property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden">0</property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="label">Multimedia optimization</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">cbMMOptimize</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size"></property>
+                                                            <property name="style"></property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnCheckBox"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                    <object class="sizeritem" expanded="1">
+                                                        <property name="border">5</property>
+                                                        <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT</property>
+                                                        <property name="proportion">0</property>
+                                                        <object class="wxCheckBox" expanded="1">
+                                                            <property name="bg"></property>
+                                                            <property name="checked">0</property>
+                                                            <property name="context_help"></property>
+                                                            <property name="enabled">1</property>
+                                                            <property name="fg"></property>
+                                                            <property name="font"></property>
+                                                            <property name="hidden"></property>
+                                                            <property name="id">wxID_ANY</property>
+                                                            <property name="label">Self-extracting archive</property>
+                                                            <property name="maximum_size"></property>
+                                                            <property name="minimum_size"></property>
+                                                            <property name="name">cbMakeSFX</property>
+                                                            <property name="permission">protected</property>
+                                                            <property name="pos"></property>
+                                                            <property name="size"></property>
+                                                            <property name="style"></property>
+                                                            <property name="subclass"></property>
+                                                            <property name="tooltip"></property>
+                                                            <property name="window_extra_style"></property>
+                                                            <property name="window_name"></property>
+                                                            <property name="window_style"></property>
+                                                            <event name="OnChar"></event>
+                                                            <event name="OnCheckBox"></event>
+                                                            <event name="OnEnterWindow"></event>
+                                                            <event name="OnEraseBackground"></event>
+                                                            <event name="OnKeyDown"></event>
+                                                            <event name="OnKeyUp"></event>
+                                                            <event name="OnKillFocus"></event>
+                                                            <event name="OnLeaveWindow"></event>
+                                                            <event name="OnLeftDClick"></event>
+                                                            <event name="OnLeftDown"></event>
+                                                            <event name="OnLeftUp"></event>
+                                                            <event name="OnMiddleDClick"></event>
+                                                            <event name="OnMiddleDown"></event>
+                                                            <event name="OnMiddleUp"></event>
+                                                            <event name="OnMotion"></event>
+                                                            <event name="OnMouseEvents"></event>
+                                                            <event name="OnMouseWheel"></event>
+                                                            <event name="OnPaint"></event>
+                                                            <event name="OnRightDClick"></event>
+                                                            <event name="OnRightDown"></event>
+                                                            <event name="OnRightUp"></event>
+                                                            <event name="OnSetFocus"></event>
+                                                            <event name="OnSize"></event>
+                                                            <event name="OnUpdateUI"></event>
+                                                        </object>
+                                                    </object>
+                                                </object>
+                                            </object>
+                                        </object>
+                                    </object>
+                                </object>
+                            </object>
+                        </object>
+                        <object class="notebookpage" expanded="1">
+                            <property name="bitmap"></property>
+                            <property name="label">Comment</property>
+                            <property name="select">0</property>
+                            <object class="wxPanel" expanded="1">
+                                <property name="bg"></property>
+                                <property name="context_help"></property>
+                                <property name="enabled">1</property>
+                                <property name="fg"></property>
+                                <property name="font"></property>
+                                <property name="hidden">0</property>
+                                <property name="id">wxID_ANY</property>
+                                <property name="maximum_size"></property>
+                                <property name="minimum_size"></property>
+                                <property name="name">m_panel3</property>
+                                <property name="permission">protected</property>
+                                <property name="pos"></property>
+                                <property name="size"></property>
+                                <property name="subclass"></property>
+                                <property name="tooltip"></property>
+                                <property name="window_extra_style"></property>
+                                <property name="window_name"></property>
+                                <property name="window_style">wxTAB_TRAVERSAL</property>
+                                <event name="OnChar"></event>
+                                <event name="OnEnterWindow"></event>
+                                <event name="OnEraseBackground"></event>
+                                <event name="OnKeyDown"></event>
+                                <event name="OnKeyUp"></event>
+                                <event name="OnKillFocus"></event>
+                                <event name="OnLeaveWindow"></event>
+                                <event name="OnLeftDClick"></event>
+                                <event name="OnLeftDown"></event>
+                                <event name="OnLeftUp"></event>
+                                <event name="OnMiddleDClick"></event>
+                                <event name="OnMiddleDown"></event>
+                                <event name="OnMiddleUp"></event>
+                                <event name="OnMotion"></event>
+                                <event name="OnMouseEvents"></event>
+                                <event name="OnMouseWheel"></event>
+                                <event name="OnPaint"></event>
+                                <event name="OnRightDClick"></event>
+                                <event name="OnRightDown"></event>
+                                <event name="OnRightUp"></event>
+                                <event name="OnSetFocus"></event>
+                                <event name="OnSize"></event>
+                                <event name="OnUpdateUI"></event>
+                                <object class="wxBoxSizer" expanded="1">
+                                    <property name="minimum_size"></property>
+                                    <property name="name">bSizer211</property>
+                                    <property name="orient">wxVERTICAL</property>
+                                    <property name="permission">none</property>
+                                    <object class="sizeritem" expanded="1">
+                                        <property name="border">5</property>
+                                        <property name="flag">wxALIGN_CENTER|wxALL|wxEXPAND</property>
+                                        <property name="proportion">1</property>
+                                        <object class="wxTextCtrl" expanded="1">
+                                            <property name="bg"></property>
+                                            <property name="context_help"></property>
+                                            <property name="enabled">1</property>
+                                            <property name="fg"></property>
+                                            <property name="font"></property>
+                                            <property name="hidden">0</property>
+                                            <property name="id">wxID_ANY</property>
+                                            <property name="maximum_size"></property>
+                                            <property name="maxlength">0</property>
+                                            <property name="minimum_size"></property>
+                                            <property name="name">tcComment</property>
+                                            <property name="permission">protected</property>
+                                            <property name="pos"></property>
+                                            <property name="size">-1,-1</property>
+                                            <property name="style">wxTE_MULTILINE</property>
+                                            <property name="subclass"></property>
+                                            <property name="tooltip"></property>
+                                            <property name="value"></property>
+                                            <property name="window_extra_style"></property>
+                                            <property name="window_name"></property>
+                                            <property name="window_style"></property>
+                                            <event name="OnChar"></event>
+                                            <event name="OnEnterWindow"></event>
+                                            <event name="OnEraseBackground"></event>
+                                            <event name="OnKeyDown"></event>
+                                            <event name="OnKeyUp"></event>
+                                            <event name="OnKillFocus"></event>
+                                            <event name="OnLeaveWindow"></event>
+                                            <event name="OnLeftDClick"></event>
+                                            <event name="OnLeftDown"></event>
+                                            <event name="OnLeftUp"></event>
+                                            <event name="OnMiddleDClick"></event>
+                                            <event name="OnMiddleDown"></event>
+                                            <event name="OnMiddleUp"></event>
+                                            <event name="OnMotion"></event>
+                                            <event name="OnMouseEvents"></event>
+                                            <event name="OnMouseWheel"></event>
+                                            <event name="OnPaint"></event>
+                                            <event name="OnRightDClick"></event>
+                                            <event name="OnRightDown"></event>
+                                            <event name="OnRightUp"></event>
+                                            <event name="OnSetFocus"></event>
+                                            <event name="OnSize"></event>
+                                            <event name="OnText"></event>
+                                            <event name="OnTextEnter"></event>
+                                            <event name="OnTextMaxLen"></event>
+                                            <event name="OnTextURL"></event>
+                                            <event name="OnUpdateUI"></event>
+                                        </object>
+                                    </object>
+                                </object>
+                            </object>
+                        </object>
+                        <object class="notebookpage" expanded="1">
+                            <property name="bitmap"></property>
+                            <property name="label">Files</property>
+                            <property name="select">0</property>
+                            <object class="wxPanel" expanded="1">
+                                <property name="bg"></property>
+                                <property name="context_help"></property>
+                                <property name="enabled">1</property>
+                                <property name="fg"></property>
+                                <property name="font"></property>
+                                <property name="hidden">0</property>
+                                <property name="id">wxID_ANY</property>
+                                <property name="maximum_size"></property>
+                                <property name="minimum_size"></property>
+                                <property name="name">m_panel5</property>
+                                <property name="permission">protected</property>
+                                <property name="pos"></property>
+                                <property name="size"></property>
+                                <property name="subclass"></property>
+                                <property name="tooltip"></property>
+                                <property name="window_extra_style"></property>
+                                <property name="window_name"></property>
+                                <property name="window_style">wxTAB_TRAVERSAL</property>
+                                <event name="OnChar"></event>
+                                <event name="OnEnterWindow"></event>
+                                <event name="OnEraseBackground"></event>
+                                <event name="OnKeyDown"></event>
+                                <event name="OnKeyUp"></event>
+                                <event name="OnKillFocus"></event>
+                                <event name="OnLeaveWindow"></event>
+                                <event name="OnLeftDClick"></event>
+                                <event name="OnLeftDown"></event>
+                                <event name="OnLeftUp"></event>
+                                <event name="OnMiddleDClick"></event>
+                                <event name="OnMiddleDown"></event>
+                                <event name="OnMiddleUp"></event>
+                                <event name="OnMotion"></event>
+                                <event name="OnMouseEvents"></event>
+                                <event name="OnMouseWheel"></event>
+                                <event name="OnPaint"></event>
+                                <event name="OnRightDClick"></event>
+                                <event name="OnRightDown"></event>
+                                <event name="OnRightUp"></event>
+                                <event name="OnSetFocus"></event>
+                                <event name="OnSize"></event>
+                                <event name="OnUpdateUI"></event>
+                                <object class="wxBoxSizer" expanded="1">
+                                    <property name="minimum_size"></property>
+                                    <property name="name">bSizer13</property>
+                                    <property name="orient">wxVERTICAL</property>
+                                    <property name="permission">none</property>
+                                    <object class="sizeritem" expanded="1">
+                                        <property name="border">5</property>
+                                        <property name="flag">wxALL|wxEXPAND</property>
+                                        <property name="proportion">1</property>
+                                        <object class="wxListCtrl" expanded="1">
+                                            <property name="bg"></property>
+                                            <property name="context_help"></property>
+                                            <property name="enabled">1</property>
+                                            <property name="fg"></property>
+                                            <property name="font"></property>
+                                            <property name="hidden">0</property>
+                                            <property name="id">wxID_ANY</property>
+                                            <property name="maximum_size"></property>
+                                            <property name="minimum_size"></property>
+                                            <property name="name">lcFiles</property>
+                                            <property name="permission">protected</property>
+                                            <property name="pos"></property>
+                                            <property name="size"></property>
+                                            <property name="style">wxLC_REPORT</property>
+                                            <property name="subclass"></property>
+                                            <property name="tooltip"></property>
+                                            <property name="window_extra_style"></property>
+                                            <property name="window_name"></property>
+                                            <property name="window_style"></property>
+                                            <event name="OnChar"></event>
+                                            <event name="OnEnterWindow"></event>
+                                            <event name="OnEraseBackground"></event>
+                                            <event name="OnKeyDown"></event>
+                                            <event name="OnKeyUp"></event>
+                                            <event name="OnKillFocus"></event>
+                                            <event name="OnLeaveWindow"></event>
+                                            <event name="OnLeftDClick"></event>
+                                            <event name="OnLeftDown"></event>
+                                            <event name="OnLeftUp"></event>
+                                            <event name="OnListBeginDrag"></event>
+                                            <event name="OnListBeginLabelEdit"></event>
+                                            <event name="OnListBeginRDrag"></event>
+                                            <event name="OnListCacheHint"></event>
+                                            <event name="OnListColBeginDrag"></event>
+                                            <event name="OnListColClick"></event>
+                                            <event name="OnListColDragging"></event>
+                                            <event name="OnListColEndDrag"></event>
+                                            <event name="OnListColRightClick"></event>
+                                            <event name="OnListDeleteAllItems"></event>
+                                            <event name="OnListDeleteItem"></event>
+                                            <event name="OnListEndLabelEdit"></event>
+                                            <event name="OnListInsertItem"></event>
+                                            <event name="OnListItemActivated"></event>
+                                            <event name="OnListItemDeselected"></event>
+                                            <event name="OnListItemFocused"></event>
+                                            <event name="OnListItemMiddleClick"></event>
+                                            <event name="OnListItemRightClick"></event>
+                                            <event name="OnListItemSelected"></event>
+                                            <event name="OnListKeyDown"></event>
+                                            <event name="OnMiddleDClick"></event>
+                                            <event name="OnMiddleDown"></event>
+                                            <event name="OnMiddleUp"></event>
+                                            <event name="OnMotion"></event>
+                                            <event name="OnMouseEvents"></event>
+                                            <event name="OnMouseWheel"></event>
+                                            <event name="OnPaint"></event>
+                                            <event name="OnRightDClick"></event>
+                                            <event name="OnRightDown"></event>
+                                            <event name="OnRightUp"></event>
+                                            <event name="OnSetFocus"></event>
+                                            <event name="OnSize"></event>
+                                            <event name="OnUpdateUI"></event>
+                                        </object>
+                                    </object>
+                                </object>
+                            </object>
+                        </object>
+                    </object>
+                </object>
+                <object class="sizeritem" expanded="1">
+                    <property name="border">5</property>
+                    <property name="flag">wxEXPAND</property>
+                    <property name="proportion">1</property>
+                    <object class="wxBoxSizer" expanded="1">
+                        <property name="minimum_size"></property>
+                        <property name="name">bSizer23</property>
+                        <property name="orient">wxHORIZONTAL</property>
+                        <property name="permission">none</property>
+                        <object class="sizeritem" expanded="1">
+                            <property name="border">5</property>
+                            <property name="flag">wxEXPAND</property>
+                            <property name="proportion">1</property>
+                            <object class="spacer" expanded="1">
+                                <property name="height">0</property>
+                                <property name="permission">protected</property>
+                                <property name="width">0</property>
+                            </object>
+                        </object>
+                        <object class="sizeritem" expanded="1">
+                            <property name="border">5</property>
+                            <property name="flag">wxALIGN_CENTER_VERTICAL</property>
+                            <property name="proportion">0</property>
+                            <object class="wxButton" expanded="1">
+                                <property name="bg"></property>
+                                <property name="context_help"></property>
+                                <property name="default"></property>
+                                <property name="enabled">1</property>
+                                <property name="fg"></property>
+                                <property name="font"></property>
+                                <property name="hidden"></property>
+                                <property name="id">wxID_ANY</property>
+                                <property name="label">OK</property>
+                                <property name="maximum_size"></property>
+                                <property name="minimum_size"></property>
+                                <property name="name">btnOK</property>
+                                <property name="permission">protected</property>
+                                <property name="pos"></property>
+                                <property name="size">-1,25</property>
+                                <property name="style"></property>
+                                <property name="subclass"></property>
+                                <property name="tooltip"></property>
+                                <property name="window_extra_style"></property>
+                                <property name="window_name"></property>
+                                <property name="window_style"></property>
+                                <event name="OnButtonClick"></event>
+                                <event name="OnChar"></event>
+                                <event name="OnEnterWindow"></event>
+                                <event name="OnEraseBackground"></event>
+                                <event name="OnKeyDown"></event>
+                                <event name="OnKeyUp"></event>
+                                <event name="OnKillFocus"></event>
+                                <event name="OnLeaveWindow"></event>
+                                <event name="OnLeftDClick"></event>
+                                <event name="OnLeftDown"></event>
+                                <event name="OnLeftUp"></event>
+                                <event name="OnMiddleDClick"></event>
+                                <event name="OnMiddleDown"></event>
+                                <event name="OnMiddleUp"></event>
+                                <event name="OnMotion"></event>
+                                <event name="OnMouseEvents"></event>
+                                <event name="OnMouseWheel"></event>
+                                <event name="OnPaint"></event>
+                                <event name="OnRightDClick"></event>
+                                <event name="OnRightDown"></event>
+                                <event name="OnRightUp"></event>
+                                <event name="OnSetFocus"></event>
+                                <event name="OnSize"></event>
+                                <event name="OnUpdateUI"></event>
+                            </object>
+                        </object>
+                        <object class="sizeritem" expanded="1">
+                            <property name="border">5</property>
+                            <property name="flag">wxALIGN_CENTER|wxLEFT|wxRIGHT</property>
+                            <property name="proportion">0</property>
+                            <object class="wxButton" expanded="1">
+                                <property name="bg"></property>
+                                <property name="context_help"></property>
+                                <property name="default"></property>
+                                <property name="enabled">1</property>
+                                <property name="fg"></property>
+                                <property name="font"></property>
+                                <property name="hidden"></property>
+                                <property name="id">wxID_ANY</property>
+                                <property name="label">Cancel</property>
+                                <property name="maximum_size"></property>
+                                <property name="minimum_size"></property>
+                                <property name="name">btnCancel</property>
+                                <property name="permission">protected</property>
+                                <property name="pos"></property>
+                                <property name="size">-1,25</property>
+                                <property name="style"></property>
+                                <property name="subclass"></property>
+                                <property name="tooltip"></property>
+                                <property name="window_extra_style"></property>
+                                <property name="window_name"></property>
+                                <property name="window_style"></property>
+                                <event name="OnButtonClick"></event>
+                                <event name="OnChar"></event>
+                                <event name="OnEnterWindow"></event>
+                                <event name="OnEraseBackground"></event>
+                                <event name="OnKeyDown"></event>
+                                <event name="OnKeyUp"></event>
+                                <event name="OnKillFocus"></event>
+                                <event name="OnLeaveWindow"></event>
+                                <event name="OnLeftDClick"></event>
+                                <event name="OnLeftDown"></event>
+                                <event name="OnLeftUp"></event>
+                                <event name="OnMiddleDClick"></event>
+                                <event name="OnMiddleDown"></event>
+                                <event name="OnMiddleUp"></event>
+                                <event name="OnMotion"></event>
+                                <event name="OnMouseEvents"></event>
+                                <event name="OnMouseWheel"></event>
+                                <event name="OnPaint"></event>
+                                <event name="OnRightDClick"></event>
+                                <event name="OnRightDown"></event>
+                                <event name="OnRightUp"></event>
+                                <event name="OnSetFocus"></event>
+                                <event name="OnSize"></event>
+                                <event name="OnUpdateUI"></event>
+                            </object>
+                        </object>
+                        <object class="sizeritem" expanded="1">
+                            <property name="border">5</property>
+                            <property name="flag">wxEXPAND</property>
+                            <property name="proportion">1</property>
+                            <object class="spacer" expanded="1">
+                                <property name="height">0</property>
+                                <property name="permission">protected</property>
+                                <property name="width">0</property>
+                            </object>
+                        </object>
+                    </object>
+                </object>
+            </object>
+        </object>
+    </object>
+</wxFormBuilder_Project>
diff --git a/src/lychee/ui/dlg_process.fbp b/src/lychee/ui/dlg_process.fbp
new file mode 100644 (file)
index 0000000..648193b
--- /dev/null
@@ -0,0 +1,366 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\r
+<wxFormBuilder_Project>\r
+    <FileVersion major="1" minor="9" />\r
+    <object class="Project" expanded="1">\r
+        <property name="class_decoration"></property>\r
+        <property name="code_generation">XRC</property>\r
+        <property name="disconnect_events">1</property>\r
+        <property name="encoding">UTF-8</property>\r
+        <property name="event_generation">connect</property>\r
+        <property name="file">dlg_process</property>\r
+        <property name="first_id">1000</property>\r
+        <property name="help_provider">none</property>\r
+        <property name="internationalize">0</property>\r
+        <property name="name">dlg_process</property>\r
+        <property name="namespace"></property>\r
+        <property name="path">../../../share/xrc</property>\r
+        <property name="precompiled_header"></property>\r
+        <property name="relative_path">1</property>\r
+        <property name="use_enum">0</property>\r
+        <property name="use_microsoft_bom">0</property>\r
+        <object class="Dialog" expanded="1">\r
+            <property name="bg"></property>\r
+            <property name="center"></property>\r
+            <property name="context_help"></property>\r
+            <property name="enabled">1</property>\r
+            <property name="extra_style"></property>\r
+            <property name="fg"></property>\r
+            <property name="font"></property>\r
+            <property name="hidden"></property>\r
+            <property name="id">wxID_ANY</property>\r
+            <property name="maximum_size"></property>\r
+            <property name="minimum_size"></property>\r
+            <property name="name">dlg_process</property>\r
+            <property name="pos"></property>\r
+            <property name="size"></property>\r
+            <property name="style">wxDEFAULT_DIALOG_STYLE</property>\r
+            <property name="subclass">ProcessDialog</property>\r
+            <property name="title">Frontend is processing ...</property>\r
+            <property name="tooltip"></property>\r
+            <property name="window_extra_style"></property>\r
+            <property name="window_name"></property>\r
+            <property name="window_style"></property>\r
+            <event name="OnActivate"></event>\r
+            <event name="OnActivateApp"></event>\r
+            <event name="OnChar"></event>\r
+            <event name="OnClose"></event>\r
+            <event name="OnEnterWindow"></event>\r
+            <event name="OnEraseBackground"></event>\r
+            <event name="OnHibernate"></event>\r
+            <event name="OnIconize"></event>\r
+            <event name="OnIdle"></event>\r
+            <event name="OnInitDialog"></event>\r
+            <event name="OnKeyDown"></event>\r
+            <event name="OnKeyUp"></event>\r
+            <event name="OnKillFocus"></event>\r
+            <event name="OnLeaveWindow"></event>\r
+            <event name="OnLeftDClick"></event>\r
+            <event name="OnLeftDown"></event>\r
+            <event name="OnLeftUp"></event>\r
+            <event name="OnMiddleDClick"></event>\r
+            <event name="OnMiddleDown"></event>\r
+            <event name="OnMiddleUp"></event>\r
+            <event name="OnMotion"></event>\r
+            <event name="OnMouseEvents"></event>\r
+            <event name="OnMouseWheel"></event>\r
+            <event name="OnPaint"></event>\r
+            <event name="OnRightDClick"></event>\r
+            <event name="OnRightDown"></event>\r
+            <event name="OnRightUp"></event>\r
+            <event name="OnSetFocus"></event>\r
+            <event name="OnSize"></event>\r
+            <event name="OnUpdateUI"></event>\r
+            <object class="wxBoxSizer" expanded="1">\r
+                <property name="minimum_size"></property>\r
+                <property name="name">bSizer10</property>\r
+                <property name="orient">wxVERTICAL</property>\r
+                <property name="permission">none</property>\r
+                <object class="sizeritem" expanded="1">\r
+                    <property name="border">0</property>\r
+                    <property name="flag">wxEXPAND</property>\r
+                    <property name="proportion">0</property>\r
+                    <object class="wxBoxSizer" expanded="1">\r
+                        <property name="minimum_size"></property>\r
+                        <property name="name">bSizer11</property>\r
+                        <property name="orient">wxHORIZONTAL</property>\r
+                        <property name="permission">none</property>\r
+                        <object class="sizeritem" expanded="1">\r
+                            <property name="border">3</property>\r
+                            <property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property>\r
+                            <property name="proportion">0</property>\r
+                            <object class="wxStaticText" expanded="1">\r
+                                <property name="bg"></property>\r
+                                <property name="context_help"></property>\r
+                                <property name="enabled">1</property>\r
+                                <property name="fg"></property>\r
+                                <property name="font"></property>\r
+                                <property name="hidden"></property>\r
+                                <property name="id">wxID_ANY</property>\r
+                                <property name="label">Source:</property>\r
+                                <property name="maximum_size"></property>\r
+                                <property name="minimum_size"></property>\r
+                                <property name="name">label_3</property>\r
+                                <property name="permission">protected</property>\r
+                                <property name="pos"></property>\r
+                                <property name="size">50, 14</property>\r
+                                <property name="style"></property>\r
+                                <property name="subclass"></property>\r
+                                <property name="tooltip"></property>\r
+                                <property name="window_extra_style"></property>\r
+                                <property name="window_name"></property>\r
+                                <property name="window_style"></property>\r
+                                <property name="wrap">-1</property>\r
+                                <event name="OnChar"></event>\r
+                                <event name="OnEnterWindow"></event>\r
+                                <event name="OnEraseBackground"></event>\r
+                                <event name="OnKeyDown"></event>\r
+                                <event name="OnKeyUp"></event>\r
+                                <event name="OnKillFocus"></event>\r
+                                <event name="OnLeaveWindow"></event>\r
+                                <event name="OnLeftDClick"></event>\r
+                                <event name="OnLeftDown"></event>\r
+                                <event name="OnLeftUp"></event>\r
+                                <event name="OnMiddleDClick"></event>\r
+                                <event name="OnMiddleDown"></event>\r
+                                <event name="OnMiddleUp"></event>\r
+                                <event name="OnMotion"></event>\r
+                                <event name="OnMouseEvents"></event>\r
+                                <event name="OnMouseWheel"></event>\r
+                                <event name="OnPaint"></event>\r
+                                <event name="OnRightDClick"></event>\r
+                                <event name="OnRightDown"></event>\r
+                                <event name="OnRightUp"></event>\r
+                                <event name="OnSetFocus"></event>\r
+                                <event name="OnSize"></event>\r
+                                <event name="OnUpdateUI"></event>\r
+                            </object>\r
+                        </object>\r
+                        <object class="sizeritem" expanded="1">\r
+                            <property name="border">3</property>\r
+                            <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
+                            <property name="proportion">0</property>\r
+                            <object class="wxTextCtrl" expanded="1">\r
+                                <property name="bg"></property>\r
+                                <property name="context_help"></property>\r
+                                <property name="enabled">0</property>\r
+                                <property name="fg"></property>\r
+                                <property name="font"></property>\r
+                                <property name="hidden"></property>\r
+                                <property name="id">wxID_ANY</property>\r
+                                <property name="maximum_size"></property>\r
+                                <property name="maxlength">0</property>\r
+                                <property name="minimum_size"></property>\r
+                                <property name="name">ebSource</property>\r
+                                <property name="permission">protected</property>\r
+                                <property name="pos"></property>\r
+                                <property name="size">300,22</property>\r
+                                <property name="style"></property>\r
+                                <property name="subclass"></property>\r
+                                <property name="tooltip"></property>\r
+                                <property name="value"></property>\r
+                                <property name="window_extra_style"></property>\r
+                                <property name="window_name"></property>\r
+                                <property name="window_style"></property>\r
+                                <event name="OnChar"></event>\r
+                                <event name="OnEnterWindow"></event>\r
+                                <event name="OnEraseBackground"></event>\r
+                                <event name="OnKeyDown"></event>\r
+                                <event name="OnKeyUp"></event>\r
+                                <event name="OnKillFocus"></event>\r
+                                <event name="OnLeaveWindow"></event>\r
+                                <event name="OnLeftDClick"></event>\r
+                                <event name="OnLeftDown"></event>\r
+                                <event name="OnLeftUp"></event>\r
+                                <event name="OnMiddleDClick"></event>\r
+                                <event name="OnMiddleDown"></event>\r
+                                <event name="OnMiddleUp"></event>\r
+                                <event name="OnMotion"></event>\r
+                                <event name="OnMouseEvents"></event>\r
+                                <event name="OnMouseWheel"></event>\r
+                                <event name="OnPaint"></event>\r
+                                <event name="OnRightDClick"></event>\r
+                                <event name="OnRightDown"></event>\r
+                                <event name="OnRightUp"></event>\r
+                                <event name="OnSetFocus"></event>\r
+                                <event name="OnSize"></event>\r
+                                <event name="OnText"></event>\r
+                                <event name="OnTextEnter"></event>\r
+                                <event name="OnTextMaxLen"></event>\r
+                                <event name="OnTextURL"></event>\r
+                                <event name="OnUpdateUI"></event>\r
+                            </object>\r
+                        </object>\r
+                    </object>\r
+                </object>\r
+                <object class="sizeritem" expanded="1">\r
+                    <property name="border">0</property>\r
+                    <property name="flag">wxEXPAND</property>\r
+                    <property name="proportion">0</property>\r
+                    <object class="wxBoxSizer" expanded="1">\r
+                        <property name="minimum_size"></property>\r
+                        <property name="name">bSizer12</property>\r
+                        <property name="orient">wxHORIZONTAL</property>\r
+                        <property name="permission">none</property>\r
+                        <object class="sizeritem" expanded="1">\r
+                            <property name="border">3</property>\r
+                            <property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property>\r
+                            <property name="proportion">0</property>\r
+                            <object class="wxStaticText" expanded="1">\r
+                                <property name="bg"></property>\r
+                                <property name="context_help"></property>\r
+                                <property name="enabled">1</property>\r
+                                <property name="fg"></property>\r
+                                <property name="font"></property>\r
+                                <property name="hidden"></property>\r
+                                <property name="id">wxID_ANY</property>\r
+                                <property name="label">Target:</property>\r
+                                <property name="maximum_size"></property>\r
+                                <property name="minimum_size"></property>\r
+                                <property name="name">label_4</property>\r
+                                <property name="permission">protected</property>\r
+                                <property name="pos"></property>\r
+                                <property name="size">50, 14</property>\r
+                                <property name="style"></property>\r
+                                <property name="subclass"></property>\r
+                                <property name="tooltip"></property>\r
+                                <property name="window_extra_style"></property>\r
+                                <property name="window_name"></property>\r
+                                <property name="window_style"></property>\r
+                                <property name="wrap">-1</property>\r
+                                <event name="OnChar"></event>\r
+                                <event name="OnEnterWindow"></event>\r
+                                <event name="OnEraseBackground"></event>\r
+                                <event name="OnKeyDown"></event>\r
+                                <event name="OnKeyUp"></event>\r
+                                <event name="OnKillFocus"></event>\r
+                                <event name="OnLeaveWindow"></event>\r
+                                <event name="OnLeftDClick"></event>\r
+                                <event name="OnLeftDown"></event>\r
+                                <event name="OnLeftUp"></event>\r
+                                <event name="OnMiddleDClick"></event>\r
+                                <event name="OnMiddleDown"></event>\r
+                                <event name="OnMiddleUp"></event>\r
+                                <event name="OnMotion"></event>\r
+                                <event name="OnMouseEvents"></event>\r
+                                <event name="OnMouseWheel"></event>\r
+                                <event name="OnPaint"></event>\r
+                                <event name="OnRightDClick"></event>\r
+                                <event name="OnRightDown"></event>\r
+                                <event name="OnRightUp"></event>\r
+                                <event name="OnSetFocus"></event>\r
+                                <event name="OnSize"></event>\r
+                                <event name="OnUpdateUI"></event>\r
+                            </object>\r
+                        </object>\r
+                        <object class="sizeritem" expanded="1">\r
+                            <property name="border">3</property>\r
+                            <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
+                            <property name="proportion">0</property>\r
+                            <object class="wxTextCtrl" expanded="1">\r
+                                <property name="bg"></property>\r
+                                <property name="context_help"></property>\r
+                                <property name="enabled">0</property>\r
+                                <property name="fg"></property>\r
+                                <property name="font"></property>\r
+                                <property name="hidden"></property>\r
+                                <property name="id">wxID_ANY</property>\r
+                                <property name="maximum_size"></property>\r
+                                <property name="maxlength">0</property>\r
+                                <property name="minimum_size"></property>\r
+                                <property name="name">ebTarget</property>\r
+                                <property name="permission">protected</property>\r
+                                <property name="pos"></property>\r
+                                <property name="size">300,22</property>\r
+                                <property name="style"></property>\r
+                                <property name="subclass"></property>\r
+                                <property name="tooltip"></property>\r
+                                <property name="value"></property>\r
+                                <property name="window_extra_style"></property>\r
+                                <property name="window_name"></property>\r
+                                <property name="window_style"></property>\r
+                                <event name="OnChar"></event>\r
+                                <event name="OnEnterWindow"></event>\r
+                                <event name="OnEraseBackground"></event>\r
+                                <event name="OnKeyDown"></event>\r
+                                <event name="OnKeyUp"></event>\r
+                                <event name="OnKillFocus"></event>\r
+                                <event name="OnLeaveWindow"></event>\r
+                                <event name="OnLeftDClick"></event>\r
+                                <event name="OnLeftDown"></event>\r
+                                <event name="OnLeftUp"></event>\r
+                                <event name="OnMiddleDClick"></event>\r
+                                <event name="OnMiddleDown"></event>\r
+                                <event name="OnMiddleUp"></event>\r
+                                <event name="OnMotion"></event>\r
+                                <event name="OnMouseEvents"></event>\r
+                                <event name="OnMouseWheel"></event>\r
+                                <event name="OnPaint"></event>\r
+                                <event name="OnRightDClick"></event>\r
+                                <event name="OnRightDown"></event>\r
+                                <event name="OnRightUp"></event>\r
+                                <event name="OnSetFocus"></event>\r
+                                <event name="OnSize"></event>\r
+                                <event name="OnText"></event>\r
+                                <event name="OnTextEnter"></event>\r
+                                <event name="OnTextMaxLen"></event>\r
+                                <event name="OnTextURL"></event>\r
+                                <event name="OnUpdateUI"></event>\r
+                            </object>\r
+                        </object>\r
+                    </object>\r
+                </object>\r
+                <object class="sizeritem" expanded="1">\r
+                    <property name="border">5</property>\r
+                    <property name="flag">wxALL|wxEXPAND</property>\r
+                    <property name="proportion">0</property>\r
+                    <object class="wxGauge" expanded="1">\r
+                        <property name="bg"></property>\r
+                        <property name="context_help"></property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="fg"></property>\r
+                        <property name="font"></property>\r
+                        <property name="hidden"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="maximum_size"></property>\r
+                        <property name="minimum_size"></property>\r
+                        <property name="name">gauge</property>\r
+                        <property name="permission">protected</property>\r
+                        <property name="pos"></property>\r
+                        <property name="range">10</property>\r
+                        <property name="size">246, 20</property>\r
+                        <property name="style">wxGA_HORIZONTAL</property>\r
+                        <property name="subclass"></property>\r
+                        <property name="tooltip"></property>\r
+                        <property name="value">0</property>\r
+                        <property name="window_extra_style"></property>\r
+                        <property name="window_name"></property>\r
+                        <property name="window_style"></property>\r
+                        <event name="OnChar"></event>\r
+                        <event name="OnEnterWindow"></event>\r
+                        <event name="OnEraseBackground"></event>\r
+                        <event name="OnKeyDown"></event>\r
+                        <event name="OnKeyUp"></event>\r
+                        <event name="OnKillFocus"></event>\r
+                        <event name="OnLeaveWindow"></event>\r
+                        <event name="OnLeftDClick"></event>\r
+                        <event name="OnLeftDown"></event>\r
+                        <event name="OnLeftUp"></event>\r
+                        <event name="OnMiddleDClick"></event>\r
+                        <event name="OnMiddleDown"></event>\r
+                        <event name="OnMiddleUp"></event>\r
+                        <event name="OnMotion"></event>\r
+                        <event name="OnMouseEvents"></event>\r
+                        <event name="OnMouseWheel"></event>\r
+                        <event name="OnPaint"></event>\r
+                        <event name="OnRightDClick"></event>\r
+                        <event name="OnRightDown"></event>\r
+                        <event name="OnRightUp"></event>\r
+                        <event name="OnSetFocus"></event>\r
+                        <event name="OnSize"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                </object>\r
+            </object>\r
+        </object>\r
+    </object>\r
+</wxFormBuilder_Project>\r
diff --git a/src/lychee/ui/frm_main.fbp b/src/lychee/ui/frm_main.fbp
new file mode 100644 (file)
index 0000000..6557d17
--- /dev/null
@@ -0,0 +1,993 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\r
+<wxFormBuilder_Project>\r
+    <FileVersion major="1" minor="9" />\r
+    <object class="Project" expanded="1">\r
+        <property name="class_decoration"></property>\r
+        <property name="code_generation">XRC</property>\r
+        <property name="disconnect_events">1</property>\r
+        <property name="encoding">UTF-8</property>\r
+        <property name="event_generation">connect</property>\r
+        <property name="file">frm_main</property>\r
+        <property name="first_id">1000</property>\r
+        <property name="help_provider">none</property>\r
+        <property name="internationalize">0</property>\r
+        <property name="name">frm_main</property>\r
+        <property name="namespace"></property>\r
+        <property name="path">../../../share/xrc</property>\r
+        <property name="precompiled_header"></property>\r
+        <property name="relative_path">1</property>\r
+        <property name="use_enum">0</property>\r
+        <property name="use_microsoft_bom">0</property>\r
+        <object class="Frame" expanded="1">\r
+            <property name="bg"></property>\r
+            <property name="center"></property>\r
+            <property name="context_help"></property>\r
+            <property name="enabled">1</property>\r
+            <property name="extra_style"></property>\r
+            <property name="fg"></property>\r
+            <property name="font"></property>\r
+            <property name="hidden"></property>\r
+            <property name="id">wxID_ANY</property>\r
+            <property name="maximum_size"></property>\r
+            <property name="minimum_size"></property>\r
+            <property name="name">frame_main</property>\r
+            <property name="pos"></property>\r
+            <property name="size">800, 400</property>\r
+            <property name="style">wxDEFAULT_FRAME_STYLE</property>\r
+            <property name="subclass">MainFrame</property>\r
+            <property name="title">Frontend</property>\r
+            <property name="tooltip"></property>\r
+            <property name="window_extra_style"></property>\r
+            <property name="window_name"></property>\r
+            <property name="window_style"></property>\r
+            <property name="xrc_skip_sizer">1</property>\r
+            <event name="OnActivate"></event>\r
+            <event name="OnActivateApp"></event>\r
+            <event name="OnChar"></event>\r
+            <event name="OnClose"></event>\r
+            <event name="OnEnterWindow"></event>\r
+            <event name="OnEraseBackground"></event>\r
+            <event name="OnHibernate"></event>\r
+            <event name="OnIconize"></event>\r
+            <event name="OnIdle"></event>\r
+            <event name="OnKeyDown"></event>\r
+            <event name="OnKeyUp"></event>\r
+            <event name="OnKillFocus"></event>\r
+            <event name="OnLeaveWindow"></event>\r
+            <event name="OnLeftDClick"></event>\r
+            <event name="OnLeftDown"></event>\r
+            <event name="OnLeftUp"></event>\r
+            <event name="OnMiddleDClick"></event>\r
+            <event name="OnMiddleDown"></event>\r
+            <event name="OnMiddleUp"></event>\r
+            <event name="OnMotion"></event>\r
+            <event name="OnMouseEvents"></event>\r
+            <event name="OnMouseWheel"></event>\r
+            <event name="OnPaint"></event>\r
+            <event name="OnRightDClick"></event>\r
+            <event name="OnRightDown"></event>\r
+            <event name="OnRightUp"></event>\r
+            <event name="OnSetFocus"></event>\r
+            <event name="OnSize"></event>\r
+            <event name="OnUpdateUI"></event>\r
+            <object class="wxMenuBar" expanded="1">\r
+                <property name="bg"></property>\r
+                <property name="context_help"></property>\r
+                <property name="enabled">1</property>\r
+                <property name="fg"></property>\r
+                <property name="font"></property>\r
+                <property name="hidden">0</property>\r
+                <property name="id">wxID_ANY</property>\r
+                <property name="label"></property>\r
+                <property name="maximum_size"></property>\r
+                <property name="minimum_size"></property>\r
+                <property name="name">menubar</property>\r
+                <property name="permission">protected</property>\r
+                <property name="pos"></property>\r
+                <property name="size"></property>\r
+                <property name="style"></property>\r
+                <property name="subclass"></property>\r
+                <property name="tooltip"></property>\r
+                <property name="window_extra_style"></property>\r
+                <property name="window_name"></property>\r
+                <property name="window_style"></property>\r
+                <event name="OnChar"></event>\r
+                <event name="OnEnterWindow"></event>\r
+                <event name="OnEraseBackground"></event>\r
+                <event name="OnKeyDown"></event>\r
+                <event name="OnKeyUp"></event>\r
+                <event name="OnKillFocus"></event>\r
+                <event name="OnLeaveWindow"></event>\r
+                <event name="OnLeftDClick"></event>\r
+                <event name="OnLeftDown"></event>\r
+                <event name="OnLeftUp"></event>\r
+                <event name="OnMiddleDClick"></event>\r
+                <event name="OnMiddleDown"></event>\r
+                <event name="OnMiddleUp"></event>\r
+                <event name="OnMotion"></event>\r
+                <event name="OnMouseEvents"></event>\r
+                <event name="OnMouseWheel"></event>\r
+                <event name="OnPaint"></event>\r
+                <event name="OnRightDClick"></event>\r
+                <event name="OnRightDown"></event>\r
+                <event name="OnRightUp"></event>\r
+                <event name="OnSetFocus"></event>\r
+                <event name="OnSize"></event>\r
+                <event name="OnUpdateUI"></event>\r
+                <object class="wxMenu" expanded="1">\r
+                    <property name="label">File</property>\r
+                    <property name="name">m_menu1</property>\r
+                    <property name="permission">protected</property>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap">../share/ico/16/create.png; Load From File</property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_NEW</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Create archive</property>\r
+                        <property name="name">Arc_Create</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut"></property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap">../share/ico/16/open.png; Load From File</property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_OPEN</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Open archive</property>\r
+                        <property name="name">Arc_Open</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut"></property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap">../share/ico/16/close.png; Load From File</property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">0</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_CLOSE</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Close archive</property>\r
+                        <property name="name">Arc_Close</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut"></property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="separator" expanded="1">\r
+                        <property name="permission">none</property>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap">../share/ico/16/add.png; Load From File</property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">0</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Add files</property>\r
+                        <property name="name">Arc_Add</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut">Ins</property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap">../share/ico/16/sfx.png; Load From File</property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">0</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Make SFX</property>\r
+                        <property name="name">Arc_SFX</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut"></property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap">../share/ico/16/unsfx.png; Load From File</property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">0</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">UnSFX</property>\r
+                        <property name="name">Arc_UnSFX</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut"></property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="separator" expanded="1">\r
+                        <property name="permission">none</property>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap"></property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_EXIT</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Exit</property>\r
+                        <property name="name">Exe_Exit</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut">Ctrl+Q</property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                </object>\r
+                <object class="wxMenu" expanded="1">\r
+                    <property name="label">Archive</property>\r
+                    <property name="name">m_menu2</property>\r
+                    <property name="permission">protected</property>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap">../share/ico/16/extract.png; Load From File</property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">0</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Extract</property>\r
+                        <property name="name">Arc_Extract</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut"></property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap">../share/ico/16/delete.png; Load From File</property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">0</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Delete</property>\r
+                        <property name="name">Arc_Delete</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut">Del</property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap">../share/ico/16/test.png; Load From File</property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">0</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Test</property>\r
+                        <property name="name">Arc_Test</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut"></property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap">../share/ico/16/repair.png; Load From File</property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">0</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Repair</property>\r
+                        <property name="name">Arc_Repair</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut"></property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                </object>\r
+                <object class="wxMenu" expanded="1">\r
+                    <property name="label">View</property>\r
+                    <property name="name">m_menu3</property>\r
+                    <property name="permission">protected</property>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap"></property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_RADIO</property>\r
+                        <property name="label">Icons</property>\r
+                        <property name="name">Exe_View_Icons</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut">Ctrl+1</property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap"></property>\r
+                        <property name="checked">1</property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_RADIO</property>\r
+                        <property name="label">Details</property>\r
+                        <property name="name">Exe_View_Details</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut">Ctrl+2</property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap"></property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_RADIO</property>\r
+                        <property name="label">List</property>\r
+                        <property name="name">Exe_View_List</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut">Ctrl+3</property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="separator" expanded="1">\r
+                        <property name="permission">none</property>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap"></property>\r
+                        <property name="checked">1</property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_CHECK</property>\r
+                        <property name="label">Show ToolBar</property>\r
+                        <property name="name">Exe_View_ToolBar</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut"></property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap"></property>\r
+                        <property name="checked">1</property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="kind">wxITEM_CHECK</property>\r
+                        <property name="label">Show StatusBar</property>\r
+                        <property name="name">Exe_View_StatusBar</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut"></property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                    <object class="separator" expanded="1">\r
+                        <property name="permission">none</property>\r
+                    </object>\r
+                    <object class="wxMenuItem" expanded="1">\r
+                        <property name="bitmap"></property>\r
+                        <property name="checked">0</property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="help"></property>\r
+                        <property name="id">wxID_SELECTALL</property>\r
+                        <property name="kind">wxITEM_NORMAL</property>\r
+                        <property name="label">Select All</property>\r
+                        <property name="name">Exe_View_SelectAll</property>\r
+                        <property name="permission">none</property>\r
+                        <property name="shortcut">Ctrl+A</property>\r
+                        <property name="unchecked_bitmap"></property>\r
+                        <event name="OnMenuSelection"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                    </object>\r
+                </object>\r
+            </object>\r
+            <object class="wxStatusBar" expanded="1">\r
+                <property name="bg"></property>\r
+                <property name="context_help"></property>\r
+                <property name="enabled">1</property>\r
+                <property name="fg"></property>\r
+                <property name="fields">1</property>\r
+                <property name="font"></property>\r
+                <property name="hidden"></property>\r
+                <property name="id">wxID_ANY</property>\r
+                <property name="maximum_size"></property>\r
+                <property name="minimum_size"></property>\r
+                <property name="name">statusbar</property>\r
+                <property name="permission">protected</property>\r
+                <property name="pos"></property>\r
+                <property name="size"></property>\r
+                <property name="style">wxST_SIZEGRIP</property>\r
+                <property name="subclass"></property>\r
+                <property name="tooltip"></property>\r
+                <property name="window_extra_style"></property>\r
+                <property name="window_name"></property>\r
+                <property name="window_style"></property>\r
+                <event name="OnChar"></event>\r
+                <event name="OnEnterWindow"></event>\r
+                <event name="OnEraseBackground"></event>\r
+                <event name="OnKeyDown"></event>\r
+                <event name="OnKeyUp"></event>\r
+                <event name="OnKillFocus"></event>\r
+                <event name="OnLeaveWindow"></event>\r
+                <event name="OnLeftDClick"></event>\r
+                <event name="OnLeftDown"></event>\r
+                <event name="OnLeftUp"></event>\r
+                <event name="OnMiddleDClick"></event>\r
+                <event name="OnMiddleDown"></event>\r
+                <event name="OnMiddleUp"></event>\r
+                <event name="OnMotion"></event>\r
+                <event name="OnMouseEvents"></event>\r
+                <event name="OnMouseWheel"></event>\r
+                <event name="OnPaint"></event>\r
+                <event name="OnRightDClick"></event>\r
+                <event name="OnRightDown"></event>\r
+                <event name="OnRightUp"></event>\r
+                <event name="OnSetFocus"></event>\r
+                <event name="OnSize"></event>\r
+                <event name="OnUpdateUI"></event>\r
+            </object>\r
+            <object class="wxToolBar" expanded="1">\r
+                <property name="bg"></property>\r
+                <property name="bitmapsize">32, 32</property>\r
+                <property name="context_help"></property>\r
+                <property name="enabled">1</property>\r
+                <property name="fg"></property>\r
+                <property name="font"></property>\r
+                <property name="hidden"></property>\r
+                <property name="id">wxID_ANY</property>\r
+                <property name="margins"></property>\r
+                <property name="maximum_size"></property>\r
+                <property name="minimum_size"></property>\r
+                <property name="name">toolbar</property>\r
+                <property name="packing">0</property>\r
+                <property name="permission">protected</property>\r
+                <property name="pos"></property>\r
+                <property name="separation">0</property>\r
+                <property name="size"></property>\r
+                <property name="style">wxTB_FLAT|wxTB_HORIZONTAL|wxTB_TEXT</property>\r
+                <property name="subclass"></property>\r
+                <property name="tooltip"></property>\r
+                <property name="window_extra_style"></property>\r
+                <property name="window_name"></property>\r
+                <property name="window_style"></property>\r
+                <event name="OnChar"></event>\r
+                <event name="OnEnterWindow"></event>\r
+                <event name="OnEraseBackground"></event>\r
+                <event name="OnKeyDown"></event>\r
+                <event name="OnKeyUp"></event>\r
+                <event name="OnKillFocus"></event>\r
+                <event name="OnLeaveWindow"></event>\r
+                <event name="OnLeftDClick"></event>\r
+                <event name="OnLeftDown"></event>\r
+                <event name="OnLeftUp"></event>\r
+                <event name="OnMiddleDClick"></event>\r
+                <event name="OnMiddleDown"></event>\r
+                <event name="OnMiddleUp"></event>\r
+                <event name="OnMotion"></event>\r
+                <event name="OnMouseEvents"></event>\r
+                <event name="OnMouseWheel"></event>\r
+                <event name="OnPaint"></event>\r
+                <event name="OnRightDClick"></event>\r
+                <event name="OnRightDown"></event>\r
+                <event name="OnRightUp"></event>\r
+                <event name="OnSetFocus"></event>\r
+                <event name="OnSize"></event>\r
+                <event name="OnUpdateUI"></event>\r
+                <object class="tool" expanded="1">\r
+                    <property name="bitmap">../share/ico/24/create.png; Load From File</property>\r
+                    <property name="id">wxID_NEW</property>\r
+                    <property name="kind">wxITEM_NORMAL</property>\r
+                    <property name="label">Create</property>\r
+                    <property name="name">Arc_Create</property>\r
+                    <property name="statusbar"></property>\r
+                    <property name="tooltip">Create new archive</property>\r
+                    <event name="OnMenuSelection"></event>\r
+                    <event name="OnToolClicked"></event>\r
+                    <event name="OnToolEnter"></event>\r
+                    <event name="OnToolRClicked"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+                <object class="tool" expanded="1">\r
+                    <property name="bitmap">../share/ico/24/open.png; Load From File</property>\r
+                    <property name="id">wxID_OPEN</property>\r
+                    <property name="kind">wxITEM_NORMAL</property>\r
+                    <property name="label">Open</property>\r
+                    <property name="name">Arc_Open</property>\r
+                    <property name="statusbar"></property>\r
+                    <property name="tooltip">Open archive</property>\r
+                    <event name="OnMenuSelection"></event>\r
+                    <event name="OnToolClicked"></event>\r
+                    <event name="OnToolEnter"></event>\r
+                    <event name="OnToolRClicked"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+                <object class="tool" expanded="1">\r
+                    <property name="bitmap">../share/ico/24/close.png; Load From File</property>\r
+                    <property name="id">wxID_CLOSE</property>\r
+                    <property name="kind">wxITEM_NORMAL</property>\r
+                    <property name="label">Close</property>\r
+                    <property name="name">Arc_Close</property>\r
+                    <property name="statusbar"></property>\r
+                    <property name="tooltip">Close archive</property>\r
+                    <event name="OnMenuSelection"></event>\r
+                    <event name="OnToolClicked"></event>\r
+                    <event name="OnToolEnter"></event>\r
+                    <event name="OnToolRClicked"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+                <object class="toolSeparator" expanded="1" />\r
+                <object class="tool" expanded="1">\r
+                    <property name="bitmap">../share/ico/24/add.png; Load From File</property>\r
+                    <property name="id">wxID_ANY</property>\r
+                    <property name="kind">wxITEM_NORMAL</property>\r
+                    <property name="label">Add</property>\r
+                    <property name="name">Arc_Add</property>\r
+                    <property name="statusbar"></property>\r
+                    <property name="tooltip">Add files or a folder to this archive</property>\r
+                    <event name="OnMenuSelection"></event>\r
+                    <event name="OnToolClicked"></event>\r
+                    <event name="OnToolEnter"></event>\r
+                    <event name="OnToolRClicked"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+                <object class="tool" expanded="1">\r
+                    <property name="bitmap">../share/ico/24/sfx.png; Load From File</property>\r
+                    <property name="id">wxID_ANY</property>\r
+                    <property name="kind">wxITEM_NORMAL</property>\r
+                    <property name="label">Make SFX</property>\r
+                    <property name="name">Arc_SFX</property>\r
+                    <property name="statusbar"></property>\r
+                    <property name="tooltip">Convert to self-extract archive</property>\r
+                    <event name="OnMenuSelection"></event>\r
+                    <event name="OnToolClicked"></event>\r
+                    <event name="OnToolEnter"></event>\r
+                    <event name="OnToolRClicked"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+                <object class="tool" expanded="1">\r
+                    <property name="bitmap">../share/ico/24/unsfx.png; Load From File</property>\r
+                    <property name="id">wxID_ANY</property>\r
+                    <property name="kind">wxITEM_NORMAL</property>\r
+                    <property name="label">UnSFX</property>\r
+                    <property name="name">Arc_UnSFX</property>\r
+                    <property name="statusbar"></property>\r
+                    <property name="tooltip">Convert to normal archive</property>\r
+                    <event name="OnMenuSelection"></event>\r
+                    <event name="OnToolClicked"></event>\r
+                    <event name="OnToolEnter"></event>\r
+                    <event name="OnToolRClicked"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+                <object class="toolSeparator" expanded="1" />\r
+                <object class="tool" expanded="1">\r
+                    <property name="bitmap">../share/ico/24/extract.png; Load From File</property>\r
+                    <property name="id">wxID_ANY</property>\r
+                    <property name="kind">wxITEM_NORMAL</property>\r
+                    <property name="label">Extract</property>\r
+                    <property name="name">Arc_Extract</property>\r
+                    <property name="statusbar"></property>\r
+                    <property name="tooltip">Extract selected files or whole archive</property>\r
+                    <event name="OnMenuSelection"></event>\r
+                    <event name="OnToolClicked"></event>\r
+                    <event name="OnToolEnter"></event>\r
+                    <event name="OnToolRClicked"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+                <object class="tool" expanded="1">\r
+                    <property name="bitmap">../share/ico/24/delete.png; Load From File</property>\r
+                    <property name="id">wxID_ANY</property>\r
+                    <property name="kind">wxITEM_NORMAL</property>\r
+                    <property name="label">Delete</property>\r
+                    <property name="name">Arc_Delete</property>\r
+                    <property name="statusbar"></property>\r
+                    <property name="tooltip">Delete selected files from this archive</property>\r
+                    <event name="OnMenuSelection"></event>\r
+                    <event name="OnToolClicked"></event>\r
+                    <event name="OnToolEnter"></event>\r
+                    <event name="OnToolRClicked"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+                <object class="tool" expanded="1">\r
+                    <property name="bitmap">../share/ico/24/test.png; Load From File</property>\r
+                    <property name="id">wxID_ANY</property>\r
+                    <property name="kind">wxITEM_NORMAL</property>\r
+                    <property name="label">Test</property>\r
+                    <property name="name">Arc_Test</property>\r
+                    <property name="statusbar"></property>\r
+                    <property name="tooltip">Test selected files or whole archive</property>\r
+                    <event name="OnMenuSelection"></event>\r
+                    <event name="OnToolClicked"></event>\r
+                    <event name="OnToolEnter"></event>\r
+                    <event name="OnToolRClicked"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+                <object class="tool" expanded="1">\r
+                    <property name="bitmap">../share/ico/24/repair.png; Load From File</property>\r
+                    <property name="id">wxID_ANY</property>\r
+                    <property name="kind">wxITEM_NORMAL</property>\r
+                    <property name="label">Repair</property>\r
+                    <property name="name">Arc_Repair</property>\r
+                    <property name="statusbar"></property>\r
+                    <property name="tooltip">Repair selected files or whole archive</property>\r
+                    <event name="OnMenuSelection"></event>\r
+                    <event name="OnToolClicked"></event>\r
+                    <event name="OnToolEnter"></event>\r
+                    <event name="OnToolRClicked"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+                <object class="toolSeparator" expanded="1" />\r
+                <object class="wxTextCtrl" expanded="1">\r
+                    <property name="bg"></property>\r
+                    <property name="context_help"></property>\r
+                    <property name="enabled">1</property>\r
+                    <property name="fg"></property>\r
+                    <property name="font"></property>\r
+                    <property name="hidden">0</property>\r
+                    <property name="id">wxID_ANY</property>\r
+                    <property name="maximum_size"></property>\r
+                    <property name="maxlength">0</property>\r
+                    <property name="minimum_size"></property>\r
+                    <property name="name">tcFilter</property>\r
+                    <property name="permission">protected</property>\r
+                    <property name="pos"></property>\r
+                    <property name="size"></property>\r
+                    <property name="style"></property>\r
+                    <property name="subclass"></property>\r
+                    <property name="tooltip">Show only files containing filter string</property>\r
+                    <property name="value"></property>\r
+                    <property name="window_extra_style"></property>\r
+                    <property name="window_name"></property>\r
+                    <property name="window_style"></property>\r
+                    <event name="OnChar"></event>\r
+                    <event name="OnEnterWindow"></event>\r
+                    <event name="OnEraseBackground"></event>\r
+                    <event name="OnKeyDown"></event>\r
+                    <event name="OnKeyUp"></event>\r
+                    <event name="OnKillFocus"></event>\r
+                    <event name="OnLeaveWindow"></event>\r
+                    <event name="OnLeftDClick"></event>\r
+                    <event name="OnLeftDown"></event>\r
+                    <event name="OnLeftUp"></event>\r
+                    <event name="OnMiddleDClick"></event>\r
+                    <event name="OnMiddleDown"></event>\r
+                    <event name="OnMiddleUp"></event>\r
+                    <event name="OnMotion"></event>\r
+                    <event name="OnMouseEvents"></event>\r
+                    <event name="OnMouseWheel"></event>\r
+                    <event name="OnPaint"></event>\r
+                    <event name="OnRightDClick"></event>\r
+                    <event name="OnRightDown"></event>\r
+                    <event name="OnRightUp"></event>\r
+                    <event name="OnSetFocus"></event>\r
+                    <event name="OnSize"></event>\r
+                    <event name="OnText"></event>\r
+                    <event name="OnTextEnter"></event>\r
+                    <event name="OnTextMaxLen"></event>\r
+                    <event name="OnTextURL"></event>\r
+                    <event name="OnUpdateUI"></event>\r
+                </object>\r
+            </object>\r
+            <object class="wxBoxSizer" expanded="1">\r
+                <property name="minimum_size"></property>\r
+                <property name="name">bSizer14</property>\r
+                <property name="orient">wxVERTICAL</property>\r
+                <property name="permission">none</property>\r
+                <object class="sizeritem" expanded="1">\r
+                    <property name="border">0</property>\r
+                    <property name="flag">wxEXPAND</property>\r
+                    <property name="proportion">1</property>\r
+                    <object class="wxSplitterWindow" expanded="1">\r
+                        <property name="bg"></property>\r
+                        <property name="context_help"></property>\r
+                        <property name="enabled">1</property>\r
+                        <property name="fg"></property>\r
+                        <property name="font"></property>\r
+                        <property name="hidden"></property>\r
+                        <property name="id">wxID_ANY</property>\r
+                        <property name="maximum_size"></property>\r
+                        <property name="min_pane_size">0</property>\r
+                        <property name="minimum_size"></property>\r
+                        <property name="name">window_splitter</property>\r
+                        <property name="permission">protected</property>\r
+                        <property name="pos"></property>\r
+                        <property name="sashgravity">0.0</property>\r
+                        <property name="sashpos">162</property>\r
+                        <property name="sashsize">-1</property>\r
+                        <property name="size"></property>\r
+                        <property name="splitmode">wxSPLIT_VERTICAL</property>\r
+                        <property name="style">wxSP_3D|wxSP_BORDER|wxSP_LIVE_UPDATE</property>\r
+                        <property name="subclass"></property>\r
+                        <property name="tooltip"></property>\r
+                        <property name="window_extra_style"></property>\r
+                        <property name="window_name"></property>\r
+                        <property name="window_style"></property>\r
+                        <event name="OnChar"></event>\r
+                        <event name="OnEnterWindow"></event>\r
+                        <event name="OnEraseBackground"></event>\r
+                        <event name="OnKeyDown"></event>\r
+                        <event name="OnKeyUp"></event>\r
+                        <event name="OnKillFocus"></event>\r
+                        <event name="OnLeaveWindow"></event>\r
+                        <event name="OnLeftDClick"></event>\r
+                        <event name="OnLeftDown"></event>\r
+                        <event name="OnLeftUp"></event>\r
+                        <event name="OnMiddleDClick"></event>\r
+                        <event name="OnMiddleDown"></event>\r
+                        <event name="OnMiddleUp"></event>\r
+                        <event name="OnMotion"></event>\r
+                        <event name="OnMouseEvents"></event>\r
+                        <event name="OnMouseWheel"></event>\r
+                        <event name="OnPaint"></event>\r
+                        <event name="OnRightDClick"></event>\r
+                        <event name="OnRightDown"></event>\r
+                        <event name="OnRightUp"></event>\r
+                        <event name="OnSetFocus"></event>\r
+                        <event name="OnSize"></event>\r
+                        <event name="OnSplitterDClick"></event>\r
+                        <event name="OnSplitterSashPosChanged"></event>\r
+                        <event name="OnSplitterSashPosChanging"></event>\r
+                        <event name="OnSplitterUnsplit"></event>\r
+                        <event name="OnUpdateUI"></event>\r
+                        <object class="splitteritem" expanded="1">\r
+                            <object class="wxPanel" expanded="1">\r
+                                <property name="bg"></property>\r
+                                <property name="context_help"></property>\r
+                                <property name="enabled">1</property>\r
+                                <property name="fg"></property>\r
+                                <property name="font"></property>\r
+                                <property name="hidden">0</property>\r
+                                <property name="id">wxID_ANY</property>\r
+                                <property name="maximum_size"></property>\r
+                                <property name="minimum_size"></property>\r
+                                <property name="name">m_panel1</property>\r
+                                <property name="permission">protected</property>\r
+                                <property name="pos"></property>\r
+                                <property name="size"></property>\r
+                                <property name="subclass"></property>\r
+                                <property name="tooltip"></property>\r
+                                <property name="window_extra_style"></property>\r
+                                <property name="window_name"></property>\r
+                                <property name="window_style">wxTAB_TRAVERSAL</property>\r
+                                <event name="OnChar"></event>\r
+                                <event name="OnEnterWindow"></event>\r
+                                <event name="OnEraseBackground"></event>\r
+                                <event name="OnKeyDown"></event>\r
+                                <event name="OnKeyUp"></event>\r
+                                <event name="OnKillFocus"></event>\r
+                                <event name="OnLeaveWindow"></event>\r
+                                <event name="OnLeftDClick"></event>\r
+                                <event name="OnLeftDown"></event>\r
+                                <event name="OnLeftUp"></event>\r
+                                <event name="OnMiddleDClick"></event>\r
+                                <event name="OnMiddleDown"></event>\r
+                                <event name="OnMiddleUp"></event>\r
+                                <event name="OnMotion"></event>\r
+                                <event name="OnMouseEvents"></event>\r
+                                <event name="OnMouseWheel"></event>\r
+                                <event name="OnPaint"></event>\r
+                                <event name="OnRightDClick"></event>\r
+                                <event name="OnRightDown"></event>\r
+                                <event name="OnRightUp"></event>\r
+                                <event name="OnSetFocus"></event>\r
+                                <event name="OnSize"></event>\r
+                                <event name="OnUpdateUI"></event>\r
+                                <object class="wxBoxSizer" expanded="1">\r
+                                    <property name="minimum_size"></property>\r
+                                    <property name="name">bSizer19</property>\r
+                                    <property name="orient">wxVERTICAL</property>\r
+                                    <property name="permission">none</property>\r
+                                    <object class="sizeritem" expanded="1">\r
+                                        <property name="border">1</property>\r
+                                        <property name="flag">wxALL|wxEXPAND</property>\r
+                                        <property name="proportion">1</property>\r
+                                        <object class="wxTreeCtrl" expanded="1">\r
+                                            <property name="bg"></property>\r
+                                            <property name="context_help"></property>\r
+                                            <property name="enabled">1</property>\r
+                                            <property name="fg"></property>\r
+                                            <property name="font"></property>\r
+                                            <property name="hidden">0</property>\r
+                                            <property name="id">wxID_ANY</property>\r
+                                            <property name="maximum_size"></property>\r
+                                            <property name="minimum_size"></property>\r
+                                            <property name="name">TreeView</property>\r
+                                            <property name="permission">protected</property>\r
+                                            <property name="pos"></property>\r
+                                            <property name="size"></property>\r
+                                            <property name="style">wxTR_DEFAULT_STYLE|wxTR_HAS_BUTTONS|wxTR_HIDE_ROOT</property>\r
+                                            <property name="subclass"></property>\r
+                                            <property name="tooltip"></property>\r
+                                            <property name="window_extra_style"></property>\r
+                                            <property name="window_name"></property>\r
+                                            <property name="window_style">wxSUNKEN_BORDER</property>\r
+                                            <event name="OnChar"></event>\r
+                                            <event name="OnEnterWindow"></event>\r
+                                            <event name="OnEraseBackground"></event>\r
+                                            <event name="OnKeyDown"></event>\r
+                                            <event name="OnKeyUp"></event>\r
+                                            <event name="OnKillFocus"></event>\r
+                                            <event name="OnLeaveWindow"></event>\r
+                                            <event name="OnLeftDClick"></event>\r
+                                            <event name="OnLeftDown"></event>\r
+                                            <event name="OnLeftUp"></event>\r
+                                            <event name="OnMiddleDClick"></event>\r
+                                            <event name="OnMiddleDown"></event>\r
+                                            <event name="OnMiddleUp"></event>\r
+                                            <event name="OnMotion"></event>\r
+                                            <event name="OnMouseEvents"></event>\r
+                                            <event name="OnMouseWheel"></event>\r
+                                            <event name="OnPaint"></event>\r
+                                            <event name="OnRightDClick"></event>\r
+                                            <event name="OnRightDown"></event>\r
+                                            <event name="OnRightUp"></event>\r
+                                            <event name="OnSetFocus"></event>\r
+                                            <event name="OnSize"></event>\r
+                                            <event name="OnTreeBeginDrag"></event>\r
+                                            <event name="OnTreeBeginLabelEdit"></event>\r
+                                            <event name="OnTreeBeginRDrag"></event>\r
+                                            <event name="OnTreeDeleteItem"></event>\r
+                                            <event name="OnTreeEndDrag"></event>\r
+                                            <event name="OnTreeEndLabelEdit"></event>\r
+                                            <event name="OnTreeGetInfo"></event>\r
+                                            <event name="OnTreeItemActivated"></event>\r
+                                            <event name="OnTreeItemCollapsed"></event>\r
+                                            <event name="OnTreeItemCollapsing"></event>\r
+                                            <event name="OnTreeItemExpanded"></event>\r
+                                            <event name="OnTreeItemExpanding"></event>\r
+                                            <event name="OnTreeItemGetTooltip"></event>\r
+                                            <event name="OnTreeItemMenu"></event>\r
+                                            <event name="OnTreeItemMiddleClick"></event>\r
+                                            <event name="OnTreeItemRightClick"></event>\r
+                                            <event name="OnTreeKeyDown"></event>\r
+                                            <event name="OnTreeSelChanged"></event>\r
+                                            <event name="OnTreeSelChanging"></event>\r
+                                            <event name="OnTreeSetInfo"></event>\r
+                                            <event name="OnTreeStateImageClick"></event>\r
+                                            <event name="OnUpdateUI"></event>\r
+                                        </object>\r
+                                    </object>\r
+                                </object>\r
+                            </object>\r
+                        </object>\r
+                        <object class="splitteritem" expanded="1">\r
+                            <object class="wxPanel" expanded="1">\r
+                                <property name="bg"></property>\r
+                                <property name="context_help"></property>\r
+                                <property name="enabled">1</property>\r
+                                <property name="fg"></property>\r
+                                <property name="font"></property>\r
+                                <property name="hidden">0</property>\r
+                                <property name="id">wxID_ANY</property>\r
+                                <property name="maximum_size"></property>\r
+                                <property name="minimum_size"></property>\r
+                                <property name="name">m_panel2</property>\r
+                                <property name="permission">protected</property>\r
+                                <property name="pos"></property>\r
+                                <property name="size"></property>\r
+                                <property name="subclass"></property>\r
+                                <property name="tooltip"></property>\r
+                                <property name="window_extra_style"></property>\r
+                                <property name="window_name"></property>\r
+                                <property name="window_style">wxTAB_TRAVERSAL</property>\r
+                                <event name="OnChar"></event>\r
+                                <event name="OnEnterWindow"></event>\r
+                                <event name="OnEraseBackground"></event>\r
+                                <event name="OnKeyDown"></event>\r
+                                <event name="OnKeyUp"></event>\r
+                                <event name="OnKillFocus"></event>\r
+                                <event name="OnLeaveWindow"></event>\r
+                                <event name="OnLeftDClick"></event>\r
+                                <event name="OnLeftDown"></event>\r
+                                <event name="OnLeftUp"></event>\r
+                                <event name="OnMiddleDClick"></event>\r
+                                <event name="OnMiddleDown"></event>\r
+                                <event name="OnMiddleUp"></event>\r
+                                <event name="OnMotion"></event>\r
+                                <event name="OnMouseEvents"></event>\r
+                                <event name="OnMouseWheel"></event>\r
+                                <event name="OnPaint"></event>\r
+                                <event name="OnRightDClick"></event>\r
+                                <event name="OnRightDown"></event>\r
+                                <event name="OnRightUp"></event>\r
+                                <event name="OnSetFocus"></event>\r
+                                <event name="OnSize"></event>\r
+                                <event name="OnUpdateUI"></event>\r
+                                <object class="wxBoxSizer" expanded="1">\r
+                                    <property name="minimum_size"></property>\r
+                                    <property name="name">bSizer20</property>\r
+                                    <property name="orient">wxVERTICAL</property>\r
+                                    <property name="permission">none</property>\r
+                                    <object class="sizeritem" expanded="1">\r
+                                        <property name="border">1</property>\r
+                                        <property name="flag">wxALL|wxEXPAND</property>\r
+                                        <property name="proportion">1</property>\r
+                                        <object class="wxListCtrl" expanded="1">\r
+                                            <property name="bg"></property>\r
+                                            <property name="context_help"></property>\r
+                                            <property name="enabled">1</property>\r
+                                            <property name="fg"></property>\r
+                                            <property name="font"></property>\r
+                                            <property name="hidden">0</property>\r
+                                            <property name="id">wxID_ANY</property>\r
+                                            <property name="maximum_size"></property>\r
+                                            <property name="minimum_size"></property>\r
+                                            <property name="name">ListView</property>\r
+                                            <property name="permission">protected</property>\r
+                                            <property name="pos"></property>\r
+                                            <property name="size"></property>\r
+                                            <property name="style">wxLC_REPORT|wxLC_VIRTUAL</property>\r
+                                            <property name="subclass">myListCtrl; </property>\r
+                                            <property name="tooltip"></property>\r
+                                            <property name="window_extra_style"></property>\r
+                                            <property name="window_name"></property>\r
+                                            <property name="window_style">wxSUNKEN_BORDER</property>\r
+                                            <event name="OnChar"></event>\r
+                                            <event name="OnEnterWindow"></event>\r
+                                            <event name="OnEraseBackground"></event>\r
+                                            <event name="OnKeyDown"></event>\r
+                                            <event name="OnKeyUp"></event>\r
+                                            <event name="OnKillFocus"></event>\r
+                                            <event name="OnLeaveWindow"></event>\r
+                                            <event name="OnLeftDClick"></event>\r
+                                            <event name="OnLeftDown"></event>\r
+                                            <event name="OnLeftUp"></event>\r
+                                            <event name="OnListBeginDrag"></event>\r
+                                            <event name="OnListBeginLabelEdit"></event>\r
+                                            <event name="OnListBeginRDrag"></event>\r
+                                            <event name="OnListCacheHint"></event>\r
+                                            <event name="OnListColBeginDrag"></event>\r
+                                            <event name="OnListColClick"></event>\r
+                                            <event name="OnListColDragging"></event>\r
+                                            <event name="OnListColEndDrag"></event>\r
+                                            <event name="OnListColRightClick"></event>\r
+                                            <event name="OnListDeleteAllItems"></event>\r
+                                            <event name="OnListDeleteItem"></event>\r
+                                            <event name="OnListEndLabelEdit"></event>\r
+                                            <event name="OnListInsertItem"></event>\r
+                                            <event name="OnListItemActivated"></event>\r
+                                            <event name="OnListItemDeselected"></event>\r
+                                            <event name="OnListItemFocused"></event>\r
+                                            <event name="OnListItemMiddleClick"></event>\r
+                                            <event name="OnListItemRightClick"></event>\r
+                                            <event name="OnListItemSelected"></event>\r
+                                            <event name="OnListKeyDown"></event>\r
+                                            <event name="OnMiddleDClick"></event>\r
+                                            <event name="OnMiddleDown"></event>\r
+                                            <event name="OnMiddleUp"></event>\r
+                                            <event name="OnMotion"></event>\r
+                                            <event name="OnMouseEvents"></event>\r
+                                            <event name="OnMouseWheel"></event>\r
+                                            <event name="OnPaint"></event>\r
+                                            <event name="OnRightDClick"></event>\r
+                                            <event name="OnRightDown"></event>\r
+                                            <event name="OnRightUp"></event>\r
+                                            <event name="OnSetFocus"></event>\r
+                                            <event name="OnSize"></event>\r
+                                            <event name="OnUpdateUI"></event>\r
+                                        </object>\r
+                                    </object>\r
+                                </object>\r
+                            </object>\r
+                        </object>\r
+                    </object>\r
+                </object>\r
+            </object>\r
+        </object>\r
+    </object>\r
+</wxFormBuilder_Project>\r