?? ifp_device.c
字號:
GtkWidget * alignment; GtkWidget * table; GtkWidget * label; GtkWidget * frame; GtkWidget * scrolledwindow; GtkWidget * hseparator; GtkWidget * vseparator; GtkWidget * hbuttonbox; GtkTreeSelection * list_selection; GtkCellRenderer * renderer; GtkTreeViewColumn * column; if (aifp_window != NULL) { return; } songs_size = 0; number_of_songs = aifp_get_songs_info(); if (!number_of_songs) { aifp_show_message(GTK_MESSAGE_WARNING, _("Please select at least one song from playlist.")); return; } if (aifp_check_and_init_device() == -1) { return; } aifp_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(aifp_window), _("iFP device manager")); gtk_window_set_position(GTK_WINDOW(aifp_window), GTK_WIN_POS_CENTER); gtk_window_set_transient_for(GTK_WINDOW(aifp_window), options.playlist_is_embedded ? GTK_WINDOW(main_window) : GTK_WINDOW(playlist_window)); gtk_window_set_modal(GTK_WINDOW(aifp_window), TRUE); g_signal_connect(G_OBJECT(aifp_window), "delete_event", G_CALLBACK(aifp_window_close), NULL); g_signal_connect(G_OBJECT(aifp_window), "key_press_event", G_CALLBACK(aifp_window_key_pressed), NULL); gtk_container_set_border_width(GTK_CONTAINER(aifp_window), 5); gtk_window_set_default_size(GTK_WINDOW(aifp_window), 350, -1); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (aifp_window), vbox1); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox2); gtk_box_pack_start (GTK_BOX (vbox1), vbox2, FALSE, FALSE, 0); frame = gtk_frame_new (NULL); gtk_widget_show (frame); gtk_box_pack_start (GTK_BOX (vbox2), frame, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame), 2); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); alignment = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment); gtk_container_add (GTK_CONTAINER (frame), alignment); gtk_container_set_border_width (GTK_CONTAINER (alignment), 4); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_container_add (GTK_CONTAINER (alignment), hbox1); label = gtk_label_new (_("Selected files:")); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (hbox1), label, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); label_songs = gtk_label_new (_("label_songs")); gtk_widget_show (label_songs); gtk_box_pack_start (GTK_BOX (hbox1), label_songs, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label_songs), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label_songs), 5, 0); label = gtk_label_new (_("<b>Songs info</b>")); gtk_widget_show (label); gtk_frame_set_label_widget (GTK_FRAME (frame), label); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); frame = gtk_frame_new (NULL); gtk_widget_show (frame); gtk_box_pack_start (GTK_BOX (vbox2), frame, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame), 2); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); alignment = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment); gtk_container_add (GTK_CONTAINER (frame), alignment); gtk_container_set_border_width (GTK_CONTAINER (alignment), 4); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0); vbox3 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox3); gtk_container_add (GTK_CONTAINER (alignment), vbox3); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_box_pack_start (GTK_BOX (vbox3), hbox1, TRUE, TRUE, 2); label = gtk_label_new (_("Model:")); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (hbox1), label, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); label_model = gtk_label_new (NULL); gtk_widget_show (label_model); gtk_box_pack_start (GTK_BOX (hbox1), label_model, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label_model), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label_model), 5, 0); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_box_pack_start (GTK_BOX (vbox3), hbox1, TRUE, TRUE, 2); progressbar_battery = gtk_progress_bar_new (); gtk_widget_show (progressbar_battery); gtk_box_pack_start (GTK_BOX (hbox1), progressbar_battery, TRUE, TRUE, 2); gtk_widget_set_size_request (progressbar_battery, 70, -1); gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progressbar_battery), _("Battery")); progressbar_freespace = gtk_progress_bar_new (); gtk_widget_show (progressbar_freespace); gtk_box_pack_start (GTK_BOX (hbox1), progressbar_freespace, TRUE, TRUE, 2); gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progressbar_freespace), _("Free space")); label = gtk_label_new (_("<b>Device status</b>")); gtk_widget_show (label); gtk_frame_set_label_widget (GTK_FRAME (frame), label); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); frame = gtk_frame_new (NULL); gtk_widget_show (frame); gtk_box_pack_start (GTK_BOX (vbox2), frame, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame), 2); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); alignment = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment); gtk_container_add (GTK_CONTAINER (frame), alignment); gtk_container_set_border_width (GTK_CONTAINER (alignment), 4); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_container_add (GTK_CONTAINER (alignment), hbox1); scrolledwindow = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow); gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_SHADOW_IN); list_store = gtk_list_store_new(1, G_TYPE_STRING); list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(list_store)); gtk_widget_show (list); list_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (list)); g_signal_connect(G_OBJECT(list_selection), "changed", G_CALLBACK(directory_selected_cb), NULL); gtk_widget_set_size_request(GTK_WIDGET(list), -1, 140); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, "text", 0, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(list), column); gtk_container_add (GTK_CONTAINER (scrolledwindow), list); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(list), FALSE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW(list), FALSE); vseparator = gtk_vseparator_new (); gtk_widget_show (vseparator); gtk_box_pack_start (GTK_BOX (hbox1), vseparator, FALSE, TRUE, 2); vbox4 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox4); gtk_box_pack_start (GTK_BOX (hbox1), vbox4, FALSE, FALSE, 0); mkdir_button = gui_stock_label_button(NULL, GTK_STOCK_NEW); gtk_button_set_relief (GTK_BUTTON (mkdir_button), GTK_RELIEF_NONE); GTK_WIDGET_UNSET_FLAGS(mkdir_button, GTK_CAN_FOCUS); gtk_widget_show (mkdir_button); g_signal_connect(mkdir_button, "clicked", G_CALLBACK(create_directory_cb), NULL); gtk_box_pack_start (GTK_BOX (vbox4), mkdir_button, FALSE, FALSE, 0); rndir_button = gui_stock_label_button(NULL, GTK_STOCK_EDIT); GTK_WIDGET_UNSET_FLAGS(rndir_button, GTK_CAN_FOCUS); gtk_button_set_relief (GTK_BUTTON (rndir_button), GTK_RELIEF_NONE); gtk_widget_show (rndir_button); g_signal_connect(rndir_button, "clicked", G_CALLBACK(rename_directory_cb), NULL); gtk_box_pack_start (GTK_BOX (vbox4), rndir_button, FALSE, FALSE, 0); rmdir_button = gui_stock_label_button(NULL, GTK_STOCK_DELETE); GTK_WIDGET_UNSET_FLAGS(rmdir_button, GTK_CAN_FOCUS); gtk_button_set_relief (GTK_BUTTON (rmdir_button), GTK_RELIEF_NONE); gtk_widget_show (rmdir_button); g_signal_connect(rmdir_button, "clicked", G_CALLBACK(remove_directory_cb), NULL); gtk_box_pack_start (GTK_BOX (vbox4), rmdir_button, FALSE, FALSE, 0); if (options.enable_tooltips) { gtk_tooltips_set_tip (GTK_TOOLTIPS (aqualung_tooltips), mkdir_button, _("Create a new directory"), NULL); gtk_tooltips_set_tip (GTK_TOOLTIPS (aqualung_tooltips), rndir_button, _("Rename directory"), NULL); gtk_tooltips_set_tip (GTK_TOOLTIPS (aqualung_tooltips), rmdir_button, _("Remove directory with its entire contents"), NULL); } label = gtk_label_new (_("<b>Destination directory</b>")); gtk_widget_show (label); gtk_frame_set_label_widget (GTK_FRAME (frame), label); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); frame = gtk_frame_new (NULL); gtk_widget_show (frame); gtk_box_pack_start (GTK_BOX (vbox2), frame, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame), 2); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); alignment = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment); gtk_container_add (GTK_CONTAINER (frame), alignment); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0); table = gtk_table_new (3, 2, FALSE); gtk_widget_show (table); gtk_container_add (GTK_CONTAINER (alignment), table); gtk_container_set_border_width (GTK_CONTAINER (table), 8); gtk_table_set_row_spacings (GTK_TABLE (table), 4); gtk_table_set_col_spacings (GTK_TABLE (table), 4); label = gtk_label_new (_("File name: ")); gtk_widget_show (label); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); label = gtk_label_new (_("Current file: ")); gtk_widget_show (label); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); label = gtk_label_new (_("Overall: ")); gtk_widget_show (label); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); aifp_file_entry = gtk_entry_new(); GTK_WIDGET_UNSET_FLAGS(aifp_file_entry, GTK_CAN_FOCUS); gtk_widget_show (aifp_file_entry); gtk_editable_set_editable(GTK_EDITABLE(aifp_file_entry), FALSE); gtk_table_attach (GTK_TABLE (table), aifp_file_entry, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_text(GTK_ENTRY(aifp_file_entry), _("None")); progressbar_cf = gtk_progress_bar_new (); gtk_widget_show (progressbar_cf); gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progressbar_cf), _("Idle")); gtk_table_attach (GTK_TABLE (table), progressbar_cf, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); progressbar_op = gtk_progress_bar_new (); gtk_widget_show (progressbar_op); gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progressbar_op), _("Idle")); gtk_table_attach (GTK_TABLE (table), progressbar_op, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); label = gtk_label_new (_("<b>Uploading progress</b>")); gtk_widget_show (label); gtk_frame_set_label_widget (GTK_FRAME (frame), label); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); hseparator = gtk_hseparator_new (); gtk_widget_show (hseparator); gtk_box_pack_start (GTK_BOX (vbox1), hseparator, FALSE, TRUE, 3); hbuttonbox = gtk_hbutton_box_new (); gtk_widget_show (hbuttonbox); gtk_box_pack_start (GTK_BOX (vbox1), hbuttonbox, FALSE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox), 5); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox), GTK_BUTTONBOX_END); gtk_box_set_spacing (GTK_BOX (hbuttonbox), 6); upload_button = gui_stock_label_button (_("_Upload"), GTK_STOCK_GO_UP); GTK_WIDGET_UNSET_FLAGS(upload_button, GTK_CAN_FOCUS); gtk_widget_show (upload_button); g_signal_connect(upload_button, "clicked", G_CALLBACK(upload_songs_cb), NULL); gtk_container_add (GTK_CONTAINER (hbuttonbox), upload_button); GTK_WIDGET_SET_FLAGS (upload_button, GTK_CAN_DEFAULT); abort_button = gui_stock_label_button (_("_Abort"), GTK_STOCK_CANCEL); GTK_WIDGET_UNSET_FLAGS(abort_button, GTK_CAN_FOCUS); gtk_widget_show (abort_button); g_signal_connect(abort_button, "clicked", G_CALLBACK(abort_transfer_cb), NULL); gtk_container_add (GTK_CONTAINER (hbuttonbox), abort_button); GTK_WIDGET_SET_FLAGS (abort_button, GTK_CAN_DEFAULT); close_button = gtk_button_new_from_stock (GTK_STOCK_CLOSE); GTK_WIDGET_UNSET_FLAGS(close_button, GTK_CAN_FOCUS); gtk_widget_show (close_button); g_signal_connect(close_button, "clicked", G_CALLBACK(aifp_window_close), NULL); gtk_container_add (GTK_CONTAINER (hbuttonbox), close_button); GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT); gtk_widget_set_sensitive(abort_button, FALSE); gtk_widget_grab_focus(list); /* update info and directory listing */ aifp_update_info(); aifp_directory_listing (NULL); aifp_check_size(); abort_pressed = 0; gtk_widget_show(aifp_window);}#endif /* HAVE_IFP */// vim: shiftwidth=8:tabstop=8:softtabstop=8 :
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -