Jump to content
Sign in to follow this  
OliverA

Icon of wordpad

Recommended Posts

OliverA

Where i can find this icons and include it in my script without use external file?

Posted Image

Unrelated question, but i'm here :D

I have a string like:

MyString 12,23,42334,45 ( Other funny text 123 )

I have try to use StringRegExpReplace, but i have make two instead of one:

StringRegExpReplace($sString, "[0-9-,]", "") ; Remove digits and commas
StringRegExpReplace($sString, "\(.*?\)", ""); Remove every char between ( ) and ( ) also

How to combine to give me result only MyString? Thanks to all

Edited by OliverA

I'M QUIT FROM THIS FORUM!

It was fun until it lasted, hope on my future way i can't find people that offend without any reason ( i was called lazy and parasitic, and everyone agreed...United we stand, divided we fall ) just for fun because don't have anything to do in the life, without knowing anything about the person who write, noone forced to post, noone forced to help.

From the top of the from their very great superiority they not go down to my level, that people can not spread the knowledge but you have to learn by yourself.

In what way? It's easy...just search on google

For that people, wish you the best way,

Oliver Astone

Share this post


Link to post
Share on other sites
JLogan3o13

You can pull system icons out of the Shell32.dll file. Something like this:

You just need to know the index number of the icon you want.

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Local $msg
GUICreate("Test", 300, 300)
GUISetIcon(@SystemDir & "\SHELL32.dll", 28)
GUISetState(@SW_SHOW)

While 1
     $msg = GUIGetMsg()
Select
    Case $msg = $GUI_EVENT_CLOSE
     ExitLoop
EndSelect
WEnd
GUIDelete()
Edited by JLogan3o13

√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
Melba23

OliverA,

If you can find the icons you can put them into resources of your executable using the #AutoIt3Wrapper_Res_Icon_Add directive in AutoIt3Wrapper. ;)

And this Regex works for me on your string:

$sString = "MyString 12,23,42334,45 ( Other funny text 123 )"
$sNewString = StringRegExpReplace($sString, "(?U)\A(.*)\s.*\Z", "$1")
MsgBox(0, "New string", $sNewString)

Decode:

(?U)    - not greedy so look for smallest match
\A      - beginning of string
(.*)    - capture everything until
\s      - a space
.*\Z    - and the rest of the string until the end

$1      - replace it all with the captured group

All clear? :)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
OliverA

I can't see that type of icon in Shell32.dll :(

EDIT: Melba, i have forgot to say that the string is like an array and is separated with |, so it's like:

MyString 12,23,42334,45 ( Other funny text 123 )|Other text ( Other blabla )|I'm noob sorry 12,3243,34 ( Thers )

Result:

MyString|Other text|I'm noob sorry

You code not work becase i forgot that |, sorry

About the icons, i don't know where to find :D

Edited by OliverA

I'M QUIT FROM THIS FORUM!

It was fun until it lasted, hope on my future way i can't find people that offend without any reason ( i was called lazy and parasitic, and everyone agreed...United we stand, divided we fall ) just for fun because don't have anything to do in the life, without knowing anything about the person who write, noone forced to post, noone forced to help.

From the top of the from their very great superiority they not go down to my level, that people can not spread the knowledge but you have to learn by yourself.

In what way? It's easy...just search on google

For that people, wish you the best way,

Oliver Astone

Share this post


Link to post
Share on other sites
Melba23

OliverA,

So what do you want extracted from that string? "MyString|Other text|I'm" perhaps? If you do not tell us we cannot work out how to do it. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
OliverA

Both of three :D

I want this result

MyString|Other text|I'm noob sorry

My code:

$sString = "MyString 12,23,42334,45 ( Other funny text 123 )|Other text ( Other blabla )|I'm noob sorry 12,3243,34 ( Thers )"
$sTemp = StringRegExpReplace($sString, "[0-9-,]", "") ; Remove digits and commas
$sNewString = StringRegExpReplace($sTemp, "\(.*?\)", ""); Remove every char between ( ) and ( ) also
MsgBox(0, "New string", $sNewString)

I need to remove from the original string:

