"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "preferences.c" between
dvdisaster-0.79.3.tar.gz and dvdisaster-0.79.5.tar.gz

About: dvdisaster provides a margin of safety against data loss on CD, DVD and BD media caused by aging or scratches. Development version.

preferences.c  (dvdisaster-0.79.3):preferences.c  (dvdisaster-0.79.5)
/* dvdisaster: Additional error correction for optical media. /* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2010 Carsten Gnoerlich. * Copyright (C) 2004-2015 Carsten Gnoerlich.
* Project home page: http://www.dvdisaster.com
* Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org
* *
* This program is free software; you can redistribute it and/or modify * Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org
*
* This file is part of dvdisaster.
*
* dvdisaster is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * dvdisaster is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA,
* or direct your browser at http://www.gnu.org.
*/ */
#include "dvdisaster.h" #include "dvdisaster.h"
extern int CurrentMediumSize(int); /* from scsi-layer.h */ extern gint64 CurrentMediumSize(int); /* from scsi-layer.h */
/*** /***
*** debugging workaround *** debugging workaround
***/ ***/
#if 0 #if 0
#define gtk_widget_set_sensitive(widget, state) { printf("%s, line %d - gtk_wid get_set_sensitive()\n", __FILE__, __LINE__); gtk_widget_set_sensitive(widget, st ate); } #define gtk_widget_set_sensitive(widget, state) { printf("%s, line %d - gtk_wid get_set_sensitive()\n", __FILE__, __LINE__); gtk_widget_set_sensitive(widget, st ate); }
#endif #endif
/*** /***
skipping to change at line 113 skipping to change at line 114
GtkWidget *cacheDefectiveA, *cacheDefectiveB; GtkWidget *cacheDefectiveA, *cacheDefectiveB;
GtkWidget *cacheDefectiveDirA, *cacheDefectiveDirB; GtkWidget *cacheDefectiveDirA, *cacheDefectiveDirB;
GtkWidget *cacheDefectiveChooser; GtkWidget *cacheDefectiveChooser;
GtkWidget *cacheDefectivePrefixA, *cacheDefectivePrefixB; GtkWidget *cacheDefectivePrefixA, *cacheDefectivePrefixB;
GtkWidget *rangeToggleA, *rangeToggleB; GtkWidget *rangeToggleA, *rangeToggleB;
GtkWidget *rangeSpin1A, *rangeSpin1B; GtkWidget *rangeSpin1A, *rangeSpin1B;
GtkWidget *rangeSpin2A, *rangeSpin2B; GtkWidget *rangeSpin2A, *rangeSpin2B;
GtkWidget *rawButtonA, *rawButtonB; GtkWidget *rawButtonA, *rawButtonB;
GtkWidget *jumpScaleA, *jumpScaleB; GtkWidget *jumpScaleA, *jumpScaleB;
GtkWidget *daoButtonA, *daoButtonB; GtkWidget *daoButtonA, *daoButtonB;
GtkWidget *ignoreISOSizeA, *ignoreISOSizeB;
GtkWidget *dsmButtonA, *dsmButtonB; GtkWidget *dsmButtonA, *dsmButtonB;
GtkWidget *recogRS02A, *recogRS02B; GtkWidget *recogRS02A, *recogRS02B;
GtkWidget *recogRS03A, *recogRS03B; GtkWidget *recogRS03A, *recogRS03B;
GtkWidget *byteEntryA, *byteEntryB; GtkWidget *byteEntryA, *byteEntryB;
GtkWidget *byteCheckA, *byteCheckB; GtkWidget *byteCheckA, *byteCheckB;
GtkWidget *spinUpA, *spinUpB; GtkWidget *spinUpA, *spinUpB;
GtkWidget *internalAttemptsA, *internalAttemptsB; GtkWidget *internalAttemptsA, *internalAttemptsB;
GtkWidget *radioRawMode20A, *radioRawMode20B; GtkWidget *radioRawMode20A, *radioRawMode20B;
GtkWidget *radioRawMode21A, *radioRawMode21B; GtkWidget *radioRawMode21A, *radioRawMode21B;
GtkWidget *radioRawModeOtherA, *radioRawModeOtherB; GtkWidget *radioRawModeOtherA, *radioRawModeOtherB;
skipping to change at line 372 skipping to change at line 374
/* /*
* Actions used in the preferences * Actions used in the preferences
*/ */
enum enum
{ TOGGLE_READ_CREATE, { TOGGLE_READ_CREATE,
TOGGLE_UNLINK, TOGGLE_UNLINK,
TOGGLE_SUFFIX, TOGGLE_SUFFIX,
TOGGLE_RECOG_RS02, TOGGLE_RECOG_RS02,
TOGGLE_RECOG_RS03, TOGGLE_RECOG_RS03,
TOGGLE_SIZEDRIVE,
TOGGLE_DAO, TOGGLE_DAO,
TOGGLE_DSM, TOGGLE_DSM,
TOGGLE_RANGE, TOGGLE_RANGE,
TOGGLE_RAW, TOGGLE_RAW,
TOGGLE_RAW_20H, TOGGLE_RAW_20H,
TOGGLE_RAW_21H, TOGGLE_RAW_21H,
TOGGLE_RAW_OTHER, TOGGLE_RAW_OTHER,
TOGGLE_CACHE_DEFECTIVE, TOGGLE_CACHE_DEFECTIVE,
TOGGLE_CANCEL_OK, TOGGLE_CANCEL_OK,
TOGGLE_FATAL_SENSE, TOGGLE_FATAL_SENSE,
skipping to change at line 490 skipping to change at line 493
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->logFileA), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->logFileA), state);
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->logFileB), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->logFileB), state);
break; break;
case TOGGLE_CANCEL_OK: case TOGGLE_CANCEL_OK:
Closure->reverseCancelOK = state; Closure->reverseCancelOK = state;
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->cancelOKA), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->cancelOKA), state);
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->cancelOKB), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->cancelOKB), state);
break; break;
case TOGGLE_SIZEDRIVE:
Closure->ignoreIsoSize = state;
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->ignoreISOSizeA), state);
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->ignoreISOSizeB), state);
break;
case TOGGLE_DAO: case TOGGLE_DAO:
Closure->noTruncate = state; Closure->noTruncate = state;
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->daoButtonA), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->daoButtonA), state);
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->daoButtonB), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->daoButtonB), state);
break; break;
case TOGGLE_RECOG_RS02: case TOGGLE_RECOG_RS02:
Closure->examineRS02 = state; Closure->examineRS02 = state;
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS02A), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS02A), state);
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS02B), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS02B), state);
break; break;
case TOGGLE_RECOG_RS03: case TOGGLE_RECOG_RS03:
Closure->examineRS03 = state; Closure->examineRS03 = state;
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS03A), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS03A), state);
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS03B), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS03B), state);
break; break;
case TOGGLE_DSM: case TOGGLE_DSM:
Closure->dsmVersion = state; Closure->dsmVersion = !state;
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->dsmButtonA), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->dsmButtonA), state);
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->dsmButtonB), state); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->dsmButtonB), state);
if(state) if(state)
{ if(pc->byteCheckA) { if(pc->byteCheckA)
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->byteCheckA), FALSE); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->byteCheckA), FALSE);
if(pc->byteCheckB) if(pc->byteCheckB)
activate_toggle_button(GTK_TOGGLE_BUTTON(pc->byteCheckB), FALSE); activate_toggle_button(GTK_TOGGLE_BUTTON(pc->byteCheckB), FALSE);
} }
break; break;
skipping to change at line 1301 skipping to change at line 1310
Closure->logFile); Closure->logFile);
} }
gtk_widget_show(pc->logFileChooser); gtk_widget_show(pc->logFileChooser);
break; break;
case LOGFILE_DELETE: case LOGFILE_DELETE:
{ GtkWidget *dialog = gtk_message_dialog_new(Closure->prefsWindow, { GtkWidget *dialog = gtk_message_dialog_new(Closure->prefsWindow,
GTK_DIALOG_DESTROY_WITH_PAREN T, GTK_DIALOG_DESTROY_WITH_PAREN T,
GTK_MESSAGE_QUESTION, GTK_MESSAGE_QUESTION,
GTK_BUTTONS_OK_CANCEL, GTK_BUTTONS_OK_CANCEL,
_utf("Delete the log file?")) ; "%s", _utf("Delete the log fi le?"));
int answer; int answer;
ReverseCancelOK(GTK_DIALOG(dialog)); ReverseCancelOK(GTK_DIALOG(dialog));
answer = gtk_dialog_run(GTK_DIALOG(dialog)); answer = gtk_dialog_run(GTK_DIALOG(dialog));
if(answer == GTK_RESPONSE_OK) if(answer == GTK_RESPONSE_OK)
LargeUnlink(Closure->logFile); LargeUnlink(Closure->logFile);
gtk_widget_destroy(dialog); gtk_widget_destroy(dialog);
break; break;
} }
skipping to change at line 1631 skipping to change at line 1640
/** Image properties */ /** Image properties */
frame = gtk_frame_new(_utf("Image properties")); frame = gtk_frame_new(_utf("Image properties"));
gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
vbox2 = gtk_vbox_new(FALSE, 15); vbox2 = gtk_vbox_new(FALSE, 15);
gtk_container_set_border_width(GTK_CONTAINER(vbox2), 10); gtk_container_set_border_width(GTK_CONTAINER(vbox2), 10);
gtk_container_add(GTK_CONTAINER(frame), vbox2); gtk_container_add(GTK_CONTAINER(frame), vbox2);
/* Query size from drive */
lwoh = CreateLabelWithOnlineHelp(_("Ignore ISO/UDF meta data"), _("Ignore
image size recorded in ISO/UDF file system"));
RegisterPreferencesHelpWindow(lwoh);
for(i=0; i<2; i++)
{ GtkWidget *hbox = gtk_hbox_new(FALSE, 0);
GtkWidget *button = gtk_check_button_new();
gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), i ? lwoh->normalLabel : lwoh->linkBox,
FALSE, FALSE, 0);
if(!i) pc->ignoreISOSizeA = button;
else pc->ignoreISOSizeB = button;
activate_toggle_button(GTK_TOGGLE_BUTTON(button), Closure->ignoreIsoSize
);
g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(toggle_cb), GIN
T_TO_POINTER(TOGGLE_SIZEDRIVE));
if(!i) gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0);
else AddHelpWidget(lwoh, hbox);
}
AddHelpParagraph(lwoh,
_("<b>Ignore image size recorded in ISO/UDF filesystem</b>
\n\n"
"When reading or scanning optical discs, the overall siz
e of the medium "
"needs to be determined. dvdisaster will always use the
image size "
"recorded in the error correction data if such data is p
resent. "
"Otherwise, image size is queried in the following order
:\n\n"
"1. Image size recorded in the ISO/UDF file system\n"
"2. Image size reported by the optical drive.\n\n"
"Using this order makes sense as image sizes reported by
most drives "
"are unreliable in many cases. However in some rare case
s "
"the image size recorded in the ISO/UDF filesystem is wr
ong. Some "
"GNU/Linux live CDs may have this problem. If you read b
ack the ISO "
"image from such CDs and its md5sum does not match the a
dvertised one, "
"try re-reading the image with this option turned on.\n"
"Do <b>not blindly turn this option on</b> as it will mo
st likely "
"create sub optimal or corrupted ISO images, especially
if you "
"plan to use the image for error correction data generat
ion."));
/* DAO button */ /* DAO button */
lwoh = CreateLabelWithOnlineHelp(_("DAO mode"), _("Assume image to be writ ten in DAO mode (don't truncate)")); lwoh = CreateLabelWithOnlineHelp(_("DAO mode"), _("Assume image to be writ ten in DAO mode (don't truncate)"));
RegisterPreferencesHelpWindow(lwoh); RegisterPreferencesHelpWindow(lwoh);
for(i=0; i<2; i++) for(i=0; i<2; i++)
{ GtkWidget *hbox = gtk_hbox_new(FALSE, 0); { GtkWidget *hbox = gtk_hbox_new(FALSE, 0);
GtkWidget *button = gtk_check_button_new(); GtkWidget *button = gtk_check_button_new();
gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
skipping to change at line 1677 skipping to change at line 1725
frame = gtk_frame_new(_utf("Image format")); frame = gtk_frame_new(_utf("Image format"));
gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
vbox2 = gtk_vbox_new(FALSE, 15); vbox2 = gtk_vbox_new(FALSE, 15);
gtk_container_set_border_width(GTK_CONTAINER(vbox2), 10); gtk_container_set_border_width(GTK_CONTAINER(vbox2), 10);
gtk_container_add(GTK_CONTAINER(frame), vbox2); gtk_container_add(GTK_CONTAINER(frame), vbox2);
/* new style missing sector marker */ /* new style missing sector marker */
lwoh = CreateLabelWithOnlineHelp(_("Missing sector tags"), _("Use new styl e missing sector tags (Warning: compatibility issues!)")); lwoh = CreateLabelWithOnlineHelp(_("Missing sector tags"), _("Use old styl e missing sector tags (not recommended)"));
RegisterPreferencesHelpWindow(lwoh); RegisterPreferencesHelpWindow(lwoh);
for(i=0; i<2; i++) for(i=0; i<2; i++)
{ GtkWidget *hbox = gtk_hbox_new(FALSE, 0); { GtkWidget *hbox = gtk_hbox_new(FALSE, 0);
GtkWidget *button = gtk_check_button_new(); GtkWidget *button = gtk_check_button_new();
gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), i ? lwoh->normalLabel : lwoh->linkBox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), i ? lwoh->normalLabel : lwoh->linkBox, FALSE, FALSE, 0);
if(!i) pc->dsmButtonA = button; if(!i) pc->dsmButtonA = button;
else pc->dsmButtonB = button; else pc->dsmButtonB = button;
activate_toggle_button(GTK_TOGGLE_BUTTON(button), Closure->dsmVersion); activate_toggle_button(GTK_TOGGLE_BUTTON(button), !Closure->dsmVersion);
g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(toggle_cb), GIN T_TO_POINTER(TOGGLE_DSM)); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(toggle_cb), GIN T_TO_POINTER(TOGGLE_DSM));
if(!i) gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); if(!i) gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0);
else AddHelpWidget(lwoh, hbox); else AddHelpWidget(lwoh, hbox);
} }
AddHelpParagraph(lwoh, AddHelpParagraph(lwoh,
_("<b>Missing sector tagging</b>\n\n" _("<b>Missing sector tagging</b>\n\n"
"Missing sectors are tagged with a special code sequence " "Missing sectors are tagged with a special code sequence "
"in the image. If this value is activated, an improved " "in the image. By default, an improved "
"code is used which can detect some wilfully damaged " "code is used which can detect some wilfully damaged "
"content. This includes media which have been created " "content. This includes media which have been created "
"from partially recovered images, and images containing " "from partially recovered images, and images containing "
"files from such partial media.\n" "files from such partial media.\n"
"However only dvdisaster 0.72 and up will recognize " "However only dvdisaster 0.72 and up will recognize "
"the new tags. You must NOT process the resulting " "the improved tags. Activate this switch to force using
"images with older dvdisaster versions as they would " the "
"not see any missing sectors in the resulting images.\n "older format when this image will be processed with old
" er "
"dvdisaster versions. Otherwise the older dvdisaster ver
sions "
"will not see any missing sectors in the resulting image
s.\n"
"N.b.: dvdisaster >= 0.72 will automatically recognize " "N.b.: dvdisaster >= 0.72 will automatically recognize "
"both tag formats when reading images; setting this valu e " "both tag formats when reading images; setting this valu e "
"only affects the creation of new images.")); "only affects the creation of new images."));
/** byte filling */ /** byte filling */
if(Closure->debugMode) if(Closure->debugMode)
{ {
lwoh = CreateLabelWithOnlineHelp(_("Filling of unreadable sectors"), lwoh = CreateLabelWithOnlineHelp(_("Filling of unreadable sectors"),
_("Fill unreadable sectors with byte:") ); _("Fill unreadable sectors with byte:") );
skipping to change at line 2176 skipping to change at line 2225
} }
AddHelpParagraph(lwoh, AddHelpParagraph(lwoh,
_("<b>Maximum number of reading attempts</b>\n\n" _("<b>Maximum number of reading attempts</b>\n\n"
"When the minimum number of reading attempts is reached " "When the minimum number of reading attempts is reached "
"without success, dvdisaster might choose to perform add itional " "without success, dvdisaster might choose to perform add itional "
"reading attempts upto this number.\n\n" "reading attempts upto this number.\n\n"
"The decision to do more attempts depends on the quality of " "The decision to do more attempts depends on the quality of "
"data gathered so far, which in turn is influenced by th e " "data gathered so far, which in turn is influenced by th e "
"capabilities of your CD/DVD drive and the operating sys tem. " "capabilities of your optical drive and the operating sy stem. "
"So depending on your configuration, you may or " "So depending on your configuration, you may or "
"may not see dvdisaster using the maximum value." "may not see dvdisaster using the maximum value."
)); ));
/* Jump selector */ /* Jump selector */
lwoh = CreateLabelWithOnlineHelp(_("Treatment of unreadable areas"), "igno re"); lwoh = CreateLabelWithOnlineHelp(_("Treatment of unreadable areas"), "igno re");
RegisterPreferencesHelpWindow(lwoh); RegisterPreferencesHelpWindow(lwoh);
if( GetLabelWidth(GTK_LABEL(lwoh->normalLabel), _utf("Skip %d sectors aft er read error"), 20480) if( GetLabelWidth(GTK_LABEL(lwoh->normalLabel), _utf("Skip %d sectors aft er read error"), 20480)
> GetLabelWidth(GTK_LABEL(lwoh->normalLabel), _utf("Stop reading when un readable intervals &lt; %d"), 20480)) > GetLabelWidth(GTK_LABEL(lwoh->normalLabel), _utf("Stop reading when un readable intervals &lt; %d"), 20480))
skipping to change at line 2388 skipping to change at line 2437
if(!i) pc->cacheDefectivePrefixA = entry; if(!i) pc->cacheDefectivePrefixA = entry;
else pc->cacheDefectivePrefixB = entry; else pc->cacheDefectivePrefixB = entry;
if(!i) gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); if(!i) gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0);
else AddHelpWidget(lwoh, hbox); else AddHelpWidget(lwoh, hbox);
} }
AddHelpParagraph(lwoh, AddHelpParagraph(lwoh,
_("<b>Raw sector file prefix</b>\n\n" _("<b>Raw sector file prefix</b>\n\n"
"Use a different prefix for each disk you are trying " "Use a different prefix for each disc you are trying "
"to recover, e.g. \"disk1-\" and so on.")); "to recover, e.g. \"disc1-\" and so on."));
/*** "Error correction" page */ /*** "Error correction" page */
/* Method chooser menu */ /* Method chooser menu */
vbox = create_page(notebook, _utf("Error correction")); vbox = create_page(notebook, _utf("Error correction"));
lwoh = CreateLabelWithOnlineHelp(_("Error correction method"), lwoh = CreateLabelWithOnlineHelp(_("Error correction method"),
_("Storage method:")); _("Storage method:"));
RegisterPreferencesHelpWindow(lwoh); RegisterPreferencesHelpWindow(lwoh);
skipping to change at line 2491 skipping to change at line 2540
} }
g_idle_add(notebook_idle_func, pc); g_idle_add(notebook_idle_func, pc);
/*** "Files" page */ /*** "Files" page */
vbox = create_page(notebook, _utf("Files")); vbox = create_page(notebook, _utf("Files"));
/* file extension */ /* file extension */
frame = gtk_frame_new(_utf("Local files (on hard disc)")); frame = gtk_frame_new(_utf("Local files (on hard disk)"));
gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
vbox2 = gtk_vbox_new(FALSE, 15); vbox2 = gtk_vbox_new(FALSE, 15);
gtk_container_set_border_width(GTK_CONTAINER(vbox2), 10); gtk_container_set_border_width(GTK_CONTAINER(vbox2), 10);
gtk_container_add(GTK_CONTAINER(frame), vbox2); gtk_container_add(GTK_CONTAINER(frame), vbox2);
lwoh = CreateLabelWithOnlineHelp(_("Automatic file suffixes"), _("Automati cally add .iso and .ecc file suffixes")); lwoh = CreateLabelWithOnlineHelp(_("Automatic file suffixes"), _("Automati cally add .iso and .ecc file suffixes"));
RegisterPreferencesHelpWindow(lwoh); RegisterPreferencesHelpWindow(lwoh);
for(i=0; i<2; i++) for(i=0; i<2; i++)
 End of changes. 19 change blocks. 
23 lines changed or deleted 92 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS