diff options
Diffstat (limited to 'rbutil/rbutilqt/base/bootloaderinstallhelper.cpp')
-rw-r--r-- | rbutil/rbutilqt/base/bootloaderinstallhelper.cpp | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/base/bootloaderinstallhelper.cpp b/rbutil/rbutilqt/base/bootloaderinstallhelper.cpp new file mode 100644 index 0000000000..fe962d2b1d --- /dev/null +++ b/rbutil/rbutilqt/base/bootloaderinstallhelper.cpp | |||
@@ -0,0 +1,133 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * | ||
9 | * Copyright (C) 2012 Dominik Riebeling | ||
10 | * | ||
11 | * All files in this archive are subject to the GNU General Public License. | ||
12 | * See the file COPYING in the source tree root for full license agreement. | ||
13 | * | ||
14 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
15 | * KIND, either express or implied. | ||
16 | * | ||
17 | * This file is a modified version of the AMS installer by Dominik Wenger | ||
18 | * | ||
19 | ****************************************************************************/ | ||
20 | |||
21 | #include <QtCore> | ||
22 | |||
23 | #include "bootloaderinstallhelper.h" | ||
24 | #include "bootloaderinstallmi4.h" | ||
25 | #include "bootloaderinstallhex.h" | ||
26 | #include "bootloaderinstallipod.h" | ||
27 | #include "bootloaderinstallsansa.h" | ||
28 | #include "bootloaderinstallfile.h" | ||
29 | #include "bootloaderinstallchinachip.h" | ||
30 | #include "bootloaderinstallams.h" | ||
31 | #include "bootloaderinstalltcc.h" | ||
32 | #include "bootloaderinstallmpio.h" | ||
33 | #include "bootloaderinstallimx.h" | ||
34 | |||
35 | BootloaderInstallBase* BootloaderInstallHelper::createBootloaderInstaller(QObject* parent, QString type) | ||
36 | { | ||
37 | if(type == "mi4") { | ||
38 | return new BootloaderInstallMi4(parent); | ||
39 | } | ||
40 | else if(type == "hex") { | ||
41 | return new BootloaderInstallHex(parent); | ||
42 | } | ||
43 | else if(type == "sansa") { | ||
44 | return new BootloaderInstallSansa(parent); | ||
45 | } | ||
46 | else if(type == "ipod") { | ||
47 | return new BootloaderInstallIpod(parent); | ||
48 | } | ||
49 | else if(type == "file") { | ||
50 | return new BootloaderInstallFile(parent); | ||
51 | } | ||
52 | else if(type == "chinachip") { | ||
53 | return new BootloaderInstallChinaChip(parent); | ||
54 | } | ||
55 | else if(type == "ams") { | ||
56 | return new BootloaderInstallAms(parent); | ||
57 | } | ||
58 | else if(type == "tcc") { | ||
59 | return new BootloaderInstallTcc(parent); | ||
60 | } | ||
61 | else if(type == "mpio") { | ||
62 | return new BootloaderInstallMpio(parent); | ||
63 | } | ||
64 | else if(type == "imx") { | ||
65 | return new BootloaderInstallImx(parent); | ||
66 | } | ||
67 | else { | ||
68 | return NULL; | ||
69 | } | ||
70 | |||
71 | } | ||
72 | |||
73 | |||
74 | //! @brief Return post install hints string. | ||
75 | //! @param model model string | ||
76 | //! @return hints. | ||
77 | QString BootloaderInstallHelper::postinstallHints(QString model) | ||
78 | { | ||
79 | bool hint = false; | ||
80 | QString msg = QObject::tr("Bootloader installation is almost complete. " | ||
81 | "Installation <b>requires</b> you to perform the " | ||
82 | "following steps manually:"); | ||
83 | |||
84 | msg += "<ol>"; | ||
85 | if(model != "sansafuzeplus") { | ||
86 | msg += QObject::tr("<li>Safely remove your player.</li>"); | ||
87 | } | ||
88 | if(model == "iriverh100" || model == "iriverh120" || model == "iriverh300" || | ||
89 | model == "ondavx747") { | ||
90 | hint = true; | ||
91 | msg += QObject::tr("<li>Reboot your player into the original firmware.</li>" | ||
92 | "<li>Perform a firmware upgrade using the update functionality " | ||
93 | "of the original firmware. Please refer to your player's manual " | ||
94 | "on details.<br/><b>Important:</b> updating the firmware is a " | ||
95 | "critical process that must not be interrupted. <b>Make sure the " | ||
96 | "player is charged before starting the firmware update " | ||
97 | "process.</b></li>" | ||
98 | "<li>After the firmware has been updated reboot your player.</li>"); | ||
99 | } | ||
100 | if(model == "sansafuzeplus") { | ||
101 | hint = true; | ||
102 | msg += QObject::tr("<li>Remove any previously inserted microSD card</li>"); | ||
103 | msg += QObject::tr("<li>Disconnect your player. The player will reboot and " | ||
104 | "perform an update of the original firmware. " | ||
105 | "Please refer to your players manual on details.<br/>" | ||
106 | "<b>Important:</b> updating the firmware is a " | ||
107 | "critical process that must not be interrupted. <b>Make sure the " | ||
108 | "player is charged before disconnecting the player.</b></li>" | ||
109 | "<li>After the firmware has been updated reboot your player.</li>"); | ||
110 | } | ||
111 | if(model == "iaudiox5" || model == "iaudiom5" | ||
112 | || model == "iaudiox5v" || model == "iaudiom3" || model == "mpioh200") { | ||
113 | hint = true; | ||
114 | msg += QObject::tr("<li>Turn the player off</li>" | ||
115 | "<li>Insert the charger</li>"); | ||
116 | } | ||
117 | if(model == "gigabeatf") { | ||
118 | hint = true; | ||
119 | msg += QObject::tr("<li>Unplug USB and power adaptors</li>" | ||
120 | "<li>Hold <i>Power</i> to turn the player off</li>" | ||
121 | "<li>Toggle the battery switch on the player</li>" | ||
122 | "<li>Hold <i>Power</i> to boot into Rockbox</li>"); | ||
123 | } | ||
124 | msg += "</ol>"; | ||
125 | msg += QObject::tr("<p><b>Note:</b> You can safely install other parts first, but " | ||
126 | "the above steps are <b>required</b> to finish the installation!</p>"); | ||
127 | |||
128 | if(hint) | ||
129 | return msg; | ||
130 | else | ||
131 | return QString(); | ||
132 | } | ||
133 | |||