/* main etk_prefs dialog */ void etk_prefs_show() { Etk_Widget *dialog; // initialize some widgets Etk_Widget *switch_button; Etk_Widget *notebook; /* main dialog to hold everything */ dialog = etk_dialog_new(); etk_window_title_set(ETK_WINDOW(dialog), _("Etk Preferences")); // set title - translatable etk_window_wmclass_set(ETK_WINDOW(dialog), "Etk Preferences", "Etk Preferences"); etk_signal_connect_swapped_by_code(ETK_OBJECT_DESTROYED_SIGNAL, ETK_OBJECT(dialog), ETK_CALLBACK(_etk_prefs_quit_cb), NULL); /* this will hold the current pref's contents */ notebook = etk_notebook_new(); etk_notebook_tabs_visible_set(ETK_NOTEBOOK(notebook), ETK_FALSE); /* Some buttons */ etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_CLOSE, ETK_RESPONSE_CLOSE); etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_APPLY, ETK_RESPONSE_APPLY); etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_OK, ETK_RESPONSE_OK); etk_signal_connect("response", ETK_OBJECT(dialog), ETK_CALLBACK(_etk_prefs_response_cb), dialog); /* button for switching pages */ switch_button = etk_button_new_with_label(_("Go to Engines page")); etk_signal_connect_by_code(ETK_BUTTON_CLICKED_SIGNAL, ETK_OBJECT(switch_button), ETK_CALLBACK(_etk_prefs_switch_cb), notebook); /* add the button into dialog action area */ etk_dialog_pack_widget_in_action_area(ETK_DIALOG(dialog), switch_button, ETK_BOX_END, ETK_BOX_EXPAND, 0); etk_container_border_width_set(ETK_CONTAINER(dialog), 5); etk_dialog_pack_in_main_area(ETK_DIALOG(dialog), notebook, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); /* create tabs */ etk_notebook_page_append(ETK_NOTEBOOK(notebook), "Theme", _etk_prefs_theme_tab_create()); etk_notebook_page_append(ETK_NOTEBOOK(notebook), "Engine", _etk_prefs_other_tab_create()); etk_widget_show_all(dialog); }
void _ex_file_download_dialog(char *url, char *file) { char string[PATH_MAX + 16]; snprintf(string, sizeof(string), "Downloading %s", url); dialog = etk_message_dialog_new(ETK_MESSAGE_DIALOG_INFO, ETK_MESSAGE_DIALOG_CANCEL, string); etk_signal_connect("response", ETK_OBJECT(dialog), ETK_CALLBACK(_ex_file_download_dialog_response), file); etk_container_border_width_set(ETK_CONTAINER(dialog), 4); etk_window_title_set(ETK_WINDOW(dialog), _("Exhibit - Download progress")); progressbar = etk_progress_bar_new(); etk_progress_bar_text_set(ETK_PROGRESS_BAR(progressbar), "0% done"); etk_dialog_pack_in_main_area(ETK_DIALOG(dialog), progressbar, ETK_BOX_END, ETK_BOX_EXPAND_FILL, 2); etk_widget_show_all(dialog); }