From: <ow...@us...> - 2008-05-22 16:58:35
|
Revision: 1390 http://ipcop.svn.sourceforge.net/ipcop/?rev=1390&view=rev Author: owes Date: 2008-05-22 09:58:43 -0700 (Thu, 22 May 2008) Log Message: ----------- Fix newt handling when floppy not exist. Modified Paths: -------------- ipcop/trunk/src/installer/restore.c Modified: ipcop/trunk/src/installer/restore.c =================================================================== --- ipcop/trunk/src/installer/restore.c 2008-05-22 16:55:46 UTC (rev 1389) +++ ipcop/trunk/src/installer/restore.c 2008-05-22 16:58:43 UTC (rev 1390) @@ -50,7 +50,6 @@ if ( access("/harddisk" TMP_RESTORE_PATH"/var/ipcop/main/settings", 0) ) { errorbox("TR_NO_MAIN_SETTINGS_IN_BACKUP"); - newtPopWindow(); return 1; } @@ -90,6 +89,7 @@ { if ( mysystem("/sbin/chroot /harddisk /bin/tar -X /var/ipcop/backup/exclude.system -C " TMP_RESTORE_PATH " -xvzf /dev/fd0") == 0 ) { + newtPopWindow(); // Pop status window return 0; } } @@ -99,8 +99,8 @@ { } + newtPopWindow(); // Pop status window errorbox("TR_UNABLE_TO_INSTALL_FILES"); - newtPopWindow(); return 1; } @@ -108,6 +108,7 @@ /* */ static int restorefromusb(void) { + newtPopWindow(); // Pop status window newtWinMessage(ipcop_gettext("TR_RESTORE"), ipcop_gettext("TR_OK"), "Sorry, not implemented yet."); return 1; } @@ -116,6 +117,7 @@ /* */ static int restorefromnetwork(void) { + newtPopWindow(); // Pop status window newtWinMessage(ipcop_gettext("TR_RESTORE"), ipcop_gettext("TR_OK"), "Sorry, not implemented yet."); return 1; } @@ -155,64 +157,66 @@ int error; int userskip; - snprintf(message, STRING_SIZE, ipcop_gettext("TR_RESTORE_CONFIGURATION"), "IPCop"); - text = newtTextboxReflowed(1, 1, message, 68, 0, 0, 0); - numLines = newtTextboxGetNumLines(text); - newtCenteredWindow(72, 14+numLines, ipcop_gettext("TR_RESTORE")); - restoreform = newtForm(NULL, NULL, 0); - newtFormAddComponent(restoreform, text); + do + { + snprintf(message, STRING_SIZE, ipcop_gettext("TR_RESTORE_CONFIGURATION"), "IPCop"); + text = newtTextboxReflowed(1, 1, message, 68, 0, 0, 0); + numLines = newtTextboxGetNumLines(text); - /* selections: floppy, usb */ - radiofloppy = newtRadiobutton (12, 2+numLines, ipcop_gettext("TR_FLOPPY"), 1, NULL); - radiousb = newtRadiobutton (12, 3+numLines, ipcop_gettext("TR_USB_KEY"), 0, radiofloppy); + newtCenteredWindow(72, 14+numLines, ipcop_gettext("TR_RESTORE")); + restoreform = newtForm(NULL, NULL, 0); + newtFormAddComponent(restoreform, text); - newtComponentAddCallback(radiofloppy, restorecallback, NULL); - newtComponentAddCallback(radiousb, restorecallback, NULL); + /* selections: floppy, usb */ + radiofloppy = newtRadiobutton (12, 2+numLines, ipcop_gettext("TR_FLOPPY"), 1, NULL); + radiousb = newtRadiobutton (12, 3+numLines, ipcop_gettext("TR_USB_KEY"), 0, radiofloppy); - if ( medium_sources == network ) - { - radionetwork = newtRadiobutton (12, 4+numLines, "http/ftp", 0, radiousb); - newtComponentAddCallback(radionetwork,restorecallback, NULL); - newtFormAddComponents(restoreform, radiofloppy, radiousb, radionetwork, NULL); - } - else - { - /* when not installing from network source, there is no active and usable network card */ - radionetwork = NULL; - newtFormAddComponents(restoreform, radiofloppy, radiousb, NULL); - } + newtComponentAddCallback(radiofloppy, restorecallback, NULL); + newtComponentAddCallback(radiousb, restorecallback, NULL); - /* hostname for network restore */ - labelhostname = newtTextbox(2, 6+numLines, 35, 1, 0); - newtTextboxSetText(labelhostname, ipcop_gettext("TR_HOSTNAME")); - newtFormAddComponent(restoreform, labelhostname); - entryhostname = newtEntry(25, 6+numLines, "ipcop.local", 35, &hostnamevalue, 0); - newtFormAddComponent(restoreform, entryhostname); - /* password */ - labelpassword = newtTextbox(2, 7+numLines, 35, 1, 0); - newtTextboxSetText(labelpassword, ipcop_gettext("TR_BACKUP_PASSWORD")); - newtFormAddComponent(restoreform, labelpassword); - entrypassword = newtEntry(25, 7+numLines, "", 20, &passwordvalue, 0); - newtEntrySetFlags(entrypassword, NEWT_FLAG_PASSWORD, NEWT_FLAGS_SET); - newtFormAddComponent(restoreform, entrypassword); - /* disabled for default selection */ - newtEntrySetFlags(entryhostname, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET); - newtEntrySetFlags(entrypassword, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET); + if ( medium_sources == network ) + { + radionetwork = newtRadiobutton (12, 4+numLines, "http/ftp", 0, radiousb); + newtComponentAddCallback(radionetwork,restorecallback, NULL); + newtFormAddComponents(restoreform, radiofloppy, radiousb, radionetwork, NULL); + } + else + { + /* when not installing from network source, there is no active and usable network card */ + radionetwork = NULL; + newtFormAddComponents(restoreform, radiofloppy, radiousb, NULL); + } - ok = newtButton(6, 9+numLines, ipcop_gettext("TR_OK")); - skip = newtButton(26, 9+numLines, gettext("TR_SKIP")); - newtFormAddComponents(restoreform, ok, skip, NULL); + /* hostname for network restore */ + labelhostname = newtTextbox(2, 6+numLines, 35, 1, 0); + newtTextboxSetText(labelhostname, ipcop_gettext("TR_HOSTNAME")); + newtFormAddComponent(restoreform, labelhostname); + entryhostname = newtEntry(25, 6+numLines, "ipcop.local", 35, &hostnamevalue, 0); + newtFormAddComponent(restoreform, entryhostname); + /* password */ + labelpassword = newtTextbox(2, 7+numLines, 35, 1, 0); + newtTextboxSetText(labelpassword, ipcop_gettext("TR_BACKUP_PASSWORD")); + newtFormAddComponent(restoreform, labelpassword); + entrypassword = newtEntry(25, 7+numLines, "", 20, &passwordvalue, 0); + newtEntrySetFlags(entrypassword, NEWT_FLAG_PASSWORD, NEWT_FLAGS_SET); + newtFormAddComponent(restoreform, entrypassword); + /* disabled for default selection */ + newtEntrySetFlags(entryhostname, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET); + newtEntrySetFlags(entrypassword, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET); - newtRefresh(); - newtDrawForm(restoreform); + ok = newtButton(6, 9+numLines, ipcop_gettext("TR_OK")); + skip = newtButton(26, 9+numLines, gettext("TR_SKIP")); + newtFormAddComponents(restoreform, ok, skip, NULL); - do - { + newtRefresh(); + newtDrawForm(restoreform); + error = 1; userskip = 0; newtFormRun(restoreform, &exitstruct); newtPopWindow(); + newtFormDestroy(restoreform); if ( exitstruct.u.co == skip ) { @@ -245,13 +249,10 @@ { error = copy_change_files(); } - newtPopWindow(); } } while ( error && (userskip == 0) ); - newtFormDestroy(restoreform); - return ( error ); // ipcop_gettext("TR_NO_BACKUP_ON_USB_FOUND") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |