#!/usr/bin/env ruby

# Shoes GUI Wizard to set up a subdirectory for a Conversion
# May never be finished (or used)
#

# Assume we are in the MvManila Directory

class FrontPage < Shoes
  url "/", :selDir
  url "/srcSetup", :srcSetup
  
  attr_accessor :project
  
  #init the vars to nothing. 
  def initVars
	  @project = nil
  end
  
  #parse a config file into my vars
  def parseConfig(subdir = @project)
  end
  
  #write a config
  def writeConfig(subdir = @project)
  end
  
  def selDir
	# check for subdirs.
	initVars
	prjlist = []
	Dir.glob('*/config.txt').each do |d|
		lead = File.dirname(d)
		prjlist << lead if lead
	end
	prjlist << "New Project"
	stack :margin => 5 do
		para "Select Project"
		list_box :items => prjlist, :choose => prjlist[0] do |prj|
			p = prj.text
			if p != "New Project"
				@project = p
				parseConfig(p)
			else
				@project = ask("Subdirctory name for Project")
			end
		end
	end
	
	
	flow do
		button "Next" do
			# create subdir (if its not there)
			# cd into it
			# make the pictures and test dirs
			# make softlinks to [most] of the scripts in the parent scripts
			$stderr.puts "Exit #{@project}"
			visit "/srcSetup"
		end
		button "Quit, w/o saving" do
			exit
		end
	end
  end
  
  def srcSetup
	$stderr.puts "Enter #{@project}"
	para "For #{@project} Pick your Source Blog Type"
	stack :margin => 5 do
		flow {@ctlManila = radio :srcBlog; para "Manila"}
		flow {radio :srcBlog; para "Wordpress"}
		flow {radio :srcBlog; para "Moveable Type"}
		@ctlManila.click do |c|
			@ctlSameSite.checked = c.checked
		end
	end
	stack :margin => 5 do
		edit_line "http://my.old.blog/url/", :width => 400
	end
	para "Where are the pictures and media files stored?"
	stack :margin => 5 do
		flow  do
			@ctlSameSite = check :checked => true;
			para "In These directories on the server above"
			stack {
			edit_box "http://my.old.blog/url/pictures", :width => 400}
		end
		flow do
			check;
			para "I have Wordpress Attachments"
		end
		flow do
			check;
			para "Flicker"
			stack  do edit_line "http://me.flicker.com/", :width => 400 end
		end
		flow do
			check;
			para "Picassa"
			stack {edit_line "http://me.picassa.com/", :width => 400}
		end
		flow do
			check;
			para "Gallery2"
			stack {edit_line "http://my.sad.site/gallery", width => 400}
		end
	end
	flow do
		button "Back" do
			visit "/"
		end
		button "Quit, w/o saving" do
			exit
		end
		button "Next" do
			exit
		end
	end
  end
  
end
Shoes.app :width => 800, :height => 640, :margin => 10
 