diff options
author | Mike Newman <MikeGTN@src.gnome.org> | 2003-05-27 22:00:43 +0000 |
---|---|---|
committer | Mike Newman <MikeGTN@src.gnome.org> | 2003-05-27 22:00:43 +0000 |
commit | beaff4a661f5d1329e1afd4b5e3f980ee703035a (patch) | |
tree | 279dafb12fd003598135e8fddd7a43032ecde25f /src/gdialog | |
parent | 9e131f64cb3b67c8ad1a11de2297cc3297baa7fa (diff) |
Enable the gdialog wrapper script.
Diffstat (limited to 'src/gdialog')
-rw-r--r-- | src/gdialog | 221 |
1 files changed, 0 insertions, 221 deletions
diff --git a/src/gdialog b/src/gdialog deleted file mode 100644 index 092ab13..0000000 --- a/src/gdialog +++ /dev/null @@ -1,221 +0,0 @@ -#!/usr/bin/perl - -# gdialog -> zenity conversion wrapper -# -# by Mike Newman <mikegtn@gnome.org> -# -# This is all, of course, horrible - but it should translate -# most commond gdialog types to zenity equivalents. It will mostly drop -# the pointless and unused (even by gdialog!) size arguments -# but hopefully will translate all the others. -# -# For testing purposes, I've used a couple of the nautilus scripts -# available at http://g-scripts.sourceforge.net - what is sometimes -# unclear is what is a gdialog/zenity translation problem, and what is -# a problem with the original script - -my $command = "zenity "; # the command line we build up to execute -my $element = ""; # current bit of command line -my $argn = 0; # counter for walking args -my $args = $#ARGV + 1; # total number of command line arguments -my $separator = 0; # set if --separate-output is in use - -# this just loads the current arg into $element - -sub get_arg () { - $element = $ARGV[$argn]; -} - -# walk the command line - -ARG: while ($argn < $args) { - - get_arg; - - -# Section 1 : Args which gdialog expects BEFORE box options -# --clear, --backtitle have no obvious effect - ignored - - if ($element eq "--title") { - - # --title argument is almost analogous in gdialog and - # zenity - so pass it almost entirely as is - - $argn++; - get_arg; - $command .= "--title=\"$element\" "; - - # keep processing args - $argn++; - next ARG; - } - - if ($element eq "--separate-output") { - - # set the flag to pring list output line by line - $separator = 1; - - # keep processing args - $argn++; - next ARG; - } - -# Section 2 : Box Options and subsequent args - - if ($element eq "--msgbox" || $element eq "--infobox") { - - # This bit is common to almost all of the dialogs - # the arg following the dialog type in gdialog is usually - # equivalent to zenity's --text arg. - - $argn++; - get_arg; - $command .= "--info --text=\"$element\" "; - - # this also happens a lot - gdialog accepted size args - # for dialog compatability - which it pretty much ignored - # and we will do the same - - $argn+=2; - last ARG; - } - - if ($element eq "--yesno") { - - # this will silently ignore the gdialog option to set - # the default button in question dialogs - which is - # highly hig-norant anyway! - - $argn++; - get_arg; - $command .= "--question --text=\"$element\" "; - last ARG; - } - - if ($element eq "--inputbox") { - $argn++; - get_arg; - $command .= "--entry --text=\"$element\" "; - - # ignore size elements and maybe there is some - # default text to initialize the entry with? - - $argn+=3; - get_arg; - $command .= "--entry-text=\"$element\" "; - last ARG; - } - - if ($element eq "--textbox") { - $command .= "--text-info "; - - # the arg immediately following the dialog type in - # gdialog is the filename, so pass this to zenity - - $argn++; - get_arg; - $command .= "--filename=\"$element\" "; - - # width and height matter for this one, so get them - # and apply the same multipliers as used in gdialog - - $argn++; - get_arg; - $element = $element * 7; - $command .= "--height=\"$element\" "; - $argn++; - get_arg; - $element = $element * 8; - $command .= "--width=\"$element\" "; - last ARG; - } - - if ($element eq "--checklist" || $element eq "--radiolist") { - $list=$element; - $argn++; - get_arg; - - # Conveniently, zenity and gdialog use the same names - # for list types, so pass this to zenity intact along with - # an untitled column for the check or radio buttons - # and the 'text' arg as a second column header - - $command .= "--list $list --column='' --column $element "; - - # should output be line by line? - if ($separator) { - $command .= " --separator='\n' "; - } - - # Skip to the first 'item' arg of the list content - # bypassing height, width and list-height - # from here args run [tag] [item] [status] ... - - $argn += 5; - - # Loop over the remainder of the commandline - # discarding the 'status' and 'tag' args of each item - # and using the 'item' for display in our second column - # also pass a fake NULL argument since zenity can't set - # the status of a row like gdialog can - - while ($argn < $args) { - get_arg; - $command .= "NULL $element "; - $argn += 3; - } - last ARG; - } - - if ($element eq "--menu") { - $list=$element; - $argn++; - get_arg; - - # a gdialog --menu is just a one column zenity --list - # Use the 'text' arg as a second column header - # FIXME: or should it be the dialog text, or both? - - $command .= "--list --column $element "; - - # Skip to the first 'item' arg of the list content - # bypassing height, width and list-height - # from here args run [tag] [item] ... - - $argn += 5; - - # Loop over the remainder of the commandline - # discarding the 'tag' args of each item - # and using the 'item' for display in our second column - - while ($argn < $args) { - get_arg; - $command .= "$element "; - $argn += 2; - } - last ARG; - } - - if ($element eq "--gauge") { - $argn++; - get_arg; - $command .= "--progress --text=\"$element\" "; - - # discard the size args as usually, and see if - # a percentage value was supplied to initialize the - # dialog - - $argn += 3; - get_arg; - if ($element) { - $command .= "--percentage=$element "; - } - last ARG; - } - - $argn++; -} - -# execute the constructed zenity command line -$command .= " 2>&1"; -system($command); |