void ProfileDialog::on_buttonBox_accepted() { const gchar *err_msg; QTreeWidgetItem *item = pd_ui_->profileTreeWidget->currentItem(); if ((err_msg = apply_profile_changes()) != NULL) { QMessageBox::critical(this, tr("Profile Error"), err_msg, QMessageBox::Ok); g_free((gchar*)err_msg); return; } if (item) { profile_def *profile = (profile_def *) item->data(0, Qt::UserRole).value<GList *>()->data; if (profile_exists (profile->name, FALSE) || profile_exists (profile->name, TRUE)) { /* The new profile exists, change */ wsApp->setConfigurationProfile (profile->name); } else if (!profile_exists (get_profile_name(), FALSE)) { /* The new profile does not exist, and the previous profile has been deleted. Change to the default profile */ wsApp->setConfigurationProfile (NULL); } } }
static void profile_apply(GtkWidget *main_w, GtkTreeView *profile_l, gboolean destroy) { const gchar *err_msg; if ((err_msg = apply_profile_changes()) != NULL) { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_msg); return; } profile_select(main_w, profile_l, destroy); }
void ProfileDialog::on_buttonBox_accepted() { gchar *err_msg; QTreeWidgetItem *default_item = pd_ui_->profileTreeWidget->topLevelItem(0); QTreeWidgetItem *item = pd_ui_->profileTreeWidget->currentItem(); gchar *profile_name = NULL; bool write_recent = true; bool item_data_removed = false; if (default_item && default_item->font(0).strikeOut()) { // Reset Default profile. GList *fl_entry = VariantPointer<GList>::asPtr(default_item->data(0, Qt::UserRole)); remove_from_profile_list(fl_entry); // Don't write recent file if leaving the Default profile after this has been reset. write_recent = !is_default_profile(); // Don't fetch profile data if removed. item_data_removed = (item == default_item); } if (write_recent) { /* Get the current geometry, before writing it to disk */ wsApp->emitAppSignal(WiresharkApplication::ProfileChanging); /* Write recent file for current profile now because * the profile may be renamed in apply_profile_changes() */ write_profile_recent(); } if ((err_msg = apply_profile_changes()) != NULL) { QMessageBox::critical(this, tr("Profile Error"), err_msg, QMessageBox::Ok); g_free(err_msg); return; } if (item && !item_data_removed) { profile_def *profile = (profile_def *) VariantPointer<GList>::asPtr(item->data(0, Qt::UserRole))->data; profile_name = profile->name; } if (profile_exists (profile_name, FALSE) || profile_exists (profile_name, TRUE)) { // The new profile exists, change. wsApp->setConfigurationProfile (profile_name, FALSE); } else if (!profile_exists (get_profile_name(), FALSE)) { // The new profile does not exist, and the previous profile has // been deleted. Change to the default profile. wsApp->setConfigurationProfile (NULL, FALSE); } }