miércoles, 5 de diciembre de 2012

Simpleperlbrowser 4 (navegador web en Perl) actualizado

Bueno,como he venido actualizando este pequeño navegador basado en webkit escrito en perl,lo he actualizado de nuevo :D



La verdad es que me gusta actualizar mis projectos y ponerle nuevas cosas,aunque sean pequeños,bueno como saben este navegador a tenido tres versiones, y esta es la cuarta,lo que pasa es que he ido añadiendo algoritmos/funciones que hagan que sea cada vez mas usable ,por ejemplo demos un repaso a las versiones anteriores.

SimplePerlBrowser1: Definíamos la url desde consola y solo podíamos visitar esa pagina




SimplePerlBrowser2: Añadí un  box para que puedan ingresar la url desde el programa ya en si.

También añadí un botón de salida,no muy eficaz porque se puede salir con la X,pero lo añadí.

También un botón de retroceso y uno de adelanto.



SimplePerBrowser3: 


1.Algoritmo de búsqueda:

He añadido un algoritmo que se da cuenta si es una url,si es una url pero sin http,se la añade,si tiene http la carga normalmente,pero si no es una url busca lo que escribas en google.


2.Etiqueta de carga:

He redirigido el estado de carga de Webkit,para que se muestre en una etiqueta y sepamos cuanto ha cargado y falta por cargar.

3.Botón de recargar:

Añadí un botón que recarga la pagina web actual que estemos viendo,por si no se cargo bien,etc.

3. Botón de detención:

También un botón para detener la carga de la pagina,por si no la quieres cargar en el ultimo momento.

4. Icono de búsqueda y salida:

Todas las ordenes ahora tienen iconos,y el de buscar y salir ya no son texto ahora se ven mas amigable.

5.Botones de zoom:

Haci es,he añadido dos botones uno para zoom in y otro para zoom out,esto hará que veas mejor la pagina que este visualizando

 Titulo en la ventana:

He implementado otro algoritmo que recoge la información de la ventana actual y la coloca como titulo de la ventana,como le hacen los navegadores web de alto nivel

SimplePerBrowser4:

1:Ahora el bar esta arriba

2.Añade la url de la pagina en la que estamos al entry,en vez de quedarse en blanco

3.Botones de carga y detención unificados :D

Esto fue lo que mas me quebro la cabeza,ya que lo que hace es detectar si ya cargo al 100% la pagina y si es así cambia el botón para que recargue o si no es así,lo podemos detener con la función de ese botón,mas que nada el algoritmo que detectaba esto,porque como lo vimos antes ya habia hablado del boton Notebook,que es el que use en esta ocasion.

Asi que como no sabia como hacer esto le pregunte a @Daniela  y me sugirió que usara un bucle,el cual espero que lo haya implementado bien XD:


for ( $ctitulo < 100 ) {
   my $ctitul = sprintf ("%2d%%", 100 * $carga);
   $ctitulo = chop($ctitul);
   $label->set_markup("$ctitul%");   
   if ($ctitul == 100) {
   $botones->set_current_page(0); 
}
}

Así que gracias :D

Bueno solo eso añadí pero bueno,vamos a ver que mas le pongo en el futuro,ya que si se me dificulto el algoritmo que detecta la carga de la web,no quiero ver como se me va a dificultar para implementar multipestañas.

Tambien cambie google,por DuckDuckGo,aunque el (entry aun esta configurado para google) ya que un navegador en Perl mereze un buscador en Perl 



Cargando:


Termina de cargar:

Bueno aquí el código:

Enlace
Necesitan instalar Gtk3 y Webkit

En terminal

  su


  cpan


  install Gtk3

  install Gtk3::WebKit
Y lo ejecutan como un script

Eso es todo :D


4 comentarios:

  1. Gracias por el reconocimiento Damian (^▼^) ,pero no tiene muchas lineasssssssssssssss?

    Otra cosa (^-^), ya lo hiciste en Xcode ya que no respondiste?



    ResponderBorrar
    Respuestas
    1. Muchas lineas,intente que fueran lo menos posible :(,pero mientras funcione creo que esta bien :D

      Lo del navegador para el iphone,no he comprado la licencia de desarrollador para usar el sdk y aun no se muy bien objective-C, pero ya he estado viendo el desarrollo y se ve fácil XD

      No, si esta difícil,pero por lo menos la interfaz no se hace a la brava

      Y por lo menos ya me aventaba una webview para itimetux.com :D

      Lo que pasa es que se cayo mi isp por eso no conteste.

      Borrar
    2. "pero mientras funcione creo que esta bien" (^▼^) (^▼^) (^▼^)

      Aunque funcione debes hacer pruebas ya que a futuro de va a sobrar texto....

      Borrar
    3. Lo voy a intentar,ya que soy un poco perfeccionista,pero la realidad es que se va la vista y se pasan unas lineas por ahí :D

      Borrar

Los comentarios serán revisados antes de ser publicados.