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

📄 menus.c

📁 -一个LINUX下的使用方&#63845 的CD-ROM刻录软件,开放源码
💻 C
📖 第 1 页 / 共 5 页
字号:
	fill_device_info(devnr, txt);	gtk_text_set_point(GTK_TEXT(txt),0);	gtk_widget_show(dialog);	/* now wait until button is pressed */	while (dialog_done == 999) {		wait_and_process_events();	}        gtk_grab_remove(GTK_WIDGET(dialog));	normal_cursor = gdk_cursor_new (GDK_TOP_LEFT_ARROW);        gdk_window_set_cursor(GTK_WIDGET(toplevel)->window,normal_cursor);	/* remove dialog window */        gtk_widget_destroy(dialog);}/* popup a modal window, set cursor to watch, return path or NULL-string    when cancel or delete_event found.   Centers automatically above the toplevel-widow */void display_atip_info(gint devnr) {GtkWidget *dialog;GtkWidget *button1;GtkWidget *box1,*box2,*txt;GtkWidget *f1;GtkWidget *scrolled_win;gint xpos, ypos;gint xsize, ysize;GdkCursor *cursor,*normal_cursor;GtkRequisition rq;GdkWindowAttr *win_attr;	/* if another dialog is running, ignore */	if (dialog_done == 999) {		return;	}	dodebug(8, "displaying display_atip_info\n");	/* mark our dialog as running */	dialog_done = 999;	/* create new window and position it relative to the main window */        dialog = gtk_window_new(GTK_WINDOW_DIALOG);	gtk_window_set_title(GTK_WINDOW(dialog),text(2));	gtk_widget_set_usize(dialog,tbf(400),tbf(300)); 	/* make sure our window is always on top */	gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(toplevel));        gtk_signal_connect (GTK_OBJECT (dialog), "delete_event",                GTK_SIGNAL_FUNC (dialog_delete_event), (gpointer) dialog);	/* create layout for dialog */        box1 = gtk_vbox_new(FALSE,0);	gtk_container_set_border_width (GTK_CONTAINER (box1), 5);        gtk_container_add(GTK_CONTAINER(dialog),box1);	f1 = gtk_frame_new(text(176));	set_font_and_color(f1,BOLDFONT,NULL);	gtk_box_pack_start(GTK_BOX(box1),f1,TRUE,TRUE,0);	gtk_widget_show(f1);	scrolled_win = gtk_scrolled_window_new (NULL, NULL);	gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 5);	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),			GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);	gtk_container_add(GTK_CONTAINER(f1),scrolled_win);	gtk_widget_show(scrolled_win);		txt = gtk_text_new(NULL,NULL);	gtk_text_set_editable(GTK_TEXT(txt),FALSE);	gtk_text_set_word_wrap(GTK_TEXT(txt),TRUE);	gtk_container_add(GTK_CONTAINER(scrolled_win), txt);	gtk_widget_show(txt);	gtk_widget_show(box1);	box2 = gtk_hbox_new(FALSE,0);	gtk_box_pack_start(GTK_BOX(box1),box2,FALSE,TRUE,5);	gtk_widget_show(box2);	button1 = gtk_button_new_with_label(T_OK);	gtk_box_pack_start(GTK_BOX(box2),button1,TRUE,TRUE,10);	gtk_widget_show(button1);	GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT);	gtk_signal_connect(GTK_OBJECT(button1),"clicked",		GTK_SIGNAL_FUNC(dialog_btn_press), GINT_TO_POINTER(0));	/* grab cursor and change to watch */        gtk_grab_add(dialog);	gdk_window_get_user_data(GTK_WIDGET(toplevel)->window,			(gpointer) &win_attr);	normal_cursor = win_attr->cursor;        cursor = gdk_cursor_new(GDK_WATCH);        gdk_window_set_cursor(GTK_WIDGET(toplevel)->window,cursor);	/* only center window when toplevel visible */	if ( GTK_WIDGET_VISIBLE(toplevel)) {        	gtk_window_position(GTK_WINDOW(dialog),GTK_WIN_POS_NONE);        	gdk_window_get_origin(GTK_WIDGET(toplevel)->window,&xpos,&ypos);        	gdk_window_get_size(GTK_WIDGET(toplevel)->window,&xsize,&ysize);		gtk_widget_size_request(dialog,&rq);        	gtk_widget_set_uposition(GTK_WIDGET(dialog),xpos+xsize/2-rq.width/2,ypos+ysize/2-rq.height/2);	}	/* now fill text-widget with infos */	get_atip_info(devnr, txt);	gtk_text_set_point(GTK_TEXT(txt),0);	gtk_widget_show(dialog);	/* now wait until button is pressed */	while (dialog_done == 999) {		wait_and_process_events();	}        gtk_grab_remove(GTK_WIDGET(dialog));	normal_cursor = gdk_cursor_new (GDK_TOP_LEFT_ARROW);        gdk_window_set_cursor(GTK_WIDGET(toplevel)->window,normal_cursor);	/* remove dialog window */        gtk_widget_destroy(dialog);}/* callbacks for blank-menu */void blankmode_selected(GtkWidget *item, gpointer mode) {	curset.blankmode = GPOINTER_TO_INT(mode);}void blankoptions_selected(GtkWidget *item, gpointer nr) {gint sel;	sel = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(item));	switch(GPOINTER_TO_INT(nr)) {		case 0:			curset.blank_force = sel;			break;		case 1:			curset.blank_eject = sel;			break;	}}/* timer function for blanking */gint blank_timer(gpointer data) {time_t start_time;time_t curtime;gint secs;char tmp[MAXLINE];	/* how many seconds have passed since first start? */	start_time = (time_t)data;	curtime = time((time_t *) 0);	secs = (gint) curtime - start_time;	/* set new label */	g_snprintf(tmp,MAXLINE,text(189),secs/60,secs%60);	gtk_label_set_text(GTK_LABEL(blank_infolabel),tmp);	return(TRUE);}/* called by ok-button in blank-window */void blank_start(GtkWidget *widget, gpointer data) {time_t start_time;time_t curtime;gint secs;gint stat;char tmp[MAXLINE];	/* get current time */	start_time = time((time_t *) 0); 	misc_timer = gtk_timeout_add(1000, blank_timer, GINT_TO_POINTER(start_time));			/* disable ok button */	gtk_widget_set_sensitive(widget, FALSE);	gtk_label_set_text(GTK_LABEL(GTK_BIN(readtrack_button)->child),T_CANCEL);	/* clear text-window */	gtk_text_set_point(GTK_TEXT(blank_text_window),		gtk_text_get_length(GTK_TEXT(blank_text_window)));	gtk_text_backward_delete(GTK_TEXT(blank_text_window),		gtk_text_get_length(GTK_TEXT(blank_text_window)));	/* now this waits here until blanking is done */	stat = start_blanking_process(curset.writer_devnr, blank_text_window);	if (stat == 1) {		/* error? */		gtk_label_set_text(GTK_LABEL(blank_infolabel),text(191));	} else	if (stat == 0) {		/* ok */		curtime = time((time_t *) 0);		secs = (gint) curtime - start_time;		g_snprintf(tmp,MAXLINE,text(192),secs/60,secs%60);		gtk_label_set_text(GTK_LABEL(blank_infolabel),tmp);	} else {		/* aborted */		curtime = time((time_t *) 0);		secs = (gint) curtime - start_time;		g_snprintf(tmp,MAXLINE,text(193),secs/60,secs%60);		gtk_label_set_text(GTK_LABEL(blank_infolabel),tmp);	}		if (misc_timer != 0) 		gtk_timeout_remove(misc_timer);	misc_timer = 0;	/* enable ok button */	gtk_widget_set_sensitive(widget, TRUE);		/* restore close button */	gtk_label_set_text(GTK_LABEL(GTK_BIN(readtrack_button)->child),T_CLOSE);	dobeep(1);}/* called by cancel-button in blank-window */void blank_cancel(GtkWidget *widget, gpointer data) {	/* nothing more to here, because actual killing is handled	   in start_blanking_process() */	dialog_done2 = -1; }gint blank_delete_event(GtkWidget *widget, GdkEvent *event, gpointer data) {	blank_cancel(widget,data);        return(TRUE);}/* popup a modal window, set cursor to watch, return path or NULL-string    when cancel or delete_event found.   Centers automatically above the toplevel-widow */void display_blank_cdrw(gint devnr) {GtkWidget *dialog, *tbl;GtkWidget *button1, *button2;GtkWidget *box1,*box2,*box3,*txt;GtkWidget *f1, *l1, *check, *sep;GtkWidget *omenu;GtkWidget *menu;GtkWidget *menu_item;GtkWidget *scrolled_win;gint xpos, ypos;gint xsize, ysize;GdkCursor *cursor,*normal_cursor;GtkRequisition rq;GdkWindowAttr *win_attr;gint i, menuhistory, menuidx;	/* if another dialog is running, ignore */	if (dialog_done2 == 999) {		return;	}	dodebug(8, "displaying display_blank_cdrw\n");	/* mark our dialog as running */	dialog_done2 = 999;	misc_timer = 0;	/* create new window and position it relative to the main window */        dialog = gtk_window_new(GTK_WINDOW_DIALOG);	gtk_window_set_title(GTK_WINDOW(dialog),text(2));	gtk_widget_set_usize(dialog,tbf(450),tbf(250)); 	/* make sure our window is always on top */	gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(toplevel));        gtk_signal_connect (GTK_OBJECT (dialog), "delete_event",                GTK_SIGNAL_FUNC (blank_delete_event), (gpointer) dialog);	/* create layout for dialog */        box1 = gtk_vbox_new(FALSE,0);	gtk_container_set_border_width (GTK_CONTAINER (box1), 5);        gtk_container_add(GTK_CONTAINER(dialog),box1);	f1 = gtk_frame_new(text(171));	set_font_and_color(f1,BOLDFONT,NULL);	gtk_box_pack_start(GTK_BOX(box1),f1,TRUE,TRUE,0);	gtk_widget_show(f1);	box2 = gtk_vbox_new(FALSE,0);	gtk_container_set_border_width (GTK_CONTAINER (box2), 5);	gtk_container_add(GTK_CONTAINER(f1),box2);	gtk_widget_show(box2);	tbl = gtk_table_new(5, 8, FALSE);	gtk_table_set_col_spacings(GTK_TABLE(tbl),10);	gtk_box_pack_start(GTK_BOX(box2),tbl,FALSE,TRUE,0);	gtk_widget_show(tbl);	l1 = rightjust_gtk_label_new(text(185));	gtk_table_attach_defaults(GTK_TABLE(tbl),l1,0,3,0,1);	gtk_widget_show(l1);			omenu = gtk_option_menu_new();	menu = gtk_menu_new();	menuidx = 0; menuhistory = 0;	i = 0; 	while (blankmodes[i] != NULL) {				menu_item = gtk_menu_item_new_with_label(blankmodes[i]->desc);		gtk_signal_connect(GTK_OBJECT(menu_item),			"activate", GTK_SIGNAL_FUNC(blankmode_selected),			GINT_TO_POINTER(i));		gtk_menu_append (GTK_MENU (menu), menu_item);		if (curset.blankmode == i) { menuhistory = menuidx; }		menuidx++;		gtk_widget_show (menu_item);		i++;	}	gtk_option_menu_set_menu (GTK_OPTION_MENU (omenu), menu);	gtk_option_menu_set_history(GTK_OPTION_MENU (omenu),menuhistory);	gtk_table_attach_defaults(GTK_TABLE(tbl),omenu,3,8,0,1);	gtk_widget_show(omenu);		check = gtk_check_button_new_with_label(text(186));	gtk_signal_connect(GTK_OBJECT(check),"clicked",		GTK_SIGNAL_FUNC(blankoptions_selected),GINT_TO_POINTER(0));	gtk_table_attach_defaults(GTK_TABLE(tbl),check,3,8,1,2);	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),		curset.blank_force);	gtk_widget_show(check);	check = gtk_check_button_new_with_label(text(187));	gtk_signal_connect(GTK_OBJECT(check),"clicked",		GTK_SIGNAL_FUNC(blankoptions_selected),GINT_TO_POINTER(1));	gtk_table_attach_defaults(GTK_TABLE(tbl),check,3,8,2,3);	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),		curset.blank_eject);	gtk_widget_show(check);	sep = gtk_hseparator_new();	gtk_table_attach_defaults(GTK_TABLE(tbl),sep,0,8,3,4);	gtk_widget_show(sep);		f1 = gtk_frame_new(NULL);	gtk_frame_set_shadow_type(GTK_FRAME(f1),GTK_SHADOW_IN);	gtk_container_set_border_width (GTK_CONTAINER (f1), 5);	gtk_table_attach_defaults(GTK_TABLE(tbl),f1,0,8,4,5);	gtk_widget_show(f1);	l1 = gtk_label_new("");	blank_infolabel = l1;	gtk_container_add(GTK_CONTAINER(f1),l1);	gtk_widget_show(l1);		scrolled_win = gtk_scrolled_window_new (NULL, NULL);	gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 5);	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),			GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);	gtk_container_add(GTK_CONTAINER(box2),scrolled_win);	gtk_widget_show(scrolled_win);		txt = gtk_text_new(NULL,NULL);	blank_text_window = txt;	gtk_text_set_editable(GTK_TEXT(txt),FALSE);	gtk_text_set_word_wrap(GTK_TEXT(txt),TRUE);	gtk_container_add(GTK_CONTAINER(scrolled_win), txt);	gtk_widget_show(txt);	gtk_widget_show(box1);	box3 = gtk_hbox_new(FALSE,0);	gtk_box_pack_start(GTK_BOX(box1),box3,FALSE,TRUE,5);	gtk_widget_show(box3);	button1 = gtk_button_new_with_label(text(171));	gtk_box_pack_start(GTK_BOX(box3),button1,TRUE,TRUE,10);	gtk_widget_show(button1);	gtk_signal_connect(GTK_OBJECT(button1),"clicked",		GTK_SIGNAL_FUNC(blank_start), NULL);	button2 = gtk_button_new_with_label(T_CLOSE);	readtrack_button = button2;	gtk_box_pack_start(GTK_BOX(box3),button2,TRUE,TRUE,10);	gtk_widget_show(button2);	gtk_signal_connect(GTK_OBJECT(button2),"clicked",		GTK_SIGNAL_FUNC(blank_cancel), GINT_TO_POINTER(-1));	/* grab cursor and change to watch */        gtk_grab_add(dialog);	gdk_window_get_user_data(GTK_WIDGET(toplevel)->window,			(gpointer) &win_attr);	normal_cursor = win_attr->cursor;        cursor = gdk_cursor_new(GDK_WATCH);        gdk_window_set_cursor(GTK_WIDGET(toplevel)->window,cursor);	/* only center window when toplevel visible */	if ( GTK_WIDGET_VISIBLE(toplevel)) {        	gtk_window_position(GTK_WINDOW(dialog),GTK_WIN_POS_NONE);        	gdk_window_get_origin(GTK_WIDGET(toplevel)->window,&xpos,&ypos);        	gdk_window_get_size(GTK_WIDGET(toplevel)->window,&xsize,&ysize);		gtk_widget_size_request(dialog,&rq);        	gtk_widget_set_uposition(GTK_WIDGET(dialog),xpos+xsize/2-rq.width/2,ypos+ysize/2-rq.height/2);	}	/* now fill text-widget with infos */	gtk_text_insert(GTK_TEXT(txt),NULL,NULL,NULL,		text(188), strlen(text(188)));	gtk_widget_show(dialog);	/* now wait until button is pressed */	while (dialog_done2 == 999) {		wait_and_process_events();	}        gtk_grab_remove(GTK_WIDGET(dialog));	normal_cursor = gdk_cursor_new (GDK_TOP_LEFT_ARROW);        gdk_window_set_cursor(GTK_WIDGET(toplevel)->window,normal_cursor);	/* remove dialog window */        gtk_widget_destroy(dialog);}/* save output of write process */void show_writetrack_save_press(GtkWidget *widget, gpointer data) {char tmp[MAXLINE];	/* show fileselector */	show_file_selector(SAVEOUTCDRECORD,tmp);		/* not cancel pressed? */	if (strcmp(tmp,"") != 0) {		if (save_text2file(tmp, readtrack_textview) ==

⌨️ 快捷键说明

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