1) Numbers from 1-9

2) Commas

3) All the string between brackets and the brackets itselt

I'd like to use only one StringRegExpReplace instead of two, if possible. Thanks


I'M QUIT FROM THIS FORUM!

It was fun until it lasted, hope on my future way i can't find people that offend without any reason ( i was called lazy and parasitic, and everyone agreed...United we stand, divided we fall ) just for fun because don't have anything to do in the life, without knowing anything about the person who write, noone forced to post, noone forced to help.

From the top of the from their very great superiority they not go down to my level, that people can not spread the knowledge but you have to learn by yourself.

In what way? It's easy...just search on google

For that people, wish you the best way,

Oliver Astone

Share this post


Link to post
Share on other sites
Melba23

OliverA,

This seems to work:

#include <Array.au3>

$sString = "MyString 12,23,42334,45 ( Other funny text 123 )|Other text ( Other blabla )|I'm noob sorry 12,3243,34 ( Thers )"

$aNewString = StringRegExp($sString, "(?U)(?:\A|\|)(\D*)(?:\s\d|\s\()", 3)

_ArrayDisplay($aNewString)

Decode:

(?U)            - Not greedy
(?:\A|\|)       - Do not capture - look for beginning of string or |
(\D*)           - Capture everything until
(?:\s\d|\s\()   - Do not capture - either space + digit or space + (

3               - Return an array of matches

All good now? :)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
OliverA

Sorry Melba there is a little problem...i need a string, not an array :D

In the paramenter of StringRegExp can return only an array, can you convert to StringRegExpReplace? I have try with:

StringRegExpReplace($sString, "(?U)(?:\A|\|)(\D*)(?:\s\d|\s\()", "")

But not work. Thanks


I'M QUIT FROM THIS FORUM!

It was fun until it lasted, hope on my future way i can't find people that offend without any reason ( i was called lazy and parasitic, and everyone agreed...United we stand, divided we fall ) just for fun because don't have anything to do in the life, without knowing anything about the person who write, noone forced to post, noone forced to help.

From the top of the from their very great superiority they not go down to my level, that people can not spread the knowledge but you have to learn by yourself.

In what way? It's easy...just search on google

For that people, wish you the best way,

Oliver Astone

Share this post


Link to post
Share on other sites
Melba23

OliverA,

Dog eaten your Help file? :whistle:

Take a look here. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
JohnQSmith

i need a string, not an array

Loop through the array and build a new string.

Edit: Or what M23 said...

Edited by JohnQSmith

Whenever someone says "pls" because it's shorter than "please", I say "no" because it's shorter than "yes".

Share this post


Link to post
Share on other sites
OliverA

Sorry Melba, but why i need to convert the Array of StringRegExp insted to do directly with StringRegExpReplace?

It's not possible to do with StringRegExpReplace in one line?

Thanks


I'M QUIT FROM THIS FORUM!

It was fun until it lasted, hope on my future way i can't find people that offend without any reason ( i was called lazy and parasitic, and everyone agreed...United we stand, divided we fall ) just for fun because don't have anything to do in the life, without knowing anything about the person who write, noone forced to post, noone forced to help.

From the top of the from their very great superiority they not go down to my level, that people can not spread the knowledge but you have to learn by yourself.

In what way? It's easy...just search on google

For that people, wish you the best way,

Oliver Astone

Share this post


Link to post
Share on other sites
Melba23

OliverA,

I do not believe it is possible to do it with a single RegEx - but perhaps one of gurus might be able to suggest something. :(

But why the burning need to do it one line? :huh:

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
OliverA

OliverA,

But why the burning need to do it one line? :huh:

Because RegEx is slow and do two times the same thing can slow the process, one it's better of two :D


I'M QUIT FROM THIS FORUM!

It was fun until it lasted, hope on my future way i can't find people that offend without any reason ( i was called lazy and parasitic, and everyone agreed...United we stand, divided we fall ) just for fun because don't have anything to do in the life, without knowing anything about the person who write, noone forced to post, noone forced to help.

From the top of the from their very great superiority they not go down to my level, that people can not spread the knowledge but you have to learn by yourself.

In what way? It's easy...just search on google

For that people, wish you the best way,

Oliver Astone

Share this post


Link to post
Share on other sites
Melba23

OliverA,

Because RegEx is slow

Rubbish - PCRE is blindingly fast which is why it is used so much! ;)

What size is the string you are feeding it? :huh:

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
OliverA

Many char :D

I'll use 2 RegEx as you suggested

My last question about this. It's possible to remove duplicate? Like:

Test|My test 2|Another Test|Test|Something

Result:

Test|My test 2|Another Test|Something

Thanks


I'M QUIT FROM THIS FORUM!

It was fun until it lasted, hope on my future way i can't find people that offend without any reason ( i was called lazy and parasitic, and everyone agreed...United we stand, divided we fall ) just for fun because don't have anything to do in the life, without knowing anything about the person who write, noone forced to post, noone forced to help.

From the top of the from their very great superiority they not go down to my level, that people can not spread the knowledge but you have to learn by yourself.

In what way? It's easy...just search on google

For that people, wish you the best way,

Oliver Astone

Share this post


Link to post
Share on other sites
Melba23

OliverA,

I did not suggest using 2 RegExes - I suggested using a RegEx and _ArrayToString. ;)

