/************************************* * Assistant Creation and call backs ************************************/ void assistant_gconf_prepare (GtkAssistant *assistant, GtkWidget *page, gconf_data *data) { gint currentpage = gtk_assistant_get_current_page(assistant); switch (gtk_assistant_get_current_page(assistant)) { case 2: /* Current page is update search path */ assistant_gconf_update_prep(assistant, data); break; case 3: /* Current page is a step page */ assistant_gconf_step_prep(assistant, data); break; case 4: /* Current page is install page */ assistant_gconf_install_prep(assistant, data); break; case 5: /* Current page is finish page */ assistant_gconf_finish_prep(assistant, data); break; } }
static void prepare(GtkAssistant *w){ AudioStream *audio_stream = NULL; LinphoneCore *lc=linphone_gtk_get_core(); int page = gtk_assistant_get_current_page(w); GtkWidget *mic_audiolevel = get_widget_from_assistant("mic_audiolevel"); GtkWidget *label_audiolevel = get_widget_from_assistant("label_audiolevel"); //Speaker page if(page == 1){ MSSndCardManager *manager = ms_snd_card_manager_get(); audio_stream = audio_stream_start_with_sndcards(&av_profile,9898,"127.0.0.1",19898,0,0,ms_snd_card_manager_get_card(manager,linphone_core_get_playback_device(lc)),ms_snd_card_manager_get_card(manager,linphone_core_get_capture_device(lc)),FALSE); if (mic_audiolevel != NULL && audio_stream != NULL){ g_object_set_data(G_OBJECT(audio_assistant),"stream",audio_stream); linphone_gtk_init_audio_meter(mic_audiolevel,(get_volume_t)audio_stream_get_record_volume,audio_stream); linphone_gtk_init_audio_label(label_audiolevel,(get_volume_t)audio_stream_get_max_volume,audio_stream); } } else if(page == 2 || page == 0){ if(mic_audiolevel != NULL && label_audiolevel != NULL){ audio_stream = (AudioStream *)g_object_get_data(G_OBJECT(audio_assistant),"stream"); if(audio_stream != NULL){ linphone_gtk_uninit_audio_meter(mic_audiolevel); linphone_gtk_uninit_audio_label(label_audiolevel); audio_stream_stop(audio_stream); g_object_set_data(G_OBJECT(audio_assistant),"stream",NULL); } } } }
static void on_druid_get_new_page (AnjutaAutogen* gen, gpointer data) { NPWDruid* druid = (NPWDruid *)data; gint current; NPWPage* page; current = gtk_assistant_get_current_page (GTK_ASSISTANT (druid->window)); page = g_queue_peek_nth (druid->page_list, current - (druid->no_selection ? 0 : 1)); if (npw_page_get_name (page) == NULL) { /* no page, display finish page */ npw_druid_fill_summary_page (druid); page = g_queue_pop_nth (druid->page_list, current - (druid->no_selection ? 0 : 1)); if (page != NULL) npw_page_free (page); gtk_container_remove (GTK_CONTAINER (druid->window), gtk_assistant_get_nth_page (GTK_ASSISTANT (druid->window), current + 1)); gtk_assistant_set_current_page (GTK_ASSISTANT (druid->window), current + 1); } else { /* display property page */ npw_druid_fill_property_page (druid, page); gtk_assistant_set_current_page (GTK_ASSISTANT (druid->window), current + 1); } }
JNIEXPORT jint JNICALL Java_org_gnome_gtk_GtkAssistant_gtk_1assistant_1get_1current_1page ( JNIEnv* env, jclass cls, jlong _self ) { gint result; jint _result; GtkAssistant* self; // convert parameter self self = (GtkAssistant*) _self; // call function result = gtk_assistant_get_current_page(self); // cleanup parameter self // translate return value to JNI type _result = (jint) result; // and finally return _result; }
void csv_import_assistant_prepare (GtkAssistant *assistant, GtkWidget *page, gpointer user_data) { gint currentpage = gtk_assistant_get_current_page(assistant); switch (currentpage) { case 0: /* Current page is Import Start page */ csv_import_assistant_start_page_prepare (assistant, user_data); break; case 1: /* Current page is File select page */ csv_import_assistant_file_page_prepare (assistant, user_data); break; case 2: /* Current page is Account page */ csv_import_assistant_account_page_prepare (assistant, user_data); break; case 3: /* Current page is Finish page */ csv_import_assistant_finish_page_prepare (assistant, user_data); break; case 4: /* Current page is Summary page */ csv_import_assistant_summary_page_prepare (assistant, user_data); break; } }
static void impl_signal_prepare (GtkAssistant *assistant, GtkWidget *current_page) { EmpathyAccountAssistant *self = EMPATHY_ACCOUNT_ASSISTANT (assistant); EmpathyAccountAssistantPriv *priv = GET_PRIV (self); gint current_idx; current_idx = gtk_assistant_get_current_page (assistant); if (current_idx >= PAGE_ENTER_CREATE) { if (!priv->enter_create_forward) { account_assistant_finish_enter_or_create_page (self, priv->first_resp == RESPONSE_ENTER_ACCOUNT ? TRUE : FALSE); } else { priv->enter_create_forward = FALSE; account_assistant_apply_account_and_finish (self); } } }
void ap_assistant_prepare (GtkAssistant *assistant, GtkWidget *page, gpointer user_data) { gint currentpage = gtk_assistant_get_current_page(assistant); switch (currentpage) { case 1: /* Current page is Menu page */ ap_assistant_menu_prepare(assistant, user_data); break; case 2: /* Current page is Book page */ ap_assistant_book_prepare (assistant, user_data); break; case 3: /* Current page is Apply page */ ap_assistant_apply_prepare (assistant, user_data); break; case 4: /* Current page is Summary page */ ap_assistant_summary_prepare (assistant, user_data); break; } }
void csv_import_assistant_finish_page_prepare (GtkAssistant *assistant, gpointer user_data) { CsvImportInfo *info = user_data; gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); gchar *text; /* Set Finish page text */ /* Before creating accounts, if this is a new book, tell user they can * specify book options, since they affect how transactions are created */ if (info->new_book) { text = g_strdup_printf (gettext (new_book_finish_tree_string), info->file_name); } else { text = g_strdup_printf (gettext (finish_tree_string), info->file_name); } gtk_label_set_text (GTK_LABEL(info->finish_label), text); g_free(text); /* Save the Window size and directory */ gnc_set_default_directory(GCONF_SECTION, info->starting_dir); /* Enable the Assistant Buttons */ gtk_assistant_set_page_complete (assistant, page, TRUE); }
void csv_export_assistant_finish_page_prepare (GtkAssistant *assistant, gpointer user_data) { CsvExportInfo *info = user_data; gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); gchar *text; /* Set Finish page text */ if (info->export_type == XML_EXPORT_TREE) text = g_strdup_printf (gettext (finish_tree_string), info->file_name); else { if ((info->export_type == XML_EXPORT_REGISTER) && (info->account == NULL)) text = g_strdup_printf (gettext (finish_trans_search_gl_string), info->file_name); else text = g_strdup_printf (gettext (finish_trans_string), info->file_name, info->csva.num_accounts); } gtk_label_set_text (GTK_LABEL(info->finish_label), text); g_free (text); /* Enable the Assistant Buttons */ gtk_assistant_set_page_complete (assistant, page, TRUE); }
/** This function is called before the Update page is presented to the * user. It gets the active button from the Method page and uses this * to either add the path strings or jump to the install page. */ void assistant_gconf_update_prep (GtkAssistant *assistant, gpointer user_data) { gconf_data *data = user_data; GtkTextBuffer *textbuffer; GtkWidget *textview; gchar *msg; gchar *gconfdir = gnc_path_get_gconfdir (TRUE); gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->update_path))) { g_object_set_data(G_OBJECT(assistant), HOW, GINT_TO_POINTER(HOW_UPDATE)); textview = data->update_text; textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview)); msg = g_strdup_printf(PATH_STRING1 PATH_STRING2, gconfdir); gtk_text_buffer_set_text(textbuffer, msg, -1); g_free (gconfdir); } else { g_object_set_data(G_OBJECT(assistant), HOW, GINT_TO_POINTER(HOW_INSTALL)); gtk_assistant_set_current_page (assistant, num + 2); } }
static void account_assistant_apply_account_cb (GObject *source, GAsyncResult *result, gpointer user_data) { GError *error = NULL; EmpathyAccountAssistant *self = user_data; EmpathyAccountAssistantPriv *priv = GET_PRIV (self); EmpathyAccountSettings *settings = EMPATHY_ACCOUNT_SETTINGS (source); EmpathyAccount *account; empathy_account_settings_apply_finish (settings, result, &error); priv->is_creating = FALSE; if (error != NULL) { account_assistant_present_error_page (self, error, gtk_assistant_get_current_page (GTK_ASSISTANT (self))); g_error_free (error); return; } /* enable the newly created account */ account = empathy_account_settings_get_account (settings); empathy_account_set_enabled_async (account, TRUE, account_assistant_account_enabled_cb, self); }
void gnc_stock_split_assistant_prepare (GtkAssistant *assistant, GtkWidget *page, gpointer user_data) { gint currentpage = gtk_assistant_get_current_page(assistant); if (currentpage == 2) /* Current page is details page */ gnc_stock_split_assistant_details_prepare(assistant, user_data); }
/** This function is called before the Step over page is presented to the * user. It allows the jumping of the install page. */ void assistant_gconf_step_prep (GtkAssistant *assistant, gpointer user_data) { gconf_data *data = user_data; gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); gtk_assistant_set_current_page (assistant, num + 2); }
static void balsa_druid_page_directory_prepare(GtkAssistant * druid, GtkWidget * page, BalsaDruidPageDirectory * dir) { gchar *buf; gint current_page_no = gtk_assistant_get_current_page(druid); if(page != dir->page) { /* This is not the page to be prepared. */ if(dir->need_set) { if(current_page_no > dir->my_num) balsa_druid_page_directory_next(druid, page, dir); else balsa_druid_page_directory_back(druid, page, dir); dir->need_set = FALSE; } return; } dir->my_num = current_page_no; /* We want a change in the local mailroot to be reflected in the * directories here, but we don't want to trash user's custom * settings if needed. Hence the paths_locked variable; it should * work pretty well, because only a movement backwards should * change the mailroot; going forward should not lock the paths: * envision an error occurring; upon return to the Dir page the * entries should be the same. */ if (!dir->paths_locked) { buf = g_build_filename(balsa_app.local_mail_directory, "outbox", NULL); gtk_entry_set_text(GTK_ENTRY(dir->outbox), buf); g_free(buf); buf = g_build_filename(balsa_app.local_mail_directory, "sentbox", NULL); gtk_entry_set_text(GTK_ENTRY(dir->sentbox), buf); g_free(buf); buf = g_build_filename(balsa_app.local_mail_directory, "draftbox", NULL); gtk_entry_set_text(GTK_ENTRY(dir->draftbox), buf); g_free(buf); buf = g_build_filename(balsa_app.local_mail_directory, "trash", NULL); gtk_entry_set_text(GTK_ENTRY(dir->trash), buf); g_free(buf); } /* Don't let them continue unless all entries have something. */ gtk_assistant_set_page_complete(druid, page, ENTRY_MASTER_DONE(dir->emaster)); dir->need_set = TRUE; }
/******************************************************* * Assistant page prepare functions *******************************************************/ void csv_import_assistant_start_page_prepare (GtkAssistant *assistant, gpointer user_data) { gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); /* Enable the Assistant Buttons */ gtk_assistant_set_page_complete (assistant, page, TRUE); }
/* event handler for entry text of page 2 */ static void entry_changed( GtkEditable *editable, GtkAssistant *assistant ) { /* * if there is text in the GtkEntry, set the page as complete. Otherwise, * stop the user from pregressing the next page */ const char *text = gtk_entry_get_text( GTK_ENTRY( editable ) ); int current_page = gtk_assistant_get_current_page( assistant ); GtkWidget *this_page = gtk_assistant_get_nth_page( assistant, current_page ); gtk_assistant_set_page_complete( assistant, this_page, (strlen(text) > 0) ); }
/* If there is text in the GtkEntry, set the page as complete. Otherwise, * stop the user from progressing the next page. */ static void entry_changed (GtkEditable *entry, GtkAssistant *assistant) { const gchar *text = gtk_entry_get_text (GTK_ENTRY (entry)); gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); gtk_assistant_set_page_complete (assistant, page, (strlen (text) > 0)); }
static void gnc_stock_split_cash_valid_cb (GtkWidget *widget, gpointer user_data) { StockSplitInfo *info = user_data; GtkAssistant *assistant = GTK_ASSISTANT(info->window); gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); gtk_assistant_set_page_complete (assistant, page, gnc_stock_split_assistant_cash_complete (assistant, user_data)); }
static void set_current_page_complete (GtkAssistant *assistant, gboolean complete) { gint page_number; GtkWidget *current_page; page_number = gtk_assistant_get_current_page (assistant); current_page = gtk_assistant_get_nth_page (assistant, page_number); gtk_assistant_set_page_complete (assistant, current_page, complete); }
static NPWPage* npw_druid_add_new_page (NPWDruid* druid) { gint current; NPWPage* page; /* Get page in cache */ current = gtk_assistant_get_current_page (GTK_ASSISTANT (druid->window)); page = g_queue_peek_nth (druid->page_list, current - (druid->no_selection ? 0 : 1) + 1); if (page == NULL) { /* Page not found in cache, create */ GtkBuilder *builder; GtkWidget *widget; GtkAssistantPageType type; GtkWidget *table; GtkAssistant *assistant; /* Build another complete wizard dialog from the gtk builder file * but keep only the property assistant page */ builder = gtk_builder_new (); if (!gtk_builder_add_from_file (builder, GTK_BUILDER_UI_FILE, NULL)) { g_warn_if_reached (); g_object_unref (builder); return NULL; } assistant = GTK_ASSISTANT (gtk_builder_get_object (builder, NEW_PROJECT_DIALOG)); widget = GTK_WIDGET (gtk_builder_get_object (builder, PROPERTY_PAGE)); table = GTK_WIDGET (gtk_builder_get_object (builder, PROPERTY_TABLE)); type = gtk_assistant_get_page_type (assistant, widget); gtk_container_remove (GTK_CONTAINER (assistant), widget); gtk_assistant_insert_page (GTK_ASSISTANT (druid->window), widget, current + 1); gtk_assistant_set_page_type (GTK_ASSISTANT (druid->window), widget, type); gtk_assistant_set_page_complete (GTK_ASSISTANT (druid->window), widget, TRUE); gtk_widget_destroy (GTK_WIDGET (assistant)); /* Builder get reference on all built widget, so unref it when all work is done */ g_object_unref (builder); /* Create new page */ page = npw_page_new (druid->values); npw_page_set_widget (page, table); /* Add page in cache */ g_queue_push_tail (druid->page_list, page); } return page; }
static void gxi_update_conversion_forward (GncXmlImportData *data) { GtkAssistant *assistant = GTK_ASSISTANT(data->assistant); gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); if (data->n_unassigned || data->n_impossible) gtk_assistant_set_page_complete (assistant, page, FALSE); else gtk_assistant_set_page_complete (assistant, page, TRUE); }
static void ap_assistant_menu_changed_cb (GtkWidget *widget, gpointer user_data) { AcctPeriodInfo *info = user_data; GtkAssistant *assistant = GTK_ASSISTANT(info->window); gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); ENTER ("info=%p", info); ap_assistant_menu_prepare (assistant, info); gtk_assistant_set_page_complete (assistant, page, ap_validate_menu (assistant, user_data)); }
static gboolean on_druid_delayed_prepare (gpointer data) { NPWDruid *druid = (NPWDruid *)data; GtkAssistant *assistant; GtkWidget *page; assistant = GTK_ASSISTANT (druid->window); page = gtk_assistant_get_nth_page (assistant, gtk_assistant_get_current_page (assistant)); on_druid_real_prepare (assistant, page, druid); return FALSE; }
void on_prepare (GtkAssistant *assistant, GtkWidget *page, hierarchy_data *data) { const int selection_page = data->new_book ? 3 : 2; const int final_page = data->new_book ? 4 : 3; const int current_page = gtk_assistant_get_current_page (assistant); if (current_page == selection_page) on_choose_account_categories_prepare(data); if (current_page == final_page) on_final_account_prepare (data); }
void csv_export_assistant_account_page_prepare (GtkAssistant *assistant, gpointer user_data) { CsvExportInfo *info = user_data; gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); /* Enable the Forward Assistant Button if we have accounts */ if (info->csva.num_accounts > 0) gtk_assistant_set_page_complete (assistant, page, TRUE); else gtk_assistant_set_page_complete (assistant, page, FALSE); }
static void assistant_window_prepare (GtkAssistant *gtkassistant, GtkWidget *page) { AssistantWindow *assistant = ASSISTANT_WINDOW (gtkassistant); gchar *title = NULL; bool forward = false; title = g_strdup_printf (_("Ekiga Configuration Assistant (%d of %d)"), gtk_assistant_get_current_page (gtkassistant) + 1, gtk_assistant_get_n_pages (gtkassistant)); gtk_window_set_title (GTK_WINDOW (assistant), title); g_free (title); if (assistant->priv->last_active_page < gtk_assistant_get_current_page (gtkassistant)) forward = true; assistant->priv->last_active_page = gtk_assistant_get_current_page (gtkassistant); if (!forward) return; if (page == assistant->priv->ekiga_net_page) { prepare_ekiga_net_page (assistant); return; } if (page == assistant->priv->ekiga_out_page) { prepare_ekiga_out_page (assistant); return; } if (page == assistant->priv->summary_page) { prepare_summary_page (assistant); return; } }
static void impl_signal_apply (GtkAssistant *assistant) { EmpathyAccountAssistant *self = EMPATHY_ACCOUNT_ASSISTANT (assistant); EmpathyAccountAssistantPriv *priv = GET_PRIV (self); gint current_page; current_page = gtk_assistant_get_current_page (assistant); if (current_page >= PAGE_ENTER_CREATE) account_assistant_apply_account_and_finish (self); if (current_page == PAGE_IMPORT) empathy_import_widget_add_selected_accounts (priv->iw); }
void gxi_prepare_cb (GtkAssistant *assistant, GtkWidget *page, GncXmlImportData *data) { switch (gtk_assistant_get_current_page(assistant)) { case 1: /* Current page is the Conversion page */ gxi_conversion_prepare (assistant, data); break; case 2: /* Current page is final page */ gxi_conversion_next (assistant, data); break; } }
void csv_import_assistant_file_page_prepare (GtkAssistant *assistant, gpointer user_data) { CsvImportInfo *info = user_data; gint num = gtk_assistant_get_current_page (assistant); GtkWidget *page = gtk_assistant_get_nth_page (assistant, num); /* Set the default directory */ if (info->starting_dir) gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(info->file_chooser), info->starting_dir); /* Disable the Forward Assistant Button */ gtk_assistant_set_page_complete (assistant, page, FALSE); }
/** This function determines if the "Next" button on the account set * selection page should be sensitive. The button should only be * sensitive if one or more account sets has been selected. * * @param data A pointer to the data structure describing the * hierarchy assistant. */ static void categories_page_enable_next (hierarchy_data *data) { gint currentpagenum; GtkWidget *currentpage; GtkAssistant *assistant = GTK_ASSISTANT(data->dialog); data->next_ok = FALSE; gtk_tree_model_foreach (gtk_tree_view_get_model (data->categories_tree), (GtkTreeModelForeachFunc)account_set_checked_helper, &data->next_ok); currentpagenum = gtk_assistant_get_current_page(assistant); currentpage = gtk_assistant_get_nth_page(assistant, currentpagenum); gtk_assistant_set_page_complete(assistant, currentpage, data->next_ok); }