Patch from Lucas Rocha <lucasr@im.ufba.br> to use the GOption API for the

2004-12-07  Glynn Foster  <glynn.foster@sun.com>

	Patch from Lucas Rocha <lucasr@im.ufba.br> to use the GOption
	API for the zenity parsing options, with some spacing fixes
	from Glynn.

	* configure.in: zenity now requires glib-2.0 >= 2.5.3 to build
	because now it uses GOption. popt requirement removed.
	* src/Makefile.am: update for new files
	* src/main.c: use GOption API
	* src/option.c, src/option.h: New files to implement the new
	functionality.
	* src/zenity.h: Fix spacing.
This commit is contained in:
Glynn Foster 2004-12-07 00:55:26 +00:00 committed by Glynn Foster
parent 530a4c0408
commit f57c93017b
2 changed files with 1445 additions and 0 deletions

1364
src/option.c Normal file

File diff suppressed because it is too large Load Diff

81
src/option.h Normal file
View File

@ -0,0 +1,81 @@
/*
* option.h
*
* Copyright (C) 2002 Sun Microsystems, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Glynn Foster <glynn.foster@sun.com>
* Lucas Rocha <lucasr@im.ufba.br>
*/
#ifndef OPTION_H
#define OPTION_H
#include "zenity.h"
#include <glib/goption.h>
#include <langinfo.h>
#ifdef HAVE_LOCALE_H
#include <locale.h>
#endif
typedef enum {
MODE_CALENDAR,
MODE_ENTRY,
MODE_ERROR,
MODE_FILE,
MODE_LIST,
MODE_PROGRESS,
MODE_QUESTION,
MODE_TEXTINFO,
MODE_WARNING,
MODE_INFO,
MODE_NOTIFICATION,
MODE_ABOUT,
MODE_VERSION,
MODE_LAST
} ZenityDialogMode;
typedef enum {
ERROR_SYNTAX,
ERROR_SUPPORT,
ERROR_DIALOG,
ERROR_LAST
} ZenityError;
typedef struct {
ZenityDialogMode mode;
ZenityData *data;
ZenityCalendarData *calendar_data;
ZenityMsgData *msg_data;
ZenityFileData *file_data;
ZenityEntryData *entry_data;
ZenityProgressData *progress_data;
ZenityTextData *text_data;
ZenityTreeData *tree_data;
ZenityNotificationData *notification_data;
} ZenityParsingOptions;
void zenity_option_error (gchar *string,
ZenityError error);
ZenityParsingOptions * zenity_option_parse (gint argc,
gchar **argv);
void zenity_option_free (void);
#endif /* OPTION_H */