summaryrefslogtreecommitdiff
path: root/src/gdialog
diff options
context:
space:
mode:
authorMike Newman <MikeGTN@src.gnome.org>2003-05-27 22:00:43 +0000
committerMike Newman <MikeGTN@src.gnome.org>2003-05-27 22:00:43 +0000
commitbeaff4a661f5d1329e1afd4b5e3f980ee703035a (patch)
tree279dafb12fd003598135e8fddd7a43032ecde25f /src/gdialog
parent9e131f64cb3b67c8ad1a11de2297cc3297baa7fa (diff)
Enable the gdialog wrapper script.
Diffstat (limited to 'src/gdialog')
-rw-r--r--src/gdialog221
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);