diff --git a/src/apps/installer/InstallerApp.cpp b/src/apps/installer/InstallerApp.cpp index 133d135b48..576cfba698 100644 --- a/src/apps/installer/InstallerApp.cpp +++ b/src/apps/installer/InstallerApp.cpp @@ -16,29 +16,80 @@ static const uint32 kMsgAgree = 'agre'; -static const char* kEULAText = -"NOTICE: READ THIS BEFORE INSTALLING OR USING HAIKU\n\n" +//static const char* kEULAText = +//"NOTICE: READ THIS BEFORE INSTALLING OR USING HAIKU\n\n" +// +//"Copyright " B_UTF8_COPYRIGHT " 2001-2009 The Haiku Project. All rights " +//"reserved. The copyright to the Haiku code is property of Haiku, Inc. or of " +//"the respective authors where expressly noted in the source.\n\n" +// +//"Permission is hereby granted, free of charge, to any person obtaining a " +//"copy of this software and associated documentation files (the \"Software\"), " +//"to deal in the Software without restriction, including without limitation " +//"the rights to use, copy, modify, merge, publish, distribute, sublicense, " +//"and/or sell copies of the Software, and to permit persons to whom the " +//"Software is furnished to do so, subject to the following conditions:\n\n" +//"The above copyright notice and this permission notice shall be included in " +//"all copies or substantial portions of the Software.\n\n" +// +//"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS " +//"OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, " +//"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE " +//"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER " +//"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING " +//"FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS " +//"IN THE SOFTWARE."; -"Copyright " B_UTF8_COPYRIGHT " 2001-2009 The Haiku Project. All rights " -"reserved. The copyright to the Haiku code is property of Haiku, Inc. or of " -"the respective authors where expressly noted in the source.\n\n" -"Permission is hereby granted, free of charge, to any person obtaining a " -"copy of this software and associated documentation files (the \"Software\"), " -"to deal in the Software without restriction, including without limitation " -"the rights to use, copy, modify, merge, publish, distribute, sublicense, " -"and/or sell copies of the Software, and to permit persons to whom the " -"Software is furnished to do so, subject to the following conditions:\n\n" -"The above copyright notice and this permission notice shall be included in " -"all copies or substantial portions of the Software.\n\n" +static const char* kInfoText = +"IMPORTANT INFORMATION BEFORE INSTALLING HAIKU\n\n" -"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS " -"OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, " -"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE " -"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER " -"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING " -"FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS " -"IN THE SOFTWARE."; +"This is alpha-quality software! It means there is a high risk of loosing " +"important data. Make frequent backups! You have been warned.\n\n" + +"1) If you are installing Haiku onto real hardware (not inside an emulation) " +"you need to have prepared a harddisk partition. The Installer and the " +"DriveSetup tool will only offer to initialize existing partitions with the " +"Haiku native filesystem. We recommend using the GParted Live-CD, it can also " +"resize partitions to make room. We do not feel confident in enabling our own " +"code to mess with your harddisk partition table. If you have not created a " +"partition yet, simply reboot, create the partition using whatever tool you " +"feel most comfortable with, and reboot into Haiku to continue with the " +"installation.\n\n" + +"2) The Installer will take no steps to integrate Haiku into an existig boot " +"menu. The Haiku partition itself will be made bootable. If you have GRUB " +"already installed, edit your /boot/grub/menu.1st by launching your favorite " +"editor from a Terminal like this:\n\n" + +"\tsudo /boot/grub/menu.lst\n\n" + +"You'll note that GRUB uses a different naming strategy for hard drives than " +"Linux.\n\n" + +"With GRUB it's: (hdN,n)\n\n" + +"All harddisks start with \"hd\"\n" +"\"N\" is the hard disk number, starting with \"0\".\n" +"\"n\" is the partition number, also starting with \"0\".\n" +"The first logical partition always has the number 4, regardless of the " +"number of primary partitions.\n\n" + +"So behind the other menu entries towards the bottom of the file, add " +"something similar to these lines:\n\n" + +"\t# Haiku on /dev/sda7\n" +"\ttitle\t\t\t\tHaiku\n" +"\trootnoverify\t\t(hd0,6)\n" +"\tchainloader\t\t+1\n\n" + +"You can see the correct partition in gparted for example.\n\n" + +"3) When you successfully boot into Haiku for the first time, make sure to read " +"our \"Welcome\" documentation, there is a link on the Desktop.\n\n" + +"Have fun and thanks a lot for trying out Haiku! We hope you like it!" +; int main(int, char **) @@ -101,22 +152,22 @@ InstallerApp::ReadyToRun() textView->SetInsets(10, 10, 10, 10); textView->MakeEditable(false); textView->MakeSelectable(false); - textView->SetText(kEULAText); + textView->SetText(kInfoText); BScrollView* scrollView = new BScrollView("eulaScroll", textView, B_WILL_DRAW, false, true); - BButton* disagreeButton = new BButton("Disagree", + BButton* cancelButton = new BButton("Quit", new BMessage(B_QUIT_REQUESTED)); - disagreeButton->SetTarget(this); + cancelButton->SetTarget(this); - BButton* agreeButton = new BButton("Agree", + BButton* continueButton = new BButton("Continue", new BMessage(kMsgAgree)); - agreeButton->SetTarget(this); - agreeButton->MakeDefault(true); + continueButton->SetTarget(this); + continueButton->MakeDefault(true); BRect eulaFrame = BRect(0, 0, 600, 450); - fEULAWindow = new BWindow(eulaFrame, "EULA", + fEULAWindow = new BWindow(eulaFrame, "README", B_MODAL_WINDOW, B_NOT_ZOOMABLE | B_NOT_MINIMIZABLE | B_AUTO_UPDATE_SIZE_LIMITS); @@ -125,8 +176,8 @@ InstallerApp::ReadyToRun() .Add(scrollView) .Add(BGroupLayoutBuilder(B_HORIZONTAL, 10) .AddGlue() - .Add(disagreeButton) - .Add(agreeButton) + .Add(cancelButton) + .Add(continueButton) ) .SetInsets(10, 10, 10, 10) );