]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Client/include/mnu_help_about.h
El cliente vuelve a compilar :-D y ahora carga el archivo ChangeLog cuando se
[z.facultad/75.42/plaqui.git] / Client / include / mnu_help_about.h
index 2480faf44ec632dd4b5c53e9b3153430d6c95e23..168bd3da5439fb9379bd51eedbbfaf2b098da784 100644 (file)
@@ -2,6 +2,7 @@
 /* Maneja el Ayuda->Acerca de */
 
 #include <gtkmm.h>
 /* Maneja el Ayuda->Acerca de */
 
 #include <gtkmm.h>
+#include <glibmm/iochannel.h>
 #include <iostream>
 
 class MnuHelpAbout:public Gtk::MenuItem {
 #include <iostream>
 
 class MnuHelpAbout:public Gtk::MenuItem {
@@ -11,14 +12,20 @@ public:
        virtual ~MnuHelpAbout() {}
 
 protected:
        virtual ~MnuHelpAbout() {}
 
 protected:
-       // preparo para leer el archivo ChangeLog
-       Glif::RefPtr<StreamIOChannel> change_log;
-       fstream fp("../ChangeLog");
-       change_log = StreamIOChannel::create(fstream);
-       
-       
        Glib::RefPtr<Gnome::Glade::Xml> refXml;
        Glib::RefPtr<Gnome::Glade::Xml> refXml;
+
        virtual void on_activate() {
        virtual void on_activate() {
+               // preparo para leer el archivo ChangeLog
+               Glib::ustring line;
+               Glib::RefPtr<Gtk::TextBuffer> log_buffer;
+               Glib::RefPtr<Glib::IOChannel> log_io;
+
+               log_buffer = Gtk::TextBuffer::create();
+               log_io = Glib::IOChannel::create_from_file("../ChangeLog", "r");
+               while (log_io->read_line(line) != Glib::IO_STATUS_EOF) {
+                       log_buffer->insert_at_cursor(line);
+               }
+
                try {
                        refXml = Gnome::Glade::Xml::create("client.glade", "dlgAbout");
                }
                try {
                        refXml = Gnome::Glade::Xml::create("client.glade", "dlgAbout");
                }
@@ -28,9 +35,12 @@ protected:
                }
                Gtk::Window *dlg = 0;
                Gtk::Button *btn_cerrar = 0;
                }
                Gtk::Window *dlg = 0;
                Gtk::Button *btn_cerrar = 0;
+               Gtk::TextView *txt_changelog = 0;
                refXml->get_widget("dlgAbout", dlg);
                refXml->get_widget("btn_close", btn_cerrar);
                refXml->get_widget("dlgAbout", dlg);
                refXml->get_widget("btn_close", btn_cerrar);
+               refXml->get_widget("txt_changelog", txt_changelog);
                btn_cerrar->signal_clicked().connect(SigC::slot(*dlg, &Gtk::Dialog::hide));
                btn_cerrar->signal_clicked().connect(SigC::slot(*dlg, &Gtk::Dialog::hide));
+               txt_changelog->set_buffer(log_buffer);
                dlg->show();
        }
 };
                dlg->show();
        }
 };