Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=fwsetup-ng.git;a=commitdiff;h=4d0c198926c0fb01a1e537acf14970631513f08a
commit 4d0c198926c0fb01a1e537acf14970631513f08a Author: James Buren <[email protected]> Date: Wed Aug 8 15:46:47 2012 -0500 add ending module diff --git a/ending.cc b/ending.cc new file mode 100644 index 0000000..a7e49dc --- /dev/null +++ b/ending.cc @@ -0,0 +1,50 @@ +#include "master.h" + +#define ENDING_TEXT \ +"Frugalware has been successfully installed!\n" \ +"\n" \ +"Please click Next to exit the installer.\n" + +static enum order ending_run(void) +{ + enum order rv = ORDER_NONE; + YRichText *text = YUI::widgetFactory()->createRichText(master->contents,ENDING_TEXT,true); + + while(rv == ORDER_NONE) + { + YEvent *event = master->dialog->waitForEvent(); + + if(event->eventType() == YEvent::WidgetEvent) + { + YWidgetEvent *wevent = (YWidgetEvent*) event; + + if(wevent->widget() == master->previous && wevent->reason() == YEvent::Activated) + rv = ORDER_PREVIOUS; + else if(wevent->widget() == master->next && wevent->reason() == YEvent::Activated) + rv = ORDER_NEXT; + } + + master->dialog->deleteEvent(event); + } + + return rv; +} + +extern struct slave *ending_initialize(void) +{ + struct slave *p; + + p = new struct slave; + + memset(p,0,sizeof(struct slave)); + + p->next = 0; + + p->previous = 0; + + p->name = new std::string(__FILE__); + + p->run = ending_run; + + return p; +} diff --git a/master.cc b/master.cc index c9df796..b6adac7 100644 --- a/master.cc +++ b/master.cc @@ -40,6 +40,10 @@ extern int main(int argc,char **argv) slaves = beginning_initialize(); + insque(slaves,0); + + insque(ending_initialize(),slaves); + for( slave = slaves ; slave ; ) { enum order order; diff --git a/master.h b/master.h index 94e41bd..33b590b 100644 --- a/master.h +++ b/master.h @@ -66,3 +66,4 @@ extern struct master *master; extern struct slave *slaves; extern struct slave *beginning_initialize(void); +extern struct slave *ending_initialize(void); _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
