⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 create.c

📁 -一个LINUX下的使用方&#63845 的CD-ROM刻录软件,开放源码
💻 C
📖 第 1 页 / 共 5 页
字号:
        l1 = rightjust_gtk_label_new(text(105));        gtk_table_attach_defaults(GTK_TABLE(tbl),l1,0,2,2,3);        gtk_widget_show(l1);        e1 = gtk_entry_new();        vrylist_l3 = e1;        gtk_entry_set_editable(GTK_ENTRY(e1),FALSE);        gtk_table_attach_defaults(GTK_TABLE(tbl),e1,2,8,2,3);        gtk_widget_show(e1);        l1 = rightjust_gtk_label_new(text(145));        gtk_table_attach_defaults(GTK_TABLE(tbl),l1,0,2,3,4);        gtk_widget_show(l1);        e1 = gtk_entry_new();        vrylist_l4 = e1;        gtk_entry_set_editable(GTK_ENTRY(e1),FALSE);        gtk_table_attach_defaults(GTK_TABLE(tbl),e1,2,8,3,4);        gtk_widget_show(e1);        /* options frame */        vbox = gtk_vbox_new(FALSE,0);        gtk_container_add(GTK_CONTAINER(f3),vbox);        gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);        gtk_widget_show(vbox);        tbl = gtk_table_new(2,8,TRUE);        gtk_table_set_col_spacings(GTK_TABLE(tbl),10);        gtk_box_pack_start(GTK_BOX(vbox),tbl,FALSE,FALSE,10);        gtk_widget_show(tbl);        check = gtk_check_button_new_with_label(text(234));        gtk_signal_connect(GTK_OBJECT(check),"clicked",                GTK_SIGNAL_FUNC(verifyoptions_selected),GINT_TO_POINTER(0));        gtk_table_attach_defaults(GTK_TABLE(tbl),check,1,8,0,1);        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),                curset.noaudioverify);        gtk_widget_show(check);        define_tooltip(check, help(53));                check = gtk_check_button_new_with_label(text(236));        gtk_signal_connect(GTK_OBJECT(check),"clicked",                GTK_SIGNAL_FUNC(verifyoptions_selected),GINT_TO_POINTER(1));        gtk_table_attach_defaults(GTK_TABLE(tbl),check,1,8,1,2);        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),                curset.verifyfailabort);        gtk_widget_show(check);        define_tooltip(check, help(54));        	/* right frame */        vbox = gtk_vbox_new(FALSE,0);        gtk_container_add(GTK_CONTAINER(f2),vbox);        gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);        gtk_widget_show(vbox);        scrolled_win = gtk_scrolled_window_new (NULL, NULL);        gtk_box_pack_start(GTK_BOX(vbox),scrolled_win,TRUE,TRUE,0);        gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),                GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);        gtk_widget_show(scrolled_win);                titles[0] = g_strdup("");        titles[1] = text(102);        img_list = gtk_clist_new_with_titles(2,titles);        gtk_container_add (GTK_CONTAINER (scrolled_win), img_list);        imglist = GTK_CLIST(img_list);        gtk_signal_connect(GTK_OBJECT(imglist), "select_row",                GTK_SIGNAL_FUNC(verify_select_row),NULL);        gtk_signal_connect(GTK_OBJECT(imglist), "unselect_row",                GTK_SIGNAL_FUNC(verify_select_row),NULL);        gtk_clist_set_column_width(imglist, 0, 16);        gtk_clist_set_column_auto_resize(imglist, 1, TRUE);	if (setupdata.option_selectionmode == 0) {		gtk_clist_set_selection_mode (imglist, GTK_SELECTION_MULTIPLE);	} else {		gtk_clist_set_selection_mode (imglist, GTK_SELECTION_EXTENDED);	}        gtk_widget_show(img_list);	gtk_widget_realize(img_list);        tbl = gtk_table_new(1,8,TRUE);        gtk_table_set_row_spacings(GTK_TABLE(tbl),10);        gtk_table_set_col_spacings(GTK_TABLE(tbl),10);        gtk_box_pack_start(GTK_BOX(vbox),tbl,FALSE,FALSE,10);        gtk_widget_show(tbl);                l1 = rightjust_gtk_label_new(text(300));        gtk_table_attach_defaults(GTK_TABLE(tbl),l1,0,2,0,1);        gtk_widget_show(l1);        e1 = gtk_entry_new();        imglist_l1 = e1;        gtk_entry_set_editable(GTK_ENTRY(e1),FALSE);        gtk_table_attach_defaults(GTK_TABLE(tbl),e1,2,8,0,1);        gtk_widget_show(e1);	gtk_widget_show(actionspace);	/* fill entries */	fill_verify_tracks(0);}/* callback for write button */void writesometracks_clicked(GtkWidget *widget, gpointer data) {gint ret, stat;gint spaceneededoncd;        /* no cd-writer defined */        if (curset.writer_devnr == -1) {                show_dialog(ICO_ERROR,text(204), T_OK, NULL, NULL, 0);                return;        }	/* see if we have anything selected at all */	if (g_list_first(trackreadset.trackparams) == NULL) {		show_dialog(ICO_WARN,text(315),T_OK,NULL,NULL,0);		return;	}	spaceneededoncd = (trackreadset.cdsize*1024)/CDDAFRAME;	/* first check if all tracks we need are available on hd */	/* dont check for file sizes, we assume the user did not	   modify them since the last update of the imagelist */        stat = check_write_files(1);        switch(stat) {                /* files with wrong size */                case 1:                        break;                /* files missing */                case 2:                        show_dialog(ICO_ERROR,text(316),T_OK,NULL,NULL,0);                        return;                /* no permission/invalid */                case 3:                        show_dialog(ICO_ERROR,text(201),T_OK,NULL,NULL,0);                        return;	}        /* check if enough space on cd-r? */        if (spaceneededoncd > (curset.cdrtype*60*75)) {                ret = show_dialog(ICO_WARN,text(278),T_ANYWAY,T_CANCEL,NULL,1);                if (ret == 1) {                        /* aborted */                        return;                }               }        /* ok, now we are sure that all tracks are fine ...prompt for CD-R */        ret = show_dialog(ICO_INFO,text(202),T_OK,T_CANCEL,NULL,0);        if (ret != 0) {                return;        }	/* start writing */        show_and_do_write_tracks(curset.writer_devnr, -1, 0);}/* callback for fixate cdr */void fixate_clicked(GtkWidget *widget, gpointer data) {gint ret;        /* no cd-writer defined */        if (curset.writer_devnr == -1) {                show_dialog(ICO_ERROR,text(204), T_OK, NULL, NULL, 0);                return;        }        /* prompt for CD-R */        ret = show_dialog(ICO_INFO,text(202),T_OK,T_CANCEL,NULL,0);        if (ret != 0) {                return;        }	/* start fixating */	show_and_do_write_tracks(curset.writer_devnr, -1, 2);}/* redraw the selected-tracks list */void redraw_writelist(GtkCList *llist, GtkWidget *lentry) {GList *loop;gchar *track;gchar tmp[MAXLINE];gchar tmp2[MAXLINE];gchar titlestr[MAXLINE];GtkStyle *style;gchar *data[2];GdkPixmap *pixmap1, *pixmap2, *pixmap3;GdkBitmap *mask1, *mask2, *mask3;gchar basename[MAXLINE], fname[MAXLINE], *p;image_files_t *entry;gint count,lcount;gint sizecount;        /* clean up first */        gtk_clist_clear(llist);        style = gtk_style_copy(gtk_widget_get_style(GTK_WIDGET(imglist)));        pixmap1 = gdk_pixmap_create_from_xpm_d(llist->clist_window,                &mask1, &style->bg[GTK_STATE_NORMAL],(gchar **)minidata_xpm);        pixmap2 = gdk_pixmap_create_from_xpm_d(llist->clist_window,                &mask2, &style->bg[GTK_STATE_NORMAL],(gchar **)miniaudio_xpm);        pixmap3 = gdk_pixmap_create_from_xpm_d(llist->clist_window,                &mask3, &style->bg[GTK_STATE_NORMAL],(gchar **)mininodata_xpm);        data[0] = NULL;	count = 1;	lcount = 0;	sizecount = 0;	loop = g_list_first(writelist);	while (loop) {		track = loop->data;		entry = get_entry_from_imagelist(track);		if (entry == NULL) {			/* should never happen */			loop = loop->next;			continue;		}                /* get the base-dirname */                strncpy(basename,entry->path,MAXLINE);                  p = rindex(basename,'/');                *p = '\0';                if (strcmp(basename,"") == 0) {                        strcpy(basename,"/");                }                strcpy(fname, p+1);			sizecount+=(gint) (get_size_from_imagelist(track)/1024);                strcpy(titlestr,"");                assign_trackname(titlestr, entry);                /* no title found - so use filename as title */                if (strcmp(titlestr,"") == 0) {                        strcpy(titlestr,fname);                }                /* iso9600-track/ unknown  */                if (entry->type == 0 || entry->type == 3) {                        convert_frames2mbstring((entry->size)/DATASECTORSIZE,                                tmp2);                        g_snprintf(tmp,MAXLINE,"%2d. %s [%s]",                                count, titlestr, tmp2);                        data[1] = tmp;                        gtk_clist_append(llist,data);                        if (entry->type == 0) {                                gtk_clist_set_pixmap(llist,lcount,0,pixmap1,mask1);                           } else {                                gtk_clist_set_pixmap(llist,lcount,0,pixmap3,mask3);                           }                        count++;                        lcount++;                }                /* valid wav-file */                if (entry->type == 1) {                        convert_frames2minstring((entry->size)/CDDAFRAME, tmp2);                        g_snprintf(tmp,MAXLINE,"%2d. %s [%s]",                                count, titlestr, tmp2);                        data[1] = tmp;                        gtk_clist_append(llist,data);                        gtk_clist_set_pixmap(llist,lcount,0,pixmap2,mask2);                           lcount++;                        count++;                }       				loop = loop->next;	}	        convert_kbytes2mbminstring(sizecount, tmp);        gtk_entry_set_text(GTK_ENTRY(lentry), tmp);}/* fill the tracks-to-write list */void fill_writelist2(GtkCList *llist, GtkWidget *lentry) {GList *loop;track_read_param_t *trackparam;gchar track[MAXLINE];gchar tmp[MAXLINE];gchar tmp2[MAXLINE];gchar titlestr[MAXLINE];GtkStyle *style;gchar *data[2];GdkPixmap *pixmap1, *pixmap2, *pixmap3;GdkBitmap *mask1, *mask2, *mask3;gchar basename[MAXLINE], fname[MAXLINE], *p;image_files_t *entry;gint count,lcount;        /* clean up first */        gtk_clist_clear(llist);        style = gtk_style_copy(gtk_widget_get_style(GTK_WIDGET(imglist)));        pixmap1 = gdk_pixmap_create_from_xpm_d(llist->clist_window,                &mask1, &style->bg[GTK_STATE_NORMAL],(gchar **)minidata_xpm);        pixmap2 = gdk_pixmap_create_from_xpm_d(llist->clist_window,                &mask2, &style->bg[GTK_STATE_NORMAL],(gchar **)miniaudio_xpm);        pixmap3 = gdk_pixmap_create_from_xpm_d(llist->clist_window,                &mask3, &style->bg[GTK_STATE_NORMAL],(gchar **)mininodata_xpm);        data[0] = NULL;	count = 1;	lcount = 0;	loop = g_list_first(trackreadset.trackparams);	while (loop) {		trackparam = loop->data;		strcpy(track, trackparam->trackfile);		entry = get_entry_from_imagelist(track);		if (entry == NULL) {			/* should never happen */			loop = loop->next;			continue;		}                /* get the base-dirname */                strncpy(basename,track,MAXLINE);                  p = rindex(basename,'/');                *p = '\0';                if (strcmp(basename,"") == 0) {                        strcpy(basename,"/");                }                strcpy(fname, p+1);	                strcpy(titlestr,"");                assign_trackname(titlestr, entry);                /* no title found - so use filename as title */                if (strcmp(titlestr,"") == 0) {                        strcpy(titlestr,fname);                }                /* data  */                if (trackparam->tracktype == 0) {                        convert_frames2mbstring((entry->size)/DATASECTORSIZE,                                tmp2);                        g_snprintf(tmp,MAXLINE,"%2d. %s [%s]",                                count, titlestr, tmp2);                        data[1] = tmp;                        gtk_clist_append(llist,data);                        if (entry->type == 0) {                                gtk_clist_set_pixmap(llist,lcount,0,pixmap1,mask1);                           } else {                                gtk_clist_set_pixmap(llist,lcount,0,pixmap3,mask3);                           }                        count++;                        lcount++;                }                /* valid wav-file */                if (entry->type == 1) {                        convert_frames2minstring((entry->size)/CDDAFRAME, tmp2);                        g_snprintf(tmp,MAXLINE,"%2d. %s [%s]",                                count, titlestr, tmp2);                        data[1] = tmp;                        gtk_clist_append(llist,data);                        gtk_clist_set_pixmap(llist,lcount,0,pixmap2,mask2);                           lcount++;                        count++;                }       				loop = loop->next;	}	        convert_kbytes2mbminstring(trackreadset.cdsize, tmp);        gtk_entry_set_text(GTK_ENTRY(lentry), tmp);}void write_delete_tracks(GtkWidget *widget, gpointer data) {gint nrtracks;GList *sel, *loop, *loop2;gint row;        nrtracks = 0;	/* get the list of track-filenames to remove from the write-list */        sel = cdlist->selection;        while (sel) {                row = GPOINTER_TO_INT(sel->data);		loop = g_list_nth(writelist,row);		if (loop->data) {			/* mark as deleted */			g_free(loop->data);			loop->data = NULL;		}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -