Subversion Repositories spk

Rev

Rev 36 | Rev 219 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 36 Rev 177
Line 79... Line 79...
79
			this->UpdateChanged();
79
			this->UpdateChanged();
80
		}
80
		}
81
 
81
 
82
		bool AddPackage(String ^file, bool single)
82
		bool AddPackage(String ^file, bool single)
83
		{
83
		{
84
			if ( m_pPackage->AddFile(CyStringFromSystemString(file)) )
84
			if ( m_pPackage->addFile(_S(file)) )
85
			{
85
			{
86
				if ( single )
86
				if ( single )
87
				{
87
				{
88
					this->UpdatePackages();
88
					this->UpdatePackages();
89
					this->UpdateChanged();
89
					this->UpdateChanged();
Line 100... Line 100...
100
			if ( m_bLoading )
100
			if ( m_bLoading )
101
				return;
101
				return;
102
			if ( !m_pPackage )
102
			if ( !m_pPackage )
103
				return;
103
				return;
104
 
104
 
105
			if ( m_pPackage->IsChanged() )
105
			if ( m_pPackage->isChanged() )
106
			{
106
			{
107
				if ( !m_pPackage->GetFilename().Empty() )
107
				if (!m_pPackage->filename().empty())
108
					this->Text = SystemStringFromCyString(m_pPackage->GetFilename()) + "*";
108
					this->Text = _US(m_pPackage->filename()) + "*";
109
				if ( m_pTabPage->Text[m_pTabPage->Text->Length - 1] != '*' )
109
				if ( m_pTabPage->Text[m_pTabPage->Text->Length - 1] != '*' )
110
					m_pTabPage->Text += "*";
110
					m_pTabPage->Text += "*";
111
			}
111
			}
112
			else
112
			else
113
			{
113
			{
114
				this->Text = SystemStringFromCyString(m_pPackage->GetFilename());
114
				this->Text = _US(m_pPackage->filename());
115
				if ( m_pTabPage->Text[m_pTabPage->Text->Length - 1] == '*' )
115
				if ( m_pTabPage->Text[m_pTabPage->Text->Length - 1] == '*' )
116
					m_pTabPage->Text = m_pTabPage->Text->Remove(m_pTabPage->Text->Length - 1);
116
					m_pTabPage->Text = m_pTabPage->Text->Remove(m_pTabPage->Text->Length - 1);
117
			}
117
			}
118
		}
118
		}
119
 
119
 
Line 127... Line 127...
127
			m_pPackage = new CMultiSpkFile; 
127
			m_pPackage = new CMultiSpkFile; 
128
		}
128
		}
129
 
129
 
130
		void Split(String ^dest)
130
		void Split(String ^dest)
131
		{
131
		{
132
			if ( m_pPackage->ExtractAll(CyStringFromSystemString(dest)) )
132
			if ( m_pPackage->extractAll(_S(dest)) )
133
				MessageBox::Show(this, "All Packages have been extracted to:\n" + dest, "Package Extracted", MessageBoxButtons::OK, MessageBoxIcon::Information);
133
				MessageBox::Show(this, "All Packages have been extracted to:\n" + dest, "Package Extracted", MessageBoxButtons::OK, MessageBoxIcon::Information);
134
			else
134
			else
135
				MessageBox::Show(this, "Failed to extract Packages to:\n" + dest, "Package Extracted", MessageBoxButtons::OK, MessageBoxIcon::Error);
135
				MessageBox::Show(this, "Failed to extract Packages to:\n" + dest, "Package Extracted", MessageBoxButtons::OK, MessageBoxIcon::Error);
136
		}
136
		}
137
 
137
 
Line 143... Line 143...
143
				Split(fbd->SelectedPath);
143
				Split(fbd->SelectedPath);
144
		}
144
		}
145
 
145
 
146
		void Extract(String ^file, String ^to)
146
		void Extract(String ^file, String ^to)
147
		{
147
		{
148
			if ( m_pPackage->ExtractFile(CyStringFromSystemString(file), CyStringFromSystemString(to)) )
148
			if ( m_pPackage->extractFile(_S(file), _S(to)) )
149
				MessageBox::Show(this, "Package: " + file + "\nHas been extracted to: " + to, "Package Extracted", MessageBoxButtons::OK, MessageBoxIcon::Information);
149
				MessageBox::Show(this, "Package: " + file + "\nHas been extracted to: " + to, "Package Extracted", MessageBoxButtons::OK, MessageBoxIcon::Information);
150
			else
150
			else
151
				MessageBox::Show(this, "Package: " + file + "\nFailed to extract to: " + to, "Package Extracted", MessageBoxButtons::OK, MessageBoxIcon::Error);
151
				MessageBox::Show(this, "Package: " + file + "\nFailed to extract to: " + to, "Package Extracted", MessageBoxButtons::OK, MessageBoxIcon::Error);
152
		}
152
		}
153
 
153
 
Line 567... Line 567...
567
			 }
567
			 }
568
	private: System::Void toolStripButton1_Click(System::Object^  sender, System::EventArgs^  e) {
568
	private: System::Void toolStripButton1_Click(System::Object^  sender, System::EventArgs^  e) {
569
				 AddPackage();
569
				 AddPackage();
570
			 }
570
			 }
571
private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
571
private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
572
			 m_pPackage->SetName(CyStringFromSystemString(this->textBox1->Text));
572
			 m_pPackage->setName(_S(this->textBox1->Text));
573
			 this->UpdateChanged();
573
			 this->UpdateChanged();
574
		 }
574
		 }
575
private: System::Void checkBox1_CheckedChanged(System::Object^  sender, System::EventArgs^  e) {
575
private: System::Void checkBox1_CheckedChanged(System::Object^  sender, System::EventArgs^  e) {
576
			 m_pPackage->SetSelection(this->checkBox1->Checked);
576
			 m_pPackage->setSelection(this->checkBox1->Checked);
577
			 this->UpdateChanged();
577
			 this->UpdateChanged();
578
		 }
578
		 }
579
private: System::Void contextMenuStrip1_Opening(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
579
private: System::Void contextMenuStrip1_Opening(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
580
			Point ^mousePoint = this->listView1->PointToClient(this->listView1->MousePosition);
580
			Point ^mousePoint = this->listView1->PointToClient(this->listView1->MousePosition);
581
			m_pSelectedItem = this->listView1->GetItemAt(mousePoint->X, mousePoint->Y);
581
			m_pSelectedItem = this->listView1->GetItemAt(mousePoint->X, mousePoint->Y);
Line 591... Line 591...
591
private: System::Void addPackageToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
591
private: System::Void addPackageToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
592
			 AddPackage();
592
			 AddPackage();
593
		 }
593
		 }
594
private: System::Void removeFileToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
594
private: System::Void removeFileToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
595
			 if ( !m_pSelectedItem ) return;
595
			 if ( !m_pSelectedItem ) return;
596
			 m_pPackage->MarkRemoveFile(CyStringFromSystemString(m_pSelectedItem->SubItems[4]->Text));
596
			 m_pPackage->markRemoveFile(_S(m_pSelectedItem->SubItems[4]->Text));
597
			 this->UpdatePackages();
597
			 this->UpdatePackages();
598
			 this->UpdateChanged();
598
			 this->UpdateChanged();
599
		 }
599
		 }
600
private: System::Void clearAllToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
600
private: System::Void clearAllToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
601
			 if ( !m_pSelectedItem ) return;
601
			 if ( !m_pSelectedItem ) return;
602
			 m_pPackage->MarkRemoveAll();
602
			 m_pPackage->markRemoveAll();
603
			 this->UpdatePackages();
603
			 this->UpdatePackages();
604
			 this->UpdateChanged();
604
			 this->UpdateChanged();
605
		 }
605
		 }
606
private: System::Void toolStripButton2_Click(System::Object^  sender, System::EventArgs^  e) {
606
private: System::Void toolStripButton2_Click(System::Object^  sender, System::EventArgs^  e) {
607
			 Save();
607
			 Save();
Line 614... Line 614...
614
			 this->button2->Enabled = (this->listView1->SelectedItems->Count) ? true : false;
614
			 this->button2->Enabled = (this->listView1->SelectedItems->Count) ? true : false;
615
		 }
615
		 }
616
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
616
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
617
			 for ( int i = 0; i < this->listView1->SelectedItems->Count; i++ )
617
			 for ( int i = 0; i < this->listView1->SelectedItems->Count; i++ )
618
			 {
618
			 {
619
				m_pPackage->MarkRemoveFile(CyStringFromSystemString(this->listView1->SelectedItems[i]->SubItems[4]->Text));
619
				m_pPackage->markRemoveFile(_S(this->listView1->SelectedItems[i]->SubItems[4]->Text));
620
			 }
620
			 }
621
			 this->UpdatePackages();
621
			 this->UpdatePackages();
622
			 this->UpdateChanged();
622
			 this->UpdateChanged();
623
		 }
623
		 }
624
private: System::Void listView1_ItemChecked(System::Object^  sender, System::Windows::Forms::ItemCheckedEventArgs^  e) {
624
private: System::Void listView1_ItemChecked(System::Object^  sender, System::Windows::Forms::ItemCheckedEventArgs^  e) {
625
			 if ( m_bLoading ) return;
625
			 if ( m_bLoading ) return;
626
			 ListViewItem ^item = e->Item;
626
			 ListViewItem ^item = e->Item;
627
			 if ( item && item->SubItems->Count > 4 )
627
			 if ( item && item->SubItems->Count > 4 )
628
			 {
628
			 {
629
				 SMultiSpkFile *ms = m_pPackage->FindFile(CyStringFromSystemString(item->SubItems[4]->Text));
629
				 const SMultiSpkFile *ms = m_pPackage->findFile(_S(item->SubItems[4]->Text));
630
				 if ( ms )
630
				 if ( ms )
631
				 {
631
				 {
632
					 ms->bOn = item->Checked;
632
					 const_cast<SMultiSpkFile *>(ms)->bOn = item->Checked;
633
					 m_pPackage->SetChanged(true);
633
					 m_pPackage->setChanged(true);
634
					 this->UpdateChanged();
634
					 this->UpdateChanged();
635
				 }
635
				 }
636
			 }
636
			 }
637
		 }
637
		 }
638
private: System::Void MultiForm_FormClosing(System::Object^  sender, System::Windows::Forms::FormClosingEventArgs^  e) {
638
private: System::Void MultiForm_FormClosing(System::Object^  sender, System::Windows::Forms::FormClosingEventArgs^  e) {
639
			if ( m_pPackage->IsChanged() )
639
			if (m_pPackage->isChanged())
640
			{
640
			{
641
				String ^name = m_pTabPage->Text;
641
				String ^name = m_pTabPage->Text;
642
				if ( name[name->Length - 1] == '*' )
642
				if ( name[name->Length - 1] == '*' )
643
					name = name->Remove(name->Length - 1);
643
					name = name->Remove(name->Length - 1);
644
				System::Windows::Forms::DialogResult result = MessageBox::Show("Would you like to save changes to the multi package?\n\n" + name, "Save Multi Package", MessageBoxButtons::YesNoCancel, MessageBoxIcon::Question);
644
				System::Windows::Forms::DialogResult result = MessageBox::Show("Would you like to save changes to the multi package?\n\n" + name, "Save Multi Package", MessageBoxButtons::YesNoCancel, MessageBoxIcon::Question);
Line 654... Line 654...
654
					{
654
					{
655
						e->Cancel = true;
655
						e->Cancel = true;
656
						return;
656
						return;
657
					}
657
					}
658
 
658
 
659
					if ( m_pPackage->GetFilename().Empty() )
659
					if (m_pPackage->filename().empty())
660
					{
660
					{
661
						SaveFileDialog ^ofd = gcnew SaveFileDialog();
661
						SaveFileDialog ^ofd = gcnew SaveFileDialog();
662
						ofd->Filter = "Multi-Package Files (*.spk)|*.spk";
662
						ofd->Filter = "Multi-Package Files (*.spk)|*.spk";
663
						ofd->FilterIndex = 1;
663
						ofd->FilterIndex = 1;
664
						ofd->RestoreDirectory = true;
664
						ofd->RestoreDirectory = true;
665
						if ( ofd->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
665
						if ( ofd->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
666
							m_pPackage->SetFilename(CyStringFromSystemString(ofd->FileName));
666
							m_pPackage->setFilename(_S(ofd->FileName));
667
						else
667
						else
668
						{
668
						{
669
							e->Cancel = true;
669
							e->Cancel = true;
670
							return;
670
							return;
671
						}
671
						}
672
					}
672
					}
673
 
673
 
674
					if ( !m_pPackage->WriteFile(m_pPackage->GetFilename()) )
674
					if (!m_pPackage->writeFile(m_pPackage->filename()))
675
					{
675
					{
676
						e->Cancel = true;
676
						e->Cancel = true;
677
						MessageBox::Show("Unable to save package\n" + SystemStringFromCyString(m_pPackage->GetFilename()), "Save Error", MessageBoxButtons::OK, MessageBoxIcon::Error);
677
						MessageBox::Show("Unable to save package\n" + _US(m_pPackage->filename()), "Save Error", MessageBoxButtons::OK, MessageBoxIcon::Error);
678
						return;
678
						return;
679
					}
679
					}
680
				}
680
				}
681
			}
681
			}
682
 
682
 
Line 696... Line 696...
696
			if ( fbd->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
696
			if ( fbd->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
697
			{
697
			{
698
				bool success = false;
698
				bool success = false;
699
				for ( int i = 0; i < this->listView1->SelectedItems->Count; i++ )
699
				for ( int i = 0; i < this->listView1->SelectedItems->Count; i++ )
700
				{
700
				{
701
					if ( m_pPackage->ExtractFile(CyStringFromSystemString(this->listView1->SelectedItems[i]->SubItems[4]->Text), CyStringFromSystemString(fbd->SelectedPath)) )
701
					if ( m_pPackage->extractFile(_S(this->listView1->SelectedItems[i]->SubItems[4]->Text), _S(fbd->SelectedPath)) )
702
						success = true;
702
						success = true;
703
				}
703
				}
704
 
704
 
705
				if ( success )
705
				if ( success )
706
					MessageBox::Show(this, "Packages have been extracted to:\n" + fbd->SelectedPath, "Package Extracted", MessageBoxButtons::OK, MessageBoxIcon::Information);
706
					MessageBox::Show(this, "Packages have been extracted to:\n" + fbd->SelectedPath, "Package Extracted", MessageBoxButtons::OK, MessageBoxIcon::Information);