void gw_application_parse_args (GwApplication *application, int *argc, char** argv[]) { GwApplicationPrivate *priv; priv = application->priv; //Reset the switches to their default state if (priv->arg_dictionary != NULL) g_free (priv->arg_dictionary); priv->arg_dictionary = NULL; if (priv->arg_query != NULL) g_free (priv->arg_query); priv->arg_query = NULL; priv->arg_version_switch = FALSE; priv->arg_new_vocabulary_window_switch = FALSE; GOptionEntry entries[] = { { "dictionary", 'd', 0, G_OPTION_ARG_STRING, &(priv->arg_dictionary), gettext("Choose the dictionary to use"), "English" }, { "word", 'o', 0, G_OPTION_ARG_NONE, &(priv->arg_new_vocabulary_window_switch), gettext("Open the vocabulary manager window"), NULL }, { "version", 'v', 0, G_OPTION_ARG_NONE, &(priv->arg_version_switch), gettext("Check the gWaei version information"), NULL }, { NULL } }; //Program flags setup GError *error = NULL; if (priv->context != NULL) g_option_context_free (priv->context); priv->context = g_option_context_new (gettext("- A dictionary program for Japanese-English translation.")); g_option_context_add_main_entries (priv->context, entries, PACKAGE); g_option_context_set_ignore_unknown_options (priv->context, TRUE); g_option_context_parse (priv->context, argc, argv, &error); //g_log_set_always_fatal (G_LOG_LEVEL_WARNING); if (error != NULL) { gw_application_handle_error (application, NULL, FALSE, &error); exit(EXIT_SUCCESS); } //Get the query after the flags have been parsed out priv->arg_query = lw_util_get_query_from_args (*argc, *argv); }
//! //! @brief Loads the arguments from the command line into the app instance //! static void w_application_parse_args (WApplication *application, int *argc, char** argv[]) { WApplicationPrivate *priv; const gchar *summary_text; const gchar *description_text; GError *error; priv = application->priv; //Reset the switches to their default state if (priv->arg_dictionary_switch_data != NULL) g_free (priv->arg_dictionary_switch_data); priv->arg_dictionary_switch_data = NULL; if (priv->arg_query_text_data != NULL) g_free (priv->arg_query_text_data); priv->arg_query_text_data = NULL; priv->arg_version_switch = FALSE; error = NULL; if (priv->context != NULL) g_option_context_free (priv->context); priv->context = NULL; priv->context = g_option_context_new (gettext("- A dictionary program for Japanese-English translation.")); summary_text = gettext("waei generally outputs directly to the console."); description_text = g_strdup_printf( gettext( "Examples:\n" " waei English Search for the english word English\n" " waei \"cats&dogs\" Search for results containing cats and dogs\n" " waei \"cats|dogs\" Search for results containing cats or dogs\n" " waei cats dogs Search for results containing \"cats dogs\"\n" " waei %s Search for the Japanese word %s\n" " waei -e %s Search for %s and ignore similar results\n" " waei %s When you don't know a kanji character\n" " waei -d Kanji %s Find a kanji character in the kanji dictionary\n" " waei -d Names %s Look up a name in the names dictionary\n" " waei -d Places %s Look up a place in the places dictionary" ) , "にほん", "にほん", "日本", "日本", "日.語", "魚", "Miyabe", "Tokyo" ); GOptionEntry entries[] = { { "exact", 'e', 0, G_OPTION_ARG_NONE, &(priv->arg_exact_switch), gettext("Do not display less relevant results"), NULL }, { "quiet", 'q', 0, G_OPTION_ARG_NONE, &(priv->arg_quiet_switch), gettext("Display less information"), NULL }, { "color", 'c', 0, G_OPTION_ARG_NONE, &(priv->arg_color_switch), gettext("Display results with color"), NULL }, { "dictionary", 'd', 0, G_OPTION_ARG_STRING, &(priv->arg_dictionary_switch_data), gettext("Search using a chosen dictionary"), NULL }, { "list", 'l', 0, G_OPTION_ARG_NONE, &(priv->arg_list_switch), gettext("Show available dictionaries for searches"), NULL }, { "install", 'i', 0, G_OPTION_ARG_STRING, &(priv->arg_install_switch_data), gettext("Install dictionary"), NULL }, { "uninstall", 'u', 0, G_OPTION_ARG_STRING, &(priv->arg_uninstall_switch_data), gettext("Uninstall dictionary"), NULL }, { "version", 'v', 0, G_OPTION_ARG_NONE, &(priv->arg_version_switch), gettext("Check the waei version information"), NULL }, { NULL } }; g_option_context_set_description (priv->context, description_text); g_option_context_set_summary (priv->context, summary_text); g_option_context_add_main_entries (priv->context, entries, PACKAGE); g_option_context_set_ignore_unknown_options (priv->context, TRUE); g_option_context_parse (priv->context, argc, argv, &error); if (error != NULL) { w_application_handle_error (application, &error); exit(1); } //Get the query after the flags have been parsed out priv->arg_query_text_data = lw_util_get_query_from_args (*argc, *argv); }