And if you want to remove the duplicates then run_ArrayUnique on the array returned by the RegEx before you turn it into a string. :)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
OliverA

Oh, ok perfect. I'll search for the first question and let you know :D


I'M QUIT FROM THIS FORUM!

It was fun until it lasted, hope on my future way i can't find people that offend without any reason ( i was called lazy and parasitic, and everyone agreed...United we stand, divided we fall ) just for fun because don't have anything to do in the life, without knowing anything about the person who write, noone forced to post, noone forced to help.

From the top of the from their very great superiority they not go down to my level, that people can not spread the knowledge but you have to learn by yourself.

In what way? It's easy...just search on google

For that people, wish you the best way,

Oliver Astone

Share this post


Link to post
Share on other sites
johnmcloud

Where i can find this icons and include it in my script without use external file?

Posted Image

Something like this?

#include <GuiToolbar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>

Global $aToolTip[15] = ["", " New ", " Open ", " Save ", " Print ", " Preview ", " Find ", " Replace ", " Cut ", " Copy ", " Paste ", "Delete", " Undo ", " Redo", " Help "]
Global Enum $idNew = 1000, $idOpen, $idSave, $idPrint, $idPrintPre, $idFind, $idReplace, $idCut, $idCopy, $idPaste, $idDelete, $idUndo, $idRedow, $idHelp
Global $iItem

$hGUI = GUICreate("Toolbar Test", 400, 300)
Global $Edit = GUICtrlCreateEdit("", 7, 35, 386, 239)
Global $hToolbar = _GUICtrlToolbar_Create($hGUI)
Switch _GUICtrlToolbar_GetBitmapFlags($hToolbar)
 Case 0
  _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_SMALL_COLOR)
 Case 2
  _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
EndSwitch
GUISetState(@SW_SHOW)

GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")

; Add buttons
_GUICtrlToolbar_AddButtonSep($hToolbar, 10)
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW)
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE)
_GUICtrlToolbar_AddButtonSep($hToolbar, 10)
_GUICtrlToolbar_AddButton($hToolbar, $idPrint, $STD_PRINT)
_GUICtrlToolbar_AddButton($hToolbar, $idPrintPre, $STD_PRINTPRE)
_GUICtrlToolbar_AddButtonSep($hToolbar, 10)
_GUICtrlToolbar_AddButton($hToolbar, $idFind, $STD_FIND)
_GUICtrlToolbar_AddButton($hToolbar, $idReplace, $STD_REPLACE)
_GUICtrlToolbar_AddButtonSep($hToolbar, 10)
_GUICtrlToolbar_AddButton($hToolbar, $idCut, $STD_CUT)
_GUICtrlToolbar_AddButton($hToolbar, $idCopy, $STD_COPY)
_GUICtrlToolbar_AddButton($hToolbar, $idPaste, $STD_PASTE)
_GUICtrlToolbar_AddButton($hToolbar, $idDelete, $STD_DELETE)
_GUICtrlToolbar_AddButtonSep($hToolbar, 10)
_GUICtrlToolbar_AddButton($hToolbar, $idUndo, $STD_UNDO)
_GUICtrlToolbar_AddButton($hToolbar, $idRedow, $STD_REDOW)
_GUICtrlToolbar_AddButtonSep($hToolbar, 10)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)
_GUICtrlToolbar_SetIndent($hToolbar, 1)

