Old 6th January 2008, 12:46   #1
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
UltraModernUI 1.00 beta 2 pre-release

Hello,

After nearly three years of waiting, I am pleased to announce the first pre-release of UltraModernUI 1.00 beta 2.

Changelog:

# UltraModernUI is resynchronised under Modern UI version 1.8.
# UltraModernUI include also a second interface named ModernUIEx. ModernUIEx is an extended version of Modern UI but with the new UltraModern pages support.
# UltraModernUI included henceforth three plugins that are supported natively :
* The SkinnedControls plugin. SkinnedControls is based on the wansis plug-in of Saivert and can skin all buttons of your NSIS installer like the most recent installers as well as the scrollbars (only for Windows 2000/XP/2003/Vista).
* The InstallOptionEx plugin. InstallOptionEx is writen by Diego Pedroso (deguix) and is an expanded version of InstallOptions containing many new features, with size drawback. This unofficial version, by SuperPat, contain a lot of bugfix necessary to the correct operation of some UltraModernUI pages.
* The NSISArray plugin. This plug-in written by Afrow UK, allows the support of the array in NSIS. It comes with plenty of functions for managing your arrays. This plugin is used with the AlternativeStartMenu and MultiLanguages Pages of UltraModernUI.

# All the Skin were remakes and twenty skins are now available. blue, blue2, SoftBlue, red, red2, SoftRed....

# Twenty background skins are now available. blue, blue2, SoftBlue, red, red2, SoftRed....

# New pages are available:
* MultiLanguage Page if you want to replace the MultiLanguage Plug-in.
* Maintenance Page with Repair, Modify, Uninstall and Continue Setup options.
* Update Page with Update, Uninstall and Continue Setup options.
* Informmation Page for viewing text and RichText files.
* SerialNumber Page.
* Setup Type Page with Minimal, Standard, Complete and Custom options.
* AlternativeStartMenu Page to replace the StartMenu Plug-in. It allow to use a TreeWiew instead of the ListView and can set the ShellVarContext
* Additional Tasks page.
* File and Disk Request Page.

# Left Text, Left Time and LeftMessageBox functions are removed.

# UltraModernUI is translated into two languages English and French an partially translated into German and Brazilian Portuguese.


TODO:

- The documentation is outdated and the SkinnedControls plugin documentation is non-existant. So you can see examples to see all properties.
- Need to rewrite one of the macros managing "UMUI Flags" (It allows, among other things, what options were chosen in the different pages ...).


I need your help for:

- Your feedback
- The translation of UltraModernUI into the other languages
- Creation of more skins
- The corrections of some InstallOptionsEx plug-in bugs:
* Transparent Icons are not transparent in the page...
* Button are not drawn if we use SkinnedControls plugin... whereas that work very well with InstallOptions.
- Improvement for SkinnedControls plug-in:
* Skin checkboxs and radiobuttons
* Skin progress bars
* Skin dropLists arrow

I plan to release the final version in March, 20th, the third anniversary of the release of the first version

Thanks in advance for your help.


Download

SuperPat is offline   Reply With Quote
Old 6th January 2008, 13:36   #2
Yathosho
Forum King
 
Yathosho's Avatar
 
Join Date: Jan 2002
Location: AT-DE
Posts: 3,347
can help with a translation into german
Yathosho is offline   Reply With Quote
Old 6th January 2008, 15:06   #3
Joost Verburg
NSIS MUI Dev
 
Join Date: Nov 2001
Posts: 3,717
Any plans to update it to the Modern UI version 2.0? MUI2 allows you to add additional pages to the standard MUI framework (see for example the Multi-User header file in SVN) and also makes it a lot easier to customize existing pages.

It should be possible to have an UltraModernUI as an extension of the standard MUI. Then it won't be a fork of the MUI and will share most of the scripts.
Joost Verburg is offline   Reply With Quote
Old 6th January 2008, 16:30   #4
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
Yes, I have plan to update to MUI2, but I prefer finalize this version, otherwise you would have to wait a lot more!


Take MUI2 need to rewrite several pages. Moreother, I am not sure that we can use the RichText and TreeView with nsDialg.


For UltraModernUI 2 I would need some features:

Would it be possible with nsDialg create customized messagesbox?

NsDialg might also add controls on static pages?

Is it possible to create a "timer" plugin who, at regular intervals, would call, in another thread, a nsis function?

SuperPat is offline   Reply With Quote
Old 6th January 2008, 21:48   #5
TonyDS
Senior Member
 
Join Date: Jul 2003
Posts: 151
Hi SuperPat

Can you let me know if LogicLib.nsh is already included in the new UMUI.nsh please? As I get an error when I try to compile my script.

This is the order I have my included *.nsh

!include "UMUI.nsh"
!include "Sections.nsh"
!include "FileFunc.nsh"
!include "LogicLib.nsh"

and this is the error

code:
!include: closed: "C:\Program Files\NSIS\Include\Sections.nsh"
!include: "C:\Program Files\NSIS\Include\FileFunc.nsh"
!define: "FILEFUNC_INCLUDED"=""
!include: closed: "C:\Program Files\NSIS\Include\FileFunc.nsh"
!include: "C:\Program Files\NSIS\Include\LogicLib.nsh"
!define: "Continue" already defined!
!include: error in script: "C:\Program Files\NSIS\Include\LogicLib.nsh" on line 582



I've been looking at both the UMUI.nsh and LogicLib.nsh and the error is correct, on line 61 of the UMUI.nsh you have

!define CONTINUE 512 ; set by MAINTENANCE and UPDATE pages

and on line 582 of the LogicLib.nsh it has the define

!define Continue `!insertmacro _Goto Continue "For or Do or While"`

I think you may have to change your Continue to something else

Edit; Default is also defined in both

Oh by the way thanks for the new Ultra Modern
TonyDS is offline   Reply With Quote
Old 7th January 2008, 08:35   #6
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
New build available 2008-01-07

I've just corrected this incompatibility.

Thanks TonyDS.

SuperPat is offline   Reply With Quote
Old 7th January 2008, 10:24   #7
thek
Member
 
thek's Avatar
 
Join Date: Jun 2006
Location: Austria
Posts: 92
Hi SuperPat
Thanks a lot for the release!

probably I don't need to rewrite the script for ModernUI 2 anymore :-)
thek is offline   Reply With Quote
Old 7th January 2008, 12:48   #8
TonyDS
Senior Member
 
Join Date: Jul 2003
Posts: 151
Sorry mate but nothing has changed

the date on the UMUI.NSH is still 05/01/08 18:57, I still get the same error
TonyDS is offline   Reply With Quote
Old 7th January 2008, 15:18   #9
Sheik
Senior Member
 
Join Date: Feb 2007
Posts: 152
Also, when I try to install "UltraModernUI_1.00_2008-01-07.exe" twice, the 2nd time it comes back with a "NSIS2 is not installed on your computer".
In fact, the first install appears to destroy any memory of the original install of the NSIS package.

When I install the "combined" NSIS + UMUI, it erases the NSIS package, and installs only a few of the packages in NSIS, so a lot of plugins are missing!

Scott
Sheik is offline   Reply With Quote
Old 7th January 2008, 16:14   #10
Sheik
Senior Member
 
Join Date: Feb 2007
Posts: 152
Also, during "Install files" page, when you do a "Show Details", the display of the install of the files in the SysListView is "jumpy".
It used to be smooth, not really sure whats wrong in there...

Scott
Sheik is offline   Reply With Quote
Old 7th January 2008, 17:07   #11
Sheik
Senior Member
 
Join Date: Feb 2007
Posts: 152
Hi SuperPat,

Also, this thread:
http://forums.winamp.com/showthread....76#post2141776

This appears to not have been added.
My "pre" function that calls INITDIALOG still has the problem where any custom pages do not have their backgrounds drawn correctly...
Sheik is offline   Reply With Quote
Old 7th January 2008, 19:35   #12
Sheik
Senior Member
 
Join Date: Feb 2007
Posts: 152
Hi SuperPat,

Also, The "confirm" page doesn't seem to correctly color the background...

Attached is a pic of the problem:
Attached Images
File Type: jpg problem.jpg (43.0 KB, 736 views)
Sheik is offline   Reply With Quote
Old 7th January 2008, 19:44   #13
Sheik
Senior Member
 
Join Date: Feb 2007
Posts: 152
For the last problem on the "confirm" page, the only way I have been able to resolve it, is by doing the following in the:
!macro UMUI_FUNCTION_CONFIRMPAGE "PRE" section:

!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "confirm.ini"
Pop $1
SetCtlColors $1 "" "${MUI_BGCOLOR}"
;fill the ini and set the color of all the controls in your page
GetDlgItem $0 $1 1200
SetCtlColors $0 ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}
GetDlgItem $0 $1 1201
SetCtlColors $0 ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}
GetDlgItem $0 $1 1202
SetCtlColors $0 ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}


ie, the suggestion given at this URL:
http://forums.winamp.com/showthread....76#post2141776


Scott
Sheik is offline   Reply With Quote
Old 8th January 2008, 07:56   #14
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
New build version 2008-01-08

I've really corrected the incompatibility with logiclib.
I've improve the UltraModernUI installer packages.


Quote:
My "pre" function that calls INITDIALOG still has the problem where any custom pages do not have their backgrounds drawn correctly...
If you want your page will be automatically skinned you have to use the INSTALLOPTIONS_DISPLAY or INSTALLOPTIONS_DISPLAY_RETURN macros.
The init dialog doesn't do this because if you set your own color into your pre function thes will be erase by the INSTALLOPTIONS_SHOW, INSTALLOPTIONS_SHOW_RETURN macros.


For the confirm page, I don't know why it is not skinned because th page use the INSTALLOPTIONS_DISPLAY macro. Can you send your example script?

SuperPat is offline   Reply With Quote
Old 8th January 2008, 18:59   #15
Sheik
Senior Member
 
Join Date: Feb 2007
Posts: 152
Hi SuperPat,

I will try to make a quick example script to show the problem.


Also, I have found a problem with the Welcome page.
It doesn't have the Welcome text in the upper part of the dialog like it used to.

I am attaching 2 pics, pic1 that is from the previous version of UMUI, and pic2 that uses the new UMUI.
Notice the top of the dialog...
Attached Images
File Type: jpg pic1.jpg (41.6 KB, 670 views)
Sheik is offline   Reply With Quote
Old 8th January 2008, 19:00   #16
Sheik
Senior Member
 
Join Date: Feb 2007
Posts: 152
Okay, I guess I can't do 2 attachments on the same message.
Attached is the 2nd of the pics.
Attached Images
File Type: jpg pic2.jpg (37.0 KB, 675 views)
Sheik is offline   Reply With Quote
Old 8th January 2008, 20:11   #17
Sheik
Senior Member
 
Join Date: Feb 2007
Posts: 152
BTW,

You fixed the "CONTINUE" problem by changing it to CONTINUE_SETUP

But you missed the "DEFAULT" problem.
It has the same issue. It conflicts with the name in LogicLib.

You need to change this:
!define DEFAULT 0 ; Default any flag set

To like "DEFAULT_SETUP", like you did with "CONTINUE_SETUP".
Sheik is offline   Reply With Quote
Old 9th January 2008, 08:10   #18
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
For the header texts on the welcome page, I withdraw there because they are empty in the InstallSheild intaller. Moreother, the same text was shown 3 times on the Welcome, finish, abort pages.
It is not a bug.


For the DEFAULT incompatibility, I will fix it tomorrow.

SuperPat is offline   Reply With Quote
Old 10th January 2008, 08:04   #19
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
New build Available: 2008-01-09

- Fixed incompatibility with logiclib.nsh the flag DEFAULT become DEFAULT_STATE
- Fixed bug in the UMUI package which remove NSIS key from the registry + some improvements.

SuperPat is offline   Reply With Quote
Old 11th January 2008, 16:36   #20
kichik
M.I.A.
[NSIS Dev, Mod]
 
kichik's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 11,342
Quote:
- Fixed incompatibility with logiclib.nsh the flag DEFAULT become DEFAULT_STATE
You should prefix any constants used by UMUI with UMUI_ or something similar. This way, there'd be no collisions with built-in stuff like LogicLib.

NSIS FAQ | NSIS Home Page | Donate $
"I hear and I forget. I see and I remember. I do and I understand." -- Confucius
kichik is offline   Reply With Quote
Old 22nd January 2008, 18:10   #21
evin
Junior Member
 
evin's Avatar
 
Join Date: Oct 2006
Location: Hungary
Posts: 21
I found 3 bugs. (in the picture with red arrow)
evin is offline   Reply With Quote
Old 22nd January 2008, 18:18   #22
kichik
M.I.A.
[NSIS Dev, Mod]
 
kichik's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 11,342
You forgot to attach the image.

NSIS FAQ | NSIS Home Page | Donate $
"I hear and I forget. I see and I remember. I do and I understand." -- Confucius
kichik is offline   Reply With Quote
Old 22nd January 2008, 18:31   #23
evin
Junior Member
 
evin's Avatar
 
Join Date: Oct 2006
Location: Hungary
Posts: 21
I attached the image, but I don't know what happened.

So, the image: 3bugs

I hope this working.

Last edited by evin; 22nd January 2008 at 18:52.
evin is offline   Reply With Quote
Old 23rd January 2008, 07:56   #24
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
Quote:
Originally posted by evin
I found 3 bugs. (in the picture with red arrow)
These are not bugs:
the background are not transparent because texts were superimposed when they change.

I never found how to erase texts before to be modified.

SuperPat is offline   Reply With Quote
Old 23rd January 2008, 08:45   #25
evin
Junior Member
 
evin's Avatar
 
Join Date: Oct 2006
Location: Hungary
Posts: 21
I hope, this problem soon resolve. Then it will be perfect.

(soon, I give you a Hungarian translation to the UMUIb2)
evin is offline   Reply With Quote
Old 23rd January 2008, 12:46   #26
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
If somebody has a solution to correct this problem, I am interested.

Thank for translation.

PS: your background image seems very sympathetic, you could perhaps send it to me to be integrated into UMUI

SuperPat is offline   Reply With Quote
Old 23rd January 2008, 14:30   #27
evin
Junior Member
 
evin's Avatar
 
Join Date: Oct 2006
Location: Hungary
Posts: 21
I made some transparent test with UMUIb1 (long time ago), but I just replaced the BGCOLOR scripts to Transparent. Almost worked.

The background was just a test image, to see, all text are transparented or not. I think it's very simply.

Modified Blue UMUI (the free Photoshop brush attached)
evin is offline   Reply With Quote
Old 24th January 2008, 11:36   #28
ameer
Junior Member
 
ameer's Avatar
 
Join Date: Jul 2007
Location: India
Posts: 30
good work, thanks. This resolved so many issues of mine.
ameer is offline   Reply With Quote
Old 30th January 2008, 11:49   #29
legcsabi
Junior Member
 
Join Date: Jan 2008
Posts: 7
UMUI_PAGE_FILEDISKREQUEST

Hi!
i would like to know how to use the new PageEx called
UMUI_PAGE_FILEDISKREQUEST?

I tried playing with the following commands:
var vv
!define UMUI_FILEDISKREQUESTPAGE_VARIABLE $vv
!define UMUI_FILEDISKREQUESTPAGE_FILE
!insertmacro UMUI_PAGE_FILEDISKREQUEST
but in vain, I always get a compiler error from UMUI on this line: DirVar "$${UMUI_FILEDISKREQUESTPAGE_VARIABLE}"

Has someone a working example on this page?
thx
legcsabi is offline   Reply With Quote
Old 30th January 2008, 12:42   #30
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
var dir
!define UMUI_FILEDISKREQUESTPAGE_VARIABLE dir
!define UMUI_FILEDISKREQUESTPAGE_VARIABLE_FILE_TO_FOUND "filetosearch"
!define UMUI_FILEDISKREQUESTPAGE_FILE ;use file request
!insertmacro UMUI_PAGE_FILEDISKREQUEST

SuperPat is offline   Reply With Quote
Old 30th January 2008, 13:40   #31
legcsabi
Junior Member
 
Join Date: Jan 2008
Posts: 7
testing beta2

Thanks for the reply, now it is working properly. UMUI beta2 has a lot of cool features, but I also noticed a serious problem: speed. I was playing with the preset examples provided with UMUI. Testing on a Pentium Dual Core computer having 3GB memory(!) it took me around 10-15 seconds to display the serialnumber page. The frame of the page gets loaded before the setup gets frozen. If you turn everything off in Function serial_function, it won't get frozen at all. Whenever turning a LABELEDSERIAL on (with its define), it takes longer and longer to load the page. Other pages - like the maintenance - also take a bit of time to load.
Something seems to me to be broken in the example with Update page. i built the example, installed it, tried to install it again, and there was no Update page displayed. The registry keys were created properly. It should resemble Maintenance page example, which is working properly.
legcsabi is offline   Reply With Quote
Old 30th January 2008, 15:03   #32
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
For update page:
Compile and install
edit the update.nsi example and change the UMUI_VERBUILD define (or you can also wait tomorrow)
Recompile and relaunch the installer
the update page appear!

For the execution time, I do not have any means to accelerate it.

SuperPat is offline   Reply With Quote
Old 31st January 2008, 15:03   #33
legcsabi
Junior Member
 
Join Date: Jan 2008
Posts: 7
interesting. I changed it to the following (taken from the maintenance example):

!define UMUI_VERSION "1.00 beta 2"
!define /date UMUI_VERBUILD "1.00_%Y-%m-%d"
!define UMUI_VERSION_REGISTRY_VALUENAME "Version"
!define UMUI_VERBUILD_REGISTRY_VALUENAME "VerBuild"
!define UMUI_UNINSTALLPATH_REGISTRY_VALUENAME "uninstallpath"
!define UMUI_INSTALLERFULLPATH_REGISTRY_VALUENAME "installpath"
!define UMUI_UNINSTALL_FULLPATH "$INSTDIR\Uninstall.exe"

but nothing changed
legcsabi is offline   Reply With Quote
Old 1st February 2008, 04:49   #34
fboner
Junior Member
 
Join Date: Feb 2008
Posts: 2
More background woes, variation on theme

Quote:
Originally posted by SuperPat

If you want your page will be automatically skinned you have to use the INSTALLOPTIONS_DISPLAY or INSTALLOPTIONS_DISPLAY_RETURN macros.
The init dialog doesn't do this because if you set your own color into your pre function thes will be erase by the INSTALLOPTIONS_SHOW, INSTALLOPTIONS_SHOW_RETURN macros.
Salut SuperPat,

My custom pages are working fine with the INIT/SHOW approach.

I have one 'standard' page, which I launch with a PRE function. As a result the page, actually the components page, background is 'old style' grey. Here is the code snippet:

code:
; Welcome page
!insertmacro MUI_PAGE_WELCOME

; Components page
;!insertmacro MUI_PAGE_COMPONENTS <- not used
Page components oninst.CheckInstalledJRE "" ""
...



If I ignore the Java check and use the stock !insertmacro MUI_PAGE_COMPONENTS everything is fine. I can't seem to find a way to do it when I launch the page in this manner:

Page components preMacro "" ""

Is there some way to fix this?

Merci!!!
fboner is offline   Reply With Quote
Old 1st February 2008, 07:43   #35
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
fboner:
you need to use INSTALLOPTIONS_DISPLAY or INSTALLOPTIONS_DISPLAY_RETURN instead of INIT/SHOW

and the page will be skinned automatically.


legcsabi: I don't understand your problem

SuperPat is offline   Reply With Quote
Old 1st February 2008, 18:18   #36
fboner
Junior Member
 
Join Date: Feb 2008
Posts: 2
Quote:
Originally posted by SuperPat
fboner:
you need to use INSTALLOPTIONS_DISPLAY or INSTALLOPTIONS_DISPLAY_RETURN instead of INIT/SHOW

and the page will be skinned automatically.
That would be true if I were using a 'custom' page with a corresponding .INI file. But I am not. I am using the Components page as defined by the UMUI, but calling it in a different manner than with INSERT_MACRO_XXX.

I rewrote the java function and now include it in my on.init, however, it would have been cleaner the other way around, espeically to be able to re-run the function automatically if the user backs up to the components section from a later page.

Thanks for your response...and thanks for the documentation...you rock!

F.

PS just a thought on the flickering scroll bar during the INSTFILES phase...perhaps you could resize the scroll button fewer times, and therefore redraw the scroll bar fewer times?? My app installs over a thousand files...so the flickering is quite intense.

Last edited by fboner; 1st February 2008 at 18:45.
fboner is offline   Reply With Quote
Old 9th February 2008, 14:02   #37
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
New build version 2008-02-09

- Based on NSIS 2.35
* set default language file for MUI without changing the user setting (LANGFILE_DEFAULT and UMUI_LANGFILE_DEFAULT defines)
- Fixed Bugs for the FileDiskRequest Page
- Add a FileDiskRequest example
- Fixed Bug with the (UN)UNIQUEIMAGE defines option. (From now, the PageBG example works fine)

Download

SuperPat is offline   Reply With Quote
Old 10th February 2008, 10:55   #38
legcsabi
Junior Member
 
Join Date: Jan 2008
Posts: 7
bug

Hi!

Thx for the new release, meanwhile I got the Update example working as well.
I found a serious bug in UMUI_PAGE_MULTILANGUAGE. Compared to MUI, function .onInit gets called twice if you use this page. First before the page gets displayed and secondly if the selected language of the combobox was changed. This misbehaviour can have a side-effect, for example my script was detecting in .onInit if it was already running, and if yes, it aborted itself. Since .onInit gets called twice, it aborted itself whenever I changed the setup language to other than the default...
legcsabi is offline   Reply With Quote
Old 10th February 2008, 11:19   #39
SuperPat
Senior Member
 
SuperPat's Avatar
 
Join Date: Mar 2006
Location: France
Posts: 206
In fact, when you choose an other language, the installer is reloaded:

You can bypass your ckecking by adding this code in your .onInit function:

code:
Function .onInit

!insertmacro UMUI_MULTILANG_GET

!insertmacro UMUI_IF_INSTALLFLAG_ISNOT ${UMUI_LANGISSET}

; Check if installer is already lauched only the first time

!insertmacro UMUI_ENDIF_INSTALLFLAG

; Eventualy other code

FunctionEnd





PS: I have forgotten yesterday to add in the changelog:
- All Install Flags are prfixed by UMUI_


Last edited by SuperPat; 10th February 2008 at 12:20.
SuperPat is offline   Reply With Quote
Old 11th February 2008, 08:47   #40
legcsabi
Junior Member
 
Join Date: Jan 2008
Posts: 7
InformationPage

Hi again

Thx for the solution for .onInit, it works. I noticed that the new InformationPage cannot use licenselangstrings (or langstrings) instead of file names like license page. Do you know a solution to make it multilingual (to display a separate information file for each language)?
legcsabi is offline   Reply With Quote
Reply
Go Back   Winamp & SHOUTcast Forums > Developer Center > NSIS Discussion

Tags
umui

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump