RubyLit - Ruby.del.litoral!
cambiar la password


# 
# Copyright 2009 Rafael Bidegain <r.bidegain #{at} gmail.com>
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
#  any later version.
# 
# This program 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 General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.


require 'gtk2'

class Mi_app < Gtk::VBox
    def initialize()
        super()
        lyt = Gtk::Layout.new(hadjustment = nil, vadjustment = nil)
        pack_start( lyt, true, true, 0)

        laClaveVieja = Gtk::Label.new("Ingrese la clave Actual:")
        laClaveVieja.set_size_request(155, 30)
        lyt.put(laClaveVieja, 10, 10)

        enClaveVieja = Gtk::Entry.new()
        enClaveVieja.invisible_char=42
        enClaveVieja.visibility=false
        enClaveVieja.set_size_request(90, 30)
        lyt.put(enClaveVieja, 165, 10)

        laClave = Gtk::Label.new("Ingrese la nueva clave:")
        laClave.set_size_request(155, 30)
        lyt.put(laClave, 10, 40)

        enClave = Gtk::Entry.new()
        enClave.invisible_char=42
        enClave.visibility=false
        enClave.set_size_request(90, 30)
        lyt.put(enClave, 165, 40)

        btAceptar = Gtk::Button.new(Gtk::Stock::OK)
        btAceptar.set_size_request(70, 30)
        btAceptar.signal_connect( "clicked" ) do
        #print enClaveVieja.text, "\n" 
        #print enClave.text, "\n" 
        system('echo "'+enClaveVieja.text+'\n'+enClave.text+'\n'+enClave.text+'"|passwd $USER')
        end

        lyt.put(btAceptar, 10, 100)

        btSalir = Gtk::Button.new(Gtk::Stock::QUIT)
        btSalir.set_size_request(70, 30)
        btSalir.signal_connect( "clicked" ) do
            Gtk.main_quit 
        end

        lyt.put(btSalir, 90, 100)
    end
end

if $0 == __FILE__

class Viewer < Gtk::Window
  def initialize()
    super()
    set_title("Cambiar la Clave") 
    set_window_position(Gtk::Window::POS_CENTER)
    signal_connect("delete_event") { |i,a| Gtk::main_quit }
    set_default_size(350, 150)
    add(Mi_app.new)
  end
end

Gtk.init()

view = Viewer.new
view.show_all

Gtk.main()
end