; Create Menu
$iFileMenu = GUICtrlCreateMenu("&File")
$iExit = GUICtrlCreateMenuItem("Exit", $iFileMenu)
$iHelpMenu = GUICtrlCreateMenu("?")
$iInfoItem = GUICtrlCreateMenuItem("Info", $iHelpMenu)

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit
  Case $iInfoItem
   MsgBox(64, "Test", "Test by Johnmcloud")
  Case $iExit
   Exit
 EndSwitch
WEnd

Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
 #forceref $hWndGUI, $MsgID, $wParam
 Local $tNMHDR, $hwndFrom, $code, $i_idNew, $i_idOld, $dwFlags
 Local $tNMTBHOTITEM
 $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
 $hwndFrom = DllStructGetData($tNMHDR, "hWndFrom")
 $code = DllStructGetData($tNMHDR, "Code")
 Switch $hwndFrom
  Case $hToolbar
   Switch $code
    Case $NM_LDOWN
     ToolTip("")
     Switch $iItem - 999
      Case 1 ; First element
       MsgBox(0, 0, "New was pressed")
       GUICtrlSetData($Edit, "")
       _GUICtrlToolbar_EnableButton($hToolbar, $idSave, True)
      Case 3 ; Click and disable save
       Do
        Sleep(100)
       Until _GUICtrlToolbar_IsButtonPressed($hToolbar, $idSave) = False
       _GUICtrlToolbar_EnableButton($hToolbar, $idSave, False)
      Case 14 ; Last element
       MsgBox(0, 0, "Help was pressed")
     EndSwitch
    Case $TBN_HOTITEMCHANGE
     $tNMTBHOTITEM = DllStructCreate($tagNMTBHOTITEM, $lParam)
     $i_idOld = DllStructGetData($tNMTBHOTITEM, "idOld")
     $i_idNew = DllStructGetData($tNMTBHOTITEM, "idNew")
     $dwFlags = DllStructGetData($tNMTBHOTITEM, "dwFlags")
     $iItem = $i_idNew
     If BitAND($dwFlags, $HICF_LEAVING) <> $HICF_LEAVING Then
      Switch $iItem - 999
       Case 1 To 14
        ToolTip($aToolTip[$iItem - 999])
      EndSwitch
     ElseIf BitAND($dwFlags, $HICF_LEAVING) = $HICF_LEAVING Then
      ToolTip("")
     EndIf
   EndSwitch
 EndSwitch
 Return $GUI_RUNDEFMSG
EndFunc   ;==>_WM_NOTIFY
Edited by johnmcloud

Share this post


Link to post
Share on other sites
johnmcloud

I have update the code and working fine, only one unexpected behavior, when you click on a button and start a MsgBox, after that the fist icon ( The "New" ) is highlighted and the tooltip don't disappeard until you go on another icon.

Experts needs :D

EDIT: Done, i have add an edit and the behavior was disappear. Code updated

Edited by johnmcloud

Share this post


Link to post
Share on other sites
OliverA

Thanks johnmcloud, great work :thumbsup:

Thanks to melba too for yesterday, as always :D


I'M QUIT FROM THIS FORUM!

It was fun until it lasted, hope on my future way i can't find people that offend without any reason ( i was called lazy and parasitic, and everyone agreed...United we stand, divided we fall ) just for fun because don't have anything to do in the life, without knowing anything about the person who write, noone forced to post, noone forced to help.

From the top of the from their very great superiority they not go down to my level, that people can not spread the knowledge but you have to learn by yourself.

In what way? It's easy...just search on google

For that people, wish you the best way,

Oliver Astone

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×