зеркало из https://github.com/mozilla/gecko-dev.git
*** NOT PART OF BUILD ***
Linux install wizard progress.
This commit is contained in:
Родитель
cc54866f08
Коммит
31ef92c2e8
|
@ -40,8 +40,15 @@ CPPSRCS = \
|
|||
nsSetupTypeDlg.cpp \
|
||||
nsComponentsDlg.cpp \
|
||||
nsInstallDlg.cpp \
|
||||
nsXIContext.cpp \
|
||||
nsXInstaller.cpp \
|
||||
nsINIParser.cpp \
|
||||
$(NULL)
|
||||
|
||||
LIBS = \
|
||||
$(TK_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
CXXFLAGS += $(MOZ_TOOLKIT_REGISTRY_CFLAGS)
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is Mozilla Communicator client code,
|
||||
* released March 31, 1998.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape Communications
|
||||
* Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Samir Gehani <sgehani@netscape.com>
|
||||
*/
|
||||
|
||||
#ifndef _XIDEFINES_H_
|
||||
#define _XIDEFINES_H_
|
||||
|
||||
#include "XIErrors.h"
|
||||
|
||||
/*--------------------------------------------------------------------*
|
||||
* Limits
|
||||
*--------------------------------------------------------------------*/
|
||||
#define MAX_COMPONENTS 64
|
||||
#define MAX_SETUP_TYPES 32
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------*
|
||||
* Widget Dims
|
||||
*--------------------------------------------------------------------*/
|
||||
#define XI_WIN_HEIGHT 320
|
||||
#define XI_WIN_WIDTH 550
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------*
|
||||
* Macros
|
||||
*--------------------------------------------------------------------*/
|
||||
#define XI_IF_DELETE(_object) \
|
||||
do { \
|
||||
if (_object) \
|
||||
delete _object; \
|
||||
} while(0);
|
||||
|
||||
#define XI_IF_FREE(_ptr) \
|
||||
do { \
|
||||
if (_ptr) \
|
||||
free(_ptr); \
|
||||
} while(0);
|
||||
|
||||
#define XI_ERR_BAIL(_function) \
|
||||
do { \
|
||||
err = _function; \
|
||||
if (err != OK) \
|
||||
{ \
|
||||
ErrorHandler(err); \
|
||||
goto BAIL; \
|
||||
} \
|
||||
} while (0);
|
||||
|
||||
#define XI_ERR_BAIL_EXCEPT(_function, _errexpected) \
|
||||
do { \
|
||||
err = _function; \
|
||||
if (err != OK && err != _errexpected) \
|
||||
{ \
|
||||
ErrorHandler(err); \
|
||||
goto BAIL; \
|
||||
} \
|
||||
} while(0);
|
||||
|
||||
#define XI_VERIFY(_ptr) \
|
||||
do { \
|
||||
if (!_ptr) \
|
||||
return ErrorHandler(E_INVALID_PTR); \
|
||||
} while (0);
|
||||
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
#endif /* _XIDEFINES_H_ */
|
|
@ -25,6 +25,8 @@
|
|||
#ifndef _XI_ERRORS_H_
|
||||
#define _XI_ERRORS_H_
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
/*------------------------------------------------------------------*
|
||||
* X Installer Errors
|
||||
*------------------------------------------------------------------*/
|
||||
|
@ -33,19 +35,34 @@
|
|||
OK = 0,
|
||||
E_MEM = -601, /* out of memory */
|
||||
E_PARAM = -602, /* invalid param */
|
||||
E_NO_MEMBER = -603 /* invalid member variable */
|
||||
E_NO_MEMBER = -603, /* invalid member variable */
|
||||
E_INVALID_PTR = -604 /* invalid pointer */
|
||||
};
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
#define FATAL_ERR_THRESHOLD -500 /* errs below this cause app quit */
|
||||
#define GENERAL_ERR_THRESHOLD -1 /* errs below this cause dlg to come up*/
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
/*------------------------------------------------------------------*
|
||||
* Default Error Handler
|
||||
*------------------------------------------------------------------*/
|
||||
static int ErrorHandler(int aErr)
|
||||
{
|
||||
// XXX 1. fix this to get a string associated with the error code
|
||||
// XXX from a resourced string bundle
|
||||
// XXX
|
||||
// XXX 2. fix this to throw up a dialog rather than writing to stdout
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
if (aErr < FATAL_ERR_THRESHOLD)
|
||||
{
|
||||
printf("Fatal error[%d]: Doom and darkness has struck!\n", aErr);
|
||||
exit(aErr);
|
||||
}
|
||||
else if (aErr < GENERAL_ERR_THRESHOLD)
|
||||
printf("Error[%d]: Regular error so moving right along.\n", aErr);
|
||||
else
|
||||
printf("Warning[%d]: We spit crap to stdout cos we can!\n", aErr);
|
||||
|
||||
return aErr;
|
||||
}
|
||||
|
||||
#endif /* _XI_ERRORS_H_ */
|
||||
|
|
|
@ -0,0 +1,323 @@
|
|||
/* XPM */
|
||||
static char * logo_star_xpm[] = {
|
||||
"98 100 220 2",
|
||||
" c None",
|
||||
". c #000000",
|
||||
"+ c #8A5E04",
|
||||
"@ c #0A0604",
|
||||
"# c #DE9604",
|
||||
"$ c #2A1A04",
|
||||
"% c #422E04",
|
||||
"& c #EEA204",
|
||||
"* c #6E4A04",
|
||||
"= c #926204",
|
||||
"- c #AE7604",
|
||||
"; c #CE8E04",
|
||||
"> c #F2A204",
|
||||
", c #E69A04",
|
||||
"' c #362204",
|
||||
") c #3A2604",
|
||||
"! c #825A04",
|
||||
"~ c #BE8204",
|
||||
"{ c #C28204",
|
||||
"] c #221604",
|
||||
"^ c #664604",
|
||||
"/ c #4A3204",
|
||||
"( c #120A04",
|
||||
"_ c #EA9E04",
|
||||
": c #5A3A04",
|
||||
"< c #1A1204",
|
||||
"[ c #966604",
|
||||
"} c #E29A04",
|
||||
"| c #A26E04",
|
||||
"1 c #4E3604",
|
||||
"2 c #DA9204",
|
||||
"3 c #060204",
|
||||
"4 c #4E3204",
|
||||
"5 c #2A1E04",
|
||||
"6 c #D28E04",
|
||||
"7 c #8E5E04",
|
||||
"8 c #7A5204",
|
||||
"9 c #2E2204",
|
||||
"0 c #020204",
|
||||
"a c #AA7604",
|
||||
"b c #B67A04",
|
||||
"c c #0E0A04",
|
||||
"d c #A67204",
|
||||
"e c #322204",
|
||||
"f c #3E2A04",
|
||||
"g c #5A3E04",
|
||||
"h c #5E3E04",
|
||||
"i c #9A6604",
|
||||
"j c #C68604",
|
||||
"k c #5E4204",
|
||||
"l c #E69E04",
|
||||
"m c #160E04",
|
||||
"n c #764E04",
|
||||
"o c #563A04",
|
||||
"p c #2E1E04",
|
||||
"q c #9A6A04",
|
||||
"r c #CA8A04",
|
||||
"s c #865A04",
|
||||
"t c #D69204",
|
||||
"u c #462E04",
|
||||
"v c #0A0204",
|
||||
"w c #624204",
|
||||
"x c #DA9604",
|
||||
"y c #AA7204",
|
||||
"z c #CE8A04",
|
||||
"A c #765204",
|
||||
"B c #523604",
|
||||
"C c #EAA204",
|
||||
"D c #120204",
|
||||
"E c #9E6A04",
|
||||
"F c #7E1204",
|
||||
"G c #420A04",
|
||||
"H c #BA7E04",
|
||||
"I c #BE1E04",
|
||||
"J c #060604",
|
||||
"K c #1E1204",
|
||||
"L c #160204",
|
||||
"M c #F22604",
|
||||
"N c #C61E04",
|
||||
"O c #261A04",
|
||||
"P c #660E04",
|
||||
"Q c #FE2604",
|
||||
"R c #F62604",
|
||||
"S c #1A0204",
|
||||
"T c #7E5604",
|
||||
"U c #AE1A04",
|
||||
"V c #560E04",
|
||||
"W c #0E0204",
|
||||
"X c #921604",
|
||||
"Y c #4E0E04",
|
||||
"Z c #E62204",
|
||||
"` c #9E1A04",
|
||||
" . c #FE2A04",
|
||||
".. c #FA2604",
|
||||
"+. c #260604",
|
||||
"@. c #E22204",
|
||||
"#. c #3E0A04",
|
||||
"$. c #A61A04",
|
||||
"%. c #362604",
|
||||
"&. c #821604",
|
||||
"*. c #724E04",
|
||||
"=. c #221A04",
|
||||
"-. c #D22204",
|
||||
";. c #320604",
|
||||
">. c #220604",
|
||||
",. c #7A1204",
|
||||
"'. c #761204",
|
||||
"). c #B21A04",
|
||||
"!. c #B61E04",
|
||||
"~. c #460A04",
|
||||
"{. c #661204",
|
||||
"]. c #8A1604",
|
||||
"^. c #664204",
|
||||
"/. c #120E04",
|
||||
"(. c #CA1E04",
|
||||
"_. c #161204",
|
||||
":. c #EE2604",
|
||||
"<. c #4E0A04",
|
||||
"[. c #8E6204",
|
||||
"}. c #9A1A04",
|
||||
"|. c #AA1A04",
|
||||
"1. c #422A04",
|
||||
"2. c #3A0A04",
|
||||
"3. c #2A0604",
|
||||
"4. c #7E1604",
|
||||
"5. c #1E1604",
|
||||
"6. c #523A04",
|
||||
"7. c #6E1204",
|
||||
"8. c #B27A04",
|
||||
"9. c #CA8604",
|
||||
"0. c #620E04",
|
||||
"a. c #A21A04",
|
||||
"b. c #C28604",
|
||||
"c. c #DE2204",
|
||||
"d. c #5E0E04",
|
||||
"e. c #360A04",
|
||||
"f. c #A66E04",
|
||||
"g. c #2E0604",
|
||||
"h. c #B67E04",
|
||||
"i. c #6E4E04",
|
||||
"j. c #721204",
|
||||
"k. c #6A4604",
|
||||
"l. c #D62204",
|
||||
"m. c #861604",
|
||||
"n. c #9A1604",
|
||||
"o. c #E62604",
|
||||
"p. c #CE2204",
|
||||
"q. c #520E04",
|
||||
"r. c #9E6E04",
|
||||
"s. c #7A5604",
|
||||
"t. c #4A0A04",
|
||||
"u. c #BA1E04",
|
||||
"v. c #5A0E04",
|
||||
"w. c #8E1604",
|
||||
"x. c #B21E04",
|
||||
"y. c #825604",
|
||||
"z. c #DA2204",
|
||||
"A. c #3A2A04",
|
||||
"B. c #0E0E0C",
|
||||
"C. c #FEFEFC",
|
||||
"D. c #222224",
|
||||
"E. c #961604",
|
||||
"F. c #1A0604",
|
||||
"G. c #C21E04",
|
||||
"H. c #6A1204",
|
||||
"I. c #EA2604",
|
||||
"J. c #1E0604",
|
||||
"K. c #D68E04",
|
||||
"L. c #0A0A04",
|
||||
"M. c #6A4A04",
|
||||
"N. c #0A0A0C",
|
||||
"O. c #1E1E1C",
|
||||
"P. c #320A04",
|
||||
"Q. c #565654",
|
||||
"R. c #6E6E6C",
|
||||
"S. c #4A4A4C",
|
||||
"T. c #262624",
|
||||
"U. c #868684",
|
||||
"V. c #3A3A3C",
|
||||
"W. c #5A5A5C",
|
||||
"X. c #363634",
|
||||
"Y. c #6A6A6C",
|
||||
"Z. c #828284",
|
||||
"`. c #7A7A7C",
|
||||
" + c #2A2A2C",
|
||||
".+ c #463204",
|
||||
"++ c #FE3E04",
|
||||
"@+ c #F66604",
|
||||
"#+ c #FA5A04",
|
||||
"$+ c #FA4604",
|
||||
"%+ c #FA4E04",
|
||||
"&+ c #F28604",
|
||||
"*+ c #F67E04",
|
||||
"=+ c #F67604",
|
||||
"-+ c #FE2E04",
|
||||
";+ c #FE3204",
|
||||
">+ c #F28204",
|
||||
",+ c #FE3A04",
|
||||
"'+ c #F67A04",
|
||||
")+ c #F68204",
|
||||
"!+ c #FA5E04",
|
||||
"~+ c #FA5604",
|
||||
"{+ c #F66A04",
|
||||
"]+ c #FA5204",
|
||||
"^+ c #F67204",
|
||||
"/+ c #FA4A04",
|
||||
"(+ c #F66E04",
|
||||
"_+ c #F29204",
|
||||
":+ c #F66204",
|
||||
"<+ c #F29E04",
|
||||
"[+ c #FE3604",
|
||||
"}+ c #F29604",
|
||||
"|+ c #F28E04",
|
||||
"1+ c #F29A04",
|
||||
"2+ c #FE4204",
|
||||
"3+ c #F28A04",
|
||||
"4+ c #DE9A04",
|
||||
"5+ c #B27604",
|
||||
"6+ c #865E04",
|
||||
"7+ c #926604",
|
||||
" # ",
|
||||
" & ",
|
||||
" ' & ) ",
|
||||
" ~ > { ",
|
||||
" & & & ",
|
||||
" ( > > & ",
|
||||
" [ & & & : ",
|
||||
" & > ~ > 2 ",
|
||||
" & & @ & > ",
|
||||
" * > } 0 & > c ",
|
||||
" > & g 0 6 & + ",
|
||||
" > & 0 0 k & l ",
|
||||
" o & & 0 0 0 > & ",
|
||||
" # & ! 0 0 0 & & ] ",
|
||||
" & & 0 0 0 0 b & y ",
|
||||
" $ & > 0 0 0 0 f & & ",
|
||||
" ~ & E 0 0 G 0 0 & & ",
|
||||
" > > K 0 L N 0 0 _ & B ",
|
||||
" ( & & 0 0 U Q 0 0 [ & r ",
|
||||
" [ > j 0 0 Q Q 0 0 m & & ",
|
||||
" > & f 0 0 Q Q P 0 0 > & ",
|
||||
" > & 0 0 &.Q .R 0 0 # & *. ",
|
||||
" * & } 0 0 Q Q Q Q 0 0 A & # ",
|
||||
" > & ^ 0 0 Q . . .3 0 3 & > ",
|
||||
" & & 0 0 {.Q Q Q Q ].0 0 & > /. ",
|
||||
" u & & 0 0 :. . . . .Q 0 0 r > [ ",
|
||||
" x & = 0 0 Q Q Q Q .Q 0 0 1.& & ",
|
||||
" & & 0 0 2. . . . .Q Q 3.0 0 & > ",
|
||||
" 5.& > 0 0 (.Q Q Q .Q .I 0 0 > & %. ",
|
||||
" { & H 0 0 . . . .Q Q .Q 0 0 y & 8. ",
|
||||
" & > < 0 L Q Q Q .Q .Q Q 0 0 O & & ",
|
||||
" & & 0 0 a. . . .Q Q .Q Q <.0 0 & & ",
|
||||
" q > t 0 0 .Q Q .Q .Q Q Q c.0 0 _ > h ",
|
||||
" & & f 0 0 . . .Q Q .Q Q Q Q 0 0 + > 6 ",
|
||||
" > > 0 0 ,.Q Q .Q .Q Q Q .Q 0 0 ( > > ",
|
||||
" i.& & 0 0 Q . .Q Q .Q Q Q Q Q j.0 0 > & J ",
|
||||
" _ > ^.0 0 Q Q ...Y 0 0 0 D ].>.0 0 0 2 & T ",
|
||||
" & & 3 0 V . .Q 3 0 0 0 0 0 0 0 0 0 0 g & , ",
|
||||
"/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 8 > > 0 0 :.Q .G 0 ].:.:.Q R P 0 0 3 0 0 & & / / / / / / / / / / / / / / / / / / / 4 / / / / / / / / / / / / / / / / / / ",
|
||||
" 6 > & > > > & > > > & > > > & > & & & & & & & & & & & & & & & & & & & & & & 7 0 0 Q .Q 0 0 0 0 0 0 G Q Q Q d.0 0 > & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & @ ",
|
||||
" * > & > > > & > > > & > > > & & & & > & & & > & & & > & & & > > & & > > > c 0 3.Q .Q 0 0 0 0 n.d.0 0 3 ].M 0 0 { & & & & & & & & & & & & & & & & & & & > & & & & & & & & & & & & & & & & z ",
|
||||
" < & & & w 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 p. .Q ].0 0 0 0 0 F Q 0 0 0 3.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 _ & & y. ",
|
||||
" # > > ~ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q .v.0 0 ~.0 0 C.0 Q 0 :.Q ..W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 O & & & e ",
|
||||
" q & & _ 0 0 0 0 Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q |.0 0 0 E.d.C.0 0 l. .t.Q c.0 0.Q Q Q 0 $.Q Q Q Q Z 0 0 0 0 0 0 0 3 Q Q Q Q Q Q Q Q Q P 0 0 0 ! > & & J ",
|
||||
" e & > > p 0 0 0 (.Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q .Q Q Q Q Q H.0 0 0 ;. .n.0 L ].:.0 I.Q Q ).2.0 0 j.Q ).Q Q Q Q Q .v.0 0 0 0 0 0 0 0 Q Q Q Q Q Q Q D 0 0 0 x > & j ",
|
||||
" _ & > [ 0 0 0 7.Q Q Q .Q Q Q .Q Q Q .Q Q Q .Q Q Q I W 0 0 0 <.Q Q Q Q Z 2.0 0 Z Q o.&.Q W 0 0 0 m.Q Q Q Q Q Q Q R 0 0 0 0 $.P 0 0 0 Q Q Q Q ..3 0 0 0 & & > ! ",
|
||||
" H > & } 0 0 0 F.Q .Q .Q .Q .Q .Q .Q . . .-.0 0 0 3 ).Q Q Q .Q Q Q Q Q Q Q g.L Q :.3 ~.<.<.<.D ..Q Q Q . . .0 0 0 0 0 <.Q Q N +.Q Q N 0 0 0 p > & > p ",
|
||||
" g & & > m 0 0 0 .Q Q . .Q Q . .Q Q . .Q P 0 0 #.Q Q Q Q Q Q Q Q Q Q Q Q Q v 0 Q Q Q Q . . . . .Q d.Q Q Q .Q 0 0 0 0 0 0 S Q Q .Q <.0 0 0 + > > _ ",
|
||||
" L.& > & k.0 0 0 |. .Q . . .Q . . .Q . .0 0 F Q Q Q Q Q Q .Q Q Q Q Q c.0 0 R .R Q Q Q Q Q Q Q Q 0 .. . . . .0 '.0 0 0 0 0 0 .Q W 0 0 0 z & > ~ ",
|
||||
" } & & r 0 0 0 ~. .Q . . .Q . . .Q Q 0 0 0 Q Q Q Q Q Q Q Q Q Q Q 7.0 0 0 Q Q E.Q . . . . .Q Q 3 n.Q .Q .'.c.L 0 0 ;.0 0 0 0 0 0 3 & & & * ",
|
||||
" [ & > & @ 0 0 v Q .Q .Q .Q Q Q Q 0 0 0 ,.Q Q Q Q .Q Q Q ..3 0 0 0 0 ].#.7.Q Q Q Q Q Q Q Q 0 d. . . .Q .Q L 0 0 0 M V 0 0 0 f & & & 5. ",
|
||||
" ' & & > % 0 0 0 l. . . . . .Q Q Q 0 F ;.Q Q Q Q Q Q Q Q m.0 0 0 0 0 0 0 0 X . . . . .Q Q n.0 0. .Q .Q .Q 0 0 0 0 0 0 0 0 E > > l ",
|
||||
" 3 & & > d 0 0 0 H.Q .Q Q Q Q -.0 c.U Q Q Q Q .Q @.0 0 0 0 0 0 0 0 0 0 .Q Q Q Q Q Q ..0 0 q. . .Q .Q .0 0 0 0 0 0 0 2 & & { ",
|
||||
" H & & l 0 0 0 L . .Q Q .F 0 !.Q Q Q Q Q w.0 0 0 O.D.0 0 0 (.0 0 g.Q . . . .Q Q 0 0 0 D Q .Q .Q V 0 0 0 0 0 @ & > > * ",
|
||||
" g & & > m 0 0 0 Z Q Q Q Q 0 ~.n.3.0 0 0 0 C.0 C.0 0 0 0 @.7.0 2.Q Q Q Q Q Q ..P ,.R 3 ;. .Q .Q Q 0 0 0 0 0 / & & & m ",
|
||||
" L.> & & M.0 0 0 E. .Q .S 0 0 0 T.U.0 C.0 0 0 0 0 u. .p.,.@.Q Q . . . .Q ~. . .(.0 Q .Q .Q +.0 0 0 0 E & & } ",
|
||||
" t > > 9.0 0 0 +.Q Q @.0 Z.0 +0 0 0 0 W X Q .o.Q Q Q Q Q Q Q Q Q (.0 Q .Q W Q .Q .Q u.0 0 0 0 # & & 8. ",
|
||||
" T & > & 3 0 0 0 R .0 0 0 0 0 v @. .Q Q .~.0 0 V ).Q Q . .R 3.0 }. . .$.Q Q .Q .Z 0 0 0 /.& & & o ",
|
||||
" 5.& > > % 0 0 0 (.(.W G 0 0 4.Q Q ).F.0 0 0 0 0 0 0 0 J.0 0 0 >.Q .Q Q Q .Q .}.0 0 0 u & & & c ",
|
||||
" l & & y 0 0 0 0.Q Q o.0 0 0 0 0 0 0 #.E.G.2.0 0 0 0 0 0 ,.Q . .Q Q Q .Q G 0 0 0 y & & C ",
|
||||
" 8.> & _ 0 0 0 .Q Q Q w.g.v.). .Q Q Q Q Q ..L 0 0 0 0 c.Q .Q Q Q .Q .0 0 0 } > & - ",
|
||||
" 1 & > 0 0 V Q . .Q Q Q Q Q .Q . .Q Q .Q u.0 0 0 0 X .Q Q Q .Q Q +.0 0 & & .+ ",
|
||||
" 5 > & 0 0 o.Q Q Q .Q .Q .Q Q Q Q Q Q Q Q Q E.0 ;.).3 Q Q Q .Q .Q |.0 0 > & O ",
|
||||
" ~ > - 0 0 Q . .Q Q Q Q Q Q Q . .Q Q .Q .Q Q 0 0 ..Q Z U . .Q Q .Q 0 0 8.& - ",
|
||||
" & & ] 0 D $+> -+ .> > _+Q Q > . .Q Q Q . . .$+d.0 Z :.D >. .Q .Q Q .0 0 $ & & ",
|
||||
" > > 0 0 }.Q .> > }+& 2+++Q > [+> .> > & ;+-+ .Z 0 ;.0 0 Q .Q Q .Q Q ~.0 0 & & ",
|
||||
" A & # 0 0 Q Q -+Q > 1+& Q Q Q > & }+Q > > & . . .Q 0 0 0 R .]. .Q Q . .l.0 0 & & 4 ",
|
||||
" & & w 0 0 .Q -+Q > }+& <+ .Q > C }+..> > & .-+ .Q 0 0 n. .D R Q .Q Q .Q 0 0 7 & z ",
|
||||
" & > 0 0 v. .Q .Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q . .Q t.0 0 0 ;. .Q Q . . .Q 0 0 m & & ",
|
||||
" p > & 0 0 Z .Q Q Q . .Q Q .Q Q Q .Q .Q ..._+ . ...0 0 0 Q Q H.Q Q .Q Q P 0 0 > & ",
|
||||
" 8.> y 0 0 .Q .Q Q Q Q Q .Q Q Q Q Q Q Q :.d.Q Q Q Q ].0 0 R ..v d. . . .Q .@.0 0 _ & A ",
|
||||
" & & =.0 W . .Q Q . .Q Q .Q Q Q .Q .w.0 0 W Q .Q S 0 ,.V 0 0 Q Q .Q Q Q Q 0 0 *.& } ",
|
||||
" 3 & & 0 0 ` Q Q Q Q Q Q Q .Q Q Q Q Q Q ;.0 0 0 0 0 Z Q 0 0 0 0 0 x. . .p.Q .Q Q W 0 0 & & ",
|
||||
" 8 > C 0 0 .Q .Q . .Q Q .Q Q Q .R 3 0 0 0 8 0 0 0 E.0 0 0 0 3. .R 3 Q Q Q Q Q w.0 0 & > /. ",
|
||||
" l & * 0 0 .Q .Q Q Q Q .Q Q Q Q I 0 0 0 O & & r 0 0 0 0 0 0 0 >.4.0 U Q .Q Q .R 0 0 j & s ",
|
||||
" & > 0 0 q.Q .Q . .Q Q .Q Q Q v.0 0 0 y.& > & & > 3 0 0 0 0 0 0 0 0 .Q Q Q Q Q Q 0 0 B & & ",
|
||||
" e & > 0 0 Z . . .Q Q Q .Q Q Q v 0 0 0 z & & 6 ] & & & % 0 0 0 0 0 0 ..Q .Q Q .Q .>.0 0 > > ",
|
||||
" H & 8.0 0 Q .Q Q .Q Q .Q :.0 0 0 3 & & & 8 , > & y 0 0 0 0 X H.n.Q Q Q Q ;.Q ).0 0 & & 9 ",
|
||||
" > > $ 0 S .Q . .Q Q .Q n.0 0 0 u & & & 5. b & & l 0 0 0 0 0 Q Q Q .Q u.p.Q 0 0 f.& y ",
|
||||
" & > 0 0 $. .Q Q Q Q Q .e.0 0 0 5+> > , o & > & < 0 0 0 M Q Q Q Q Q 0 .0 0 p & & ",
|
||||
" A > 4+0 0 Q Q .Q .Q .0 0 0 0 _ & & y B.> & & * 0 0 0 n. .Q Q Q 0 2.<.0 0 & & ",
|
||||
" _ & w 0 0 .Q Q . .(.0 0 0 O > & > / x & & j 0 0 0 g.Q Q Q >.0 (.0 0 & & B ",
|
||||
" & > 0 0 v.Q Q Q .d.0 0 0 8 > & & @ + > & _ 0 0 0 0 ..Q 0.0 t.0 0 [ & r ",
|
||||
" 5 & & 0 0 Z Q . .W 0 0 0 K.& & 4+ O & & & ' 0 0 0 N 0.0 0 0 0 c & & ",
|
||||
" 8.& - 0 0 Q Q Z 0 0 0 0 & & > ! l & & | 0 0 0 S j.0 0 0 0 & & 3 ",
|
||||
" > & ] 0 D .a.0 0 0 1.& & & $ - > & l 0 0 0 >.Q j.0 0 , & *. ",
|
||||
" & & 0 0 n.2.0 0 0 f.> & _ 4 & > & K 0 0 0 :.0 0 *.& _ ",
|
||||
" 8 & l 0 0 0 0 0 0 , & > 8. /.> & & n 0 0 0 0 0 0 & > ",
|
||||
" _ > h 0 0 0 0 5.> > & B x & & j 0 0 0 0 0 & > @ ",
|
||||
" & > 0 0 0 0 * > & & L. s & & _ @ 0 0 0 ; & = ",
|
||||
" e > & 0 0 0 z & > 4+ e & > & p 0 0 .+& & ",
|
||||
" H & d 0 0 & & & [. > & & [ 0 0 > & ",
|
||||
" > & K ) & > & 9 H > > } 0 & & 5 ",
|
||||
" > & E & > C 3 B & > & K.> 8. ",
|
||||
" i.& & > & H @ & & & & > ",
|
||||
" l & & & g x > & & ",
|
||||
" > & > @ 7 > & / ",
|
||||
" %.& 4+ 9 & K. ",
|
||||
" ~ 7+ 3 & ",
|
||||
" ' "};
|
|
@ -25,7 +25,7 @@
|
|||
#ifndef _NS_COMPONENT_H_
|
||||
#define _NS_COMPONENT_H_
|
||||
|
||||
#include "XILimits.h"
|
||||
#include "XIDefines.h"
|
||||
#include "XIErrors.h"
|
||||
#include <malloc.h>
|
||||
|
||||
|
|
|
@ -51,6 +51,17 @@ nsComponentsDlg::Next()
|
|||
return OK;
|
||||
}
|
||||
|
||||
int
|
||||
nsComponentsDlg::Parse(nsINIParser *aParser)
|
||||
{
|
||||
int err = OK;
|
||||
|
||||
return err;
|
||||
|
||||
BAIL:
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsComponentsDlg::SetMsg0(char *aMsg)
|
||||
{
|
||||
|
|
|
@ -42,6 +42,8 @@ public:
|
|||
int Back();
|
||||
int Next();
|
||||
|
||||
int Parse(nsINIParser* aParser);
|
||||
|
||||
/*--------------------------------------------------------------------*
|
||||
* INI Properties
|
||||
*--------------------------------------------------------------------*/
|
||||
|
|
|
@ -90,7 +90,6 @@ public:
|
|||
*/
|
||||
int GetError();
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------*
|
||||
* Errors
|
||||
*--------------------------------------------------------------------*/
|
||||
|
|
|
@ -47,6 +47,17 @@ nsInstallDlg::Next()
|
|||
return OK;
|
||||
}
|
||||
|
||||
int
|
||||
nsInstallDlg::Parse(nsINIParser *aParser)
|
||||
{
|
||||
int err = OK;
|
||||
|
||||
return err;
|
||||
|
||||
BAIL:
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsInstallDlg::SetMsg0(char *aMsg)
|
||||
{
|
||||
|
|
|
@ -40,6 +40,8 @@ public:
|
|||
int Back();
|
||||
int Next();
|
||||
|
||||
int Parse(nsINIParser* aParser);
|
||||
|
||||
/*------------------------------------------------------------------*
|
||||
* INI Properties
|
||||
*------------------------------------------------------------------*/
|
||||
|
|
|
@ -53,6 +53,17 @@ nsLicenseDlg::Next()
|
|||
return OK;
|
||||
}
|
||||
|
||||
int
|
||||
nsLicenseDlg::Parse(nsINIParser *aParser)
|
||||
{
|
||||
int err = OK;
|
||||
|
||||
return err;
|
||||
|
||||
BAIL:
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsLicenseDlg::SetLicenseFile(char *aLicenseFile)
|
||||
{
|
||||
|
|
|
@ -39,6 +39,8 @@ public:
|
|||
*-------------------------------------------------------------------*/
|
||||
int Back();
|
||||
int Next();
|
||||
|
||||
int Parse(nsINIParser *aParser);
|
||||
|
||||
/*-------------------------------------------------------------------*
|
||||
* INI Properties
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#ifndef _NS_SETUPTYPE_H_
|
||||
#define _NS_SETUPTYPE_H_
|
||||
|
||||
#include "XILimits.h"
|
||||
#include "XIDefines.h"
|
||||
#include "XIErrors.h"
|
||||
|
||||
#include "nsComponent.h"
|
||||
|
|
|
@ -27,6 +27,17 @@ nsSetupTypeDlg::Next()
|
|||
return OK;
|
||||
}
|
||||
|
||||
int
|
||||
nsSetupTypeDlg::Parse(nsINIParser *aParser)
|
||||
{
|
||||
int err = OK;
|
||||
|
||||
return err;
|
||||
|
||||
BAIL:
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsSetupTypeDlg::SetMsg0(char *aMsg)
|
||||
{
|
||||
|
|
|
@ -40,6 +40,8 @@ public:
|
|||
int Back();
|
||||
int Next();
|
||||
|
||||
int Parse(nsINIParser *aParser);
|
||||
|
||||
/*---------------------------------------------------------------------*
|
||||
* INI Properties
|
||||
*---------------------------------------------------------------------*/
|
||||
|
|
|
@ -56,6 +56,17 @@ nsWelcomeDlg::Next()
|
|||
return OK;
|
||||
}
|
||||
|
||||
int
|
||||
nsWelcomeDlg::Parse(nsINIParser *aParser)
|
||||
{
|
||||
int err = OK;
|
||||
|
||||
return err;
|
||||
|
||||
BAIL:
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsWelcomeDlg::SetReadmeFile(char *aReadmeFile)
|
||||
{
|
||||
|
|
|
@ -39,6 +39,8 @@ public:
|
|||
*--------------------------------------------------------------------*/
|
||||
int Back();
|
||||
int Next();
|
||||
|
||||
int Parse(nsINIParser *aParser);
|
||||
|
||||
/*--------------------------------------------------------------------*
|
||||
* INI Properties
|
||||
|
|
|
@ -22,11 +22,36 @@
|
|||
* Samir Gehani <sgehani@netscape.com>
|
||||
*/
|
||||
|
||||
#ifndef _XILIMITS_H_
|
||||
#define _XILIMITS_H_
|
||||
#include "nsXIContext.h"
|
||||
|
||||
#define MAX_COMPONENTS 64
|
||||
#define MAX_SETUP_TYPES 32
|
||||
nsXIContext::nsXIContext()
|
||||
{
|
||||
me = NULL;
|
||||
|
||||
ldlg = NULL;
|
||||
wdlg = NULL;
|
||||
sdlg = NULL;
|
||||
cdlg = NULL;
|
||||
idlg = NULL;
|
||||
|
||||
#endif /* _XILIMITS_H_ */
|
||||
window = NULL;
|
||||
back = NULL;
|
||||
next = NULL;
|
||||
logo = NULL;
|
||||
}
|
||||
|
||||
nsXIContext::~nsXIContext()
|
||||
{
|
||||
// NOTE: don't try to delete "me" cause I control thee
|
||||
|
||||
XI_IF_DELETE(ldlg);
|
||||
XI_IF_DELETE(wdlg);
|
||||
XI_IF_DELETE(sdlg);
|
||||
XI_IF_DELETE(cdlg);
|
||||
XI_IF_DELETE(idlg);
|
||||
|
||||
XI_IF_FREE(window);
|
||||
XI_IF_FREE(back);
|
||||
XI_IF_FREE(next);
|
||||
XI_IF_FREE(logo);
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is Mozilla Communicator client code,
|
||||
* released March 31, 1998.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape Communications
|
||||
* Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Samir Gehani <sgehani@netscape.com>
|
||||
*/
|
||||
|
||||
#ifndef _NS_XICONTEXT_H_
|
||||
#define _NS_XICONTEXT_H_
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "nsLicenseDlg.h"
|
||||
#include "nsWelcomeDlg.h"
|
||||
#include "nsSetupTypeDlg.h"
|
||||
#include "nsComponentsDlg.h"
|
||||
#include "nsInstallDlg.h"
|
||||
|
||||
class nsXInstaller;
|
||||
|
||||
class nsXIContext
|
||||
{
|
||||
public:
|
||||
nsXIContext();
|
||||
~nsXIContext();
|
||||
|
||||
nsXInstaller *me;
|
||||
|
||||
/*-------------------------------------------------------------------*
|
||||
* Dialog Contexts
|
||||
*-------------------------------------------------------------------*/
|
||||
nsLicenseDlg *ldlg;
|
||||
nsWelcomeDlg *wdlg;
|
||||
nsSetupTypeDlg *sdlg;
|
||||
nsComponentsDlg *cdlg;
|
||||
nsInstallDlg *idlg;
|
||||
|
||||
/*-------------------------------------------------------------------*
|
||||
* Global Widgets
|
||||
*-------------------------------------------------------------------*/
|
||||
GtkWidget *window; /* unique canvas for dialogs */
|
||||
GtkWidget *back; /* back button */
|
||||
GtkWidget *next; /* next button */
|
||||
GtkWidget *logo; /* branding icon: an xpm image */
|
||||
GtkWidget *mainbox; /* vbox holding all except logo */
|
||||
GtkWidget *canvas; /* vbox for mutable dlgs (no nav btns) */
|
||||
|
||||
};
|
||||
|
||||
#endif /* _NS_XICONTEXT_H_ */
|
|
@ -24,9 +24,9 @@
|
|||
|
||||
|
||||
#include "nsXInstaller.h"
|
||||
#include "nsINIParser.h"
|
||||
#include "logo-star.xpm"
|
||||
|
||||
#include "XIErrors.h"
|
||||
nsXIContext *gCtx = NULL;
|
||||
|
||||
nsXInstaller::nsXInstaller()
|
||||
{
|
||||
|
@ -40,11 +40,11 @@ int
|
|||
nsXInstaller::ParseConfig()
|
||||
{
|
||||
int err = OK;
|
||||
nsINIParser *parser = new nsINIParser( CONFIG_INI );
|
||||
char *bufalloc = NULL;
|
||||
char buf[512];
|
||||
int bufsize = 0;
|
||||
nsINIParser *parser = NULL;
|
||||
|
||||
XI_ERR_BAIL(InitContext());
|
||||
|
||||
parser = new nsINIParser( CONFIG_INI );
|
||||
if (!parser)
|
||||
return E_MEM;
|
||||
|
||||
|
@ -52,43 +52,170 @@ nsXInstaller::ParseConfig()
|
|||
if (err != nsINIParser::OK)
|
||||
return err;
|
||||
|
||||
bufsize = 512;
|
||||
// err = parser->GetString("section2", "key2", buf, &bufsize);
|
||||
err = parser->GetStringAlloc("section2", "key2", &bufalloc, &bufsize);
|
||||
if ( (err == nsINIParser::OK) && (bufalloc) && (bufsize > 0) )
|
||||
{
|
||||
DUMP("section2 key2 = ");
|
||||
DUMP(bufalloc);
|
||||
}
|
||||
XI_ERR_BAIL(gCtx->ldlg->Parse(parser));
|
||||
XI_ERR_BAIL(gCtx->wdlg->Parse(parser));
|
||||
XI_ERR_BAIL(gCtx->sdlg->Parse(parser));
|
||||
XI_ERR_BAIL(gCtx->cdlg->Parse(parser));
|
||||
XI_ERR_BAIL(gCtx->idlg->Parse(parser));
|
||||
|
||||
return err;
|
||||
}
|
||||
return OK;
|
||||
|
||||
int
|
||||
nsXInstaller::Run()
|
||||
{
|
||||
int err = OK;
|
||||
|
||||
if ( (err = StartWizard()) != OK)
|
||||
goto au_revoir;
|
||||
|
||||
if ( (err = Download()) != OK)
|
||||
goto au_revoir;
|
||||
|
||||
if ( (err = Extract()) != OK)
|
||||
goto au_revoir;
|
||||
|
||||
if ( (err = Install()) != OK)
|
||||
goto au_revoir;
|
||||
|
||||
au_revoir:
|
||||
BAIL:
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsXInstaller::StartWizard()
|
||||
nsXInstaller::InitContext()
|
||||
{
|
||||
int err = OK;
|
||||
|
||||
gCtx = new nsXIContext();
|
||||
if (!gCtx)
|
||||
return E_MEM;
|
||||
|
||||
gCtx->me = this;
|
||||
|
||||
gCtx->ldlg = new nsLicenseDlg();
|
||||
gCtx->wdlg = new nsWelcomeDlg();
|
||||
gCtx->sdlg = new nsSetupTypeDlg();
|
||||
gCtx->cdlg = new nsComponentsDlg();
|
||||
gCtx->idlg = new nsInstallDlg();
|
||||
if (!gCtx->ldlg || !gCtx->wdlg || !gCtx->sdlg ||
|
||||
!gCtx->cdlg || !gCtx->idlg )
|
||||
{
|
||||
err = E_MEM;
|
||||
goto BAIL;
|
||||
}
|
||||
|
||||
return OK;
|
||||
|
||||
BAIL:
|
||||
XI_IF_DELETE(gCtx->ldlg);
|
||||
XI_IF_DELETE(gCtx->wdlg);
|
||||
XI_IF_DELETE(gCtx->sdlg);
|
||||
XI_IF_DELETE(gCtx->cdlg);
|
||||
XI_IF_DELETE(gCtx->idlg);
|
||||
XI_IF_DELETE(gCtx);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsXInstaller::RunWizard(int argc, char **argv)
|
||||
{
|
||||
int err = OK;
|
||||
|
||||
XI_VERIFY(gCtx);
|
||||
|
||||
// create the dialog window
|
||||
gtk_init(&argc, &argv);
|
||||
gdk_rgb_init();
|
||||
|
||||
gCtx->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||
XI_VERIFY(gCtx->window);
|
||||
|
||||
gtk_widget_set_usize(gCtx->window, XI_WIN_WIDTH, XI_WIN_HEIGHT);
|
||||
gtk_container_set_border_width(GTK_CONTAINER(gCtx->window), 5);
|
||||
gtk_widget_show(gCtx->window);
|
||||
|
||||
// create and display the logo
|
||||
DrawLogo();
|
||||
|
||||
// create and register the nav buttons
|
||||
XI_ERR_BAIL(DrawNavButtons());
|
||||
|
||||
// populate with license dlg
|
||||
|
||||
// pop over to main event loop
|
||||
gtk_main();
|
||||
|
||||
return OK;
|
||||
|
||||
BAIL:
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsXInstaller::DrawLogo()
|
||||
{
|
||||
int err = OK;
|
||||
|
||||
GdkPixmap *pixmap;
|
||||
GdkBitmap *mask;
|
||||
GtkStyle *style;
|
||||
GtkWidget *mainhbox;
|
||||
GtkWidget *logovbox;
|
||||
GtkWidget *canvasvbox;
|
||||
|
||||
style = gtk_widget_get_style(gCtx->window);
|
||||
pixmap = gdk_pixmap_create_from_xpm_d(gCtx->window->window, &mask,
|
||||
&style->bg[GTK_STATE_NORMAL],
|
||||
(gchar **)logo_star_xpm);
|
||||
|
||||
gCtx->logo = gtk_pixmap_new(pixmap, mask);
|
||||
XI_VERIFY(gCtx->logo);
|
||||
gtk_widget_show(gCtx->logo);
|
||||
|
||||
mainhbox = gtk_hbox_new(FALSE, 10);
|
||||
logovbox = gtk_vbox_new(FALSE, 10);
|
||||
canvasvbox = gtk_vbox_new(FALSE, 10);
|
||||
|
||||
gtk_box_pack_start(GTK_BOX(logovbox), gCtx->logo, FALSE, FALSE, 0);
|
||||
gtk_widget_show(logovbox);
|
||||
gtk_widget_show(canvasvbox);
|
||||
|
||||
gtk_box_pack_start(GTK_BOX(mainhbox), logovbox, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start(GTK_BOX(mainhbox), canvasvbox, FALSE, FALSE, 0);
|
||||
gtk_widget_show(mainhbox);
|
||||
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->window), mainhbox);
|
||||
|
||||
gCtx->mainbox = canvasvbox; /* canvasvbox = canvas - nav btns' box */
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsXInstaller::DrawNavButtons()
|
||||
{
|
||||
int err = OK;
|
||||
|
||||
GtkWidget *navbtnhbox;
|
||||
GtkWidget *canvasvbox;
|
||||
GtkWidget *navbtntable;
|
||||
|
||||
XI_VERIFY(gCtx->mainbox);
|
||||
|
||||
gCtx->next = gtk_button_new_with_label("Accept"); // XXX from license dlg
|
||||
gCtx->back = gtk_button_new_with_label("Decline"); // XXX parse keys
|
||||
XI_VERIFY(gCtx->next);
|
||||
XI_VERIFY(gCtx->back);
|
||||
gtk_widget_show(gCtx->next);
|
||||
gtk_widget_show(gCtx->back);
|
||||
|
||||
navbtnhbox = gtk_hbutton_box_new();
|
||||
canvasvbox = gtk_vbox_new(FALSE, 10);
|
||||
gtk_box_pack_start(GTK_BOX(gCtx->mainbox), canvasvbox, TRUE, FALSE, 0);
|
||||
gtk_box_pack_start(GTK_BOX(gCtx->mainbox), navbtnhbox, FALSE, FALSE, 0);
|
||||
|
||||
// put a table in the nav btn box
|
||||
navbtntable = gtk_table_new(1, 6, TRUE);
|
||||
gtk_box_pack_start(GTK_BOX(navbtnhbox), navbtntable, TRUE, TRUE, 0);
|
||||
|
||||
gtk_table_attach(GTK_TABLE(navbtntable), gCtx->back, 5, 6, 0, 1,
|
||||
GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 5, 5);
|
||||
gtk_table_attach(GTK_TABLE(navbtntable), gCtx->next, 6, 7, 0, 1,
|
||||
GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 5, 5);
|
||||
|
||||
gtk_widget_show(navbtntable);
|
||||
gtk_widget_show(navbtnhbox);
|
||||
gtk_widget_show(canvasvbox);
|
||||
|
||||
gtk_widget_show(gCtx->mainbox);
|
||||
|
||||
XI_VERIFY(canvasvbox);
|
||||
gCtx->canvas = canvasvbox;
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -118,9 +245,12 @@ main(int argc, char **argv)
|
|||
if (installer)
|
||||
{
|
||||
if ( (err = installer->ParseConfig()) == OK)
|
||||
err = installer->Run();
|
||||
err = installer->RunWizard(argc, argv);
|
||||
}
|
||||
else
|
||||
err = E_MEM;
|
||||
|
||||
XI_IF_DELETE(installer);
|
||||
exit(err);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,9 +25,17 @@
|
|||
#ifndef _NS_XINSTALLER_H_
|
||||
#define _NS_XINSTALLER_H_
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <stdio.h>
|
||||
#include "XIDefines.h"
|
||||
#include "XIErrors.h"
|
||||
|
||||
#include "nsINIParser.h"
|
||||
#include "nsLicenseDlg.h"
|
||||
#include "nsXIContext.h"
|
||||
|
||||
extern nsXIContext *gCtx;
|
||||
|
||||
class nsXInstaller
|
||||
{
|
||||
public:
|
||||
|
@ -35,13 +43,15 @@ public:
|
|||
~nsXInstaller();
|
||||
|
||||
int ParseConfig();
|
||||
int Run();
|
||||
|
||||
private:
|
||||
int StartWizard();
|
||||
int RunWizard(int argc, char **argv);
|
||||
int Download();
|
||||
int Extract();
|
||||
int Install();
|
||||
int Install();
|
||||
|
||||
private:
|
||||
int InitContext();
|
||||
int DrawLogo();
|
||||
int DrawNavButtons();
|
||||
};
|
||||
|
||||
int main(int argc, char **argv);
|
||||
|
|
|
@ -28,11 +28,13 @@
|
|||
#include <malloc.h>
|
||||
#include "XIErrors.h"
|
||||
|
||||
#include "nsINIParser.h"
|
||||
|
||||
/**
|
||||
* nsXInstallerDlg
|
||||
*
|
||||
* The interface for all installer dialogs. Helps maintain
|
||||
* uniform navigation mechanism and UI widgets.
|
||||
* uniform navigation mechanism, startup init, and UI widgets.
|
||||
*/
|
||||
class nsXInstallerDlg
|
||||
{
|
||||
|
@ -46,6 +48,8 @@ public:
|
|||
virtual int Back() = 0;
|
||||
virtual int Next() = 0;
|
||||
|
||||
virtual int Parse(nsINIParser *aParser) = 0;
|
||||
|
||||
/*-------------------------------------------------------------------*
|
||||
* INI Properties
|
||||
*-------------------------------------------------------------------*/
|
||||
|
@ -54,8 +58,6 @@ public:
|
|||
int SetTitle(char *aTitle);
|
||||
char *GetTitle();
|
||||
|
||||
// TO DO
|
||||
|
||||
enum
|
||||
{
|
||||
SKIP_DLG = 0,
|
||||
|
|
Загрузка…
Ссылка в новой задаче