亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? skins.tcl

?? Linux下的MSN聊天程序源碼
?? TCL
?? 第 1 頁 / 共 3 頁
字號:
		set skins [glob -directory skins */settings.xml]		set skins_in_home [glob -nocomplain -directory [file join $HOME skins] */settings.xml]		set skins_in_home2 [glob -nocomplain -directory [file join $HOME2 skins] */settings.xml]		set skins_in_extras [glob -nocomplain -directory [file join $HOME2 amsn-extras skins] */settings.xml]		set skins [concat $skins $skins_in_home $skins_in_home2 $skins_in_extras]		set skinlist [list]		foreach skin $skins {			set dir [file dirname $skin]			set desc ""			if { [file readable [file join $dir desc.txt] ] } {				set fd [open [file join $dir desc.txt]]				set desc [string trim [read $fd]]				close $fd			}			set lastslash [expr {[string last "/" $dir]+1}]			set skinname [list [string range $dir $lastslash end]]			status_log "Skin: $skin. Dir is: $dir. Skinname: $skinname. Desc: $desc\n" white			lappend skinname $desc			lappend skinlist $skinname		}		return $skinlist	}	################################################################	# ::skin::SetConfigKeys (cstack cdata saved_data cattr saved_attr args)	# This procedure loads the skin's data from settings.xml into	# the proper variables. Arguments supplied by the XML parser.	proc SetConfigKeys {cstack cdata saved_data cattr saved_attr args} {		upvar $saved_data sdata		foreach key [array names sdata] {			::skin::setKey [string range $key [expr {[string length $cstack] + 1}] [string length $key]] [string trim $sdata($key)]		}		# This bits are used to override certain keys loaded before with specific values for MacOS X (TkAqua)	#	if { ![catch {tk windowingsystem} wsystem] && $wsystem == "aqua" } {	#		if { [info exists sdata(${cstack}:chatwindowbg)] } { ::skin::setKey buttonbarbg [string trim $sdata(${cstack}:chatwindowbg)] }	#			::skin::setKey chat_top_border 0	#			::skin::setKey chat_output_border 0	#			::skin::setKey chat_buttons_border 0	#			::skin::setKey chat_input_border 0	#			::skin::setKey chat_status_border 0	#				#			::skin::setKey chat_paned_padx 0	#			::skin::setKey chat_paned_pady 0	#				#			::skin::setKey chat_status_padx 0	#			::skin::setKey chat_status_pady 0	#				#			::skin::setKey chat_top_padx 0	#			::skin::setKey chat_top_pady 0	#				#			::skin::setKey chat_output_padx 0	#			::skin::setKey chat_output_pady 0	#				#			::skin::setKey chat_sendbutton_padx 0	#			::skin::setKey chat_sendbutton_pady 0	#	}		# Procedures binded to the XML parser must ALWAYS return 0		return 0	}}namespace eval ::skinsGUI {	################################################################	# ::skinsGUI::SelectSkin ()	# This procedure creates the skins selector window and shows it.	proc SelectSkin { } {		set w .skin_selector		if { [winfo exists $w] } {			focus $w			raise $w			return		}		toplevel $w		wm resizable $w 0 0		wm title $w "[trans chooseskin]"		wm geometry $w +100+100		label $w.choose -text "[trans chooseskin]" -font bboldf		pack $w.choose -side top		label $w.restart -text "[trans restartforskin]" -fg #FF0000                pack $w.restart -side top		frame $w.main -relief solid -borderwidth 2		frame $w.main.left -relief flat		frame $w.main.right -relief flat		frame $w.main.left.images -relief flat		text $w.main.left.desc -height 6 -width 40 -relief flat -background [::skin::getKey mainwindowbg] \			-font sboldf -wrap word		listbox $w.main.right.box -yscrollcommand "$w.main.right.ys set" -font splainf -background \			white -relief flat -highlightthickness 0  -height 8 -width 30		scrollbar $w.main.right.ys -command "$w.main.right.box yview" -highlightthickness 0 \			-borderwidth 1 -elementborderwidth 2		bind $w <<Escape>> "::skinsGUI::SelectSkinCancel $w"		pack $w.main.left.images -in $w.main.left -side top -expand 0 -fill both		pack $w.main.left.desc -in $w.main.left -side bottom -expand 1 -fill both		pack $w.main.left -in $w.main -side left -expand 1 -fill both		pack $w.main.right.ys -side right -fill both		pack $w.main.right.box -side left -expand 0 -fill both		pack $w.main.right -side right -expand 1 -fill both		pack $w.main -expand 1 -fill both		label $w.status -text ""		pack $w.status -side bottom#		image create photo blank -width 1 -height 75#		label $w.main.left.images.blank -image blank#		image create photo blank2 -width 400 -height 1#		label $w.main.left.images.blank2 -image blank2		set select -1		set idx 0		label $w.getmore -text "[trans getmoreskins]" -fg #0000FF		button $w.ok -text "[trans ok]" -command "::skinsGUI::SelectSkinOk $w" 		button $w.cancel -text "[trans cancel]" -command "::skinsGUI::SelectSkinCancel $w" 		checkbutton $w.preview -text "[trans preview]" -variable ::skin::preview_skin_change -onvalue 1 -offvalue 0				pack $w.getmore -side left -padx 5	        bind $w.getmore <Enter> "$w.getmore configure -font sunderf"	        bind $w.getmore <Leave> "$w.getmore configure -font splainf"		bind $w.getmore <ButtonRelease> "launch_browser $::weburl/skins.php"							pack $w.ok  $w.cancel $w.preview -side right -pady 5 -padx 5		set the_skins [::skin::FindSkins]		foreach skin $the_skins {			if { [lindex $skin 0] == [::config::getGlobalKey skin] } { set select $idx } 			$w.main.right.box insert end "[lindex $skin 0]"			incr idx		}		set ::skin::skin_reloaded_needs_reset 0		if { $select == -1 } {			set select 0			status_log "selecy = 0 --- didn't find current skin defaulting to first"			$w.main.right.box selection set $select	 		$w.main.right.box itemconfigure $select -background #AAAAAA			set currentskin [lindex [lindex $the_skins 0] 0]			if { $::skin::preview_skin_change == 1 } {				set ::skin::skin_reloaded_needs_reset 1				::skin::reloadSkin $currentskin			}		} else {			status_log "select = $select --- [::config::getGlobalKey skin]\n"			$w.main.right.box selection set $select			$w.main.right.box itemconfigure $select -background #AAAAAA		}			::skinsGUI::DoPreview 1		bind $w <Destroy> "grab release $w"		bind $w.main.right.box <Button1-ButtonRelease> "::skinsGUI::DoPreview"		moveinscreen $w 30	}	################################################################	# ::skinsGUI::DoPreview ([skip_reload])	# Updates the preview images (or skin if selected) when changing	# the skin selection.	# Arguments:	#  - skip_reload => Don't reload the skin for preview.	proc DoPreview { {skip_reload 0} } {		set w .skin_selector		set the_skins [::skin::FindSkins]		set currentskin [lindex [lindex $the_skins [$w.main.right.box curselection]] 0]		set currentdesc [lindex [lindex $the_skins [$w.main.right.box curselection]] 1]		::skinsGUI::ClearPreview		# If our skin hasn't the example images, take them from the default one		image create photo preview1 -file [::skin::GetSkinFile pixmaps prefpers.gif $currentskin] -format cximage		image create photo preview2 -file [::skin::GetSkinFile pixmaps bonline.gif $currentskin] -format cximage		image create photo preview3 -file [::skin::GetSkinFile pixmaps offline.gif $currentskin] -format cximage		image create photo preview4 -file [::skin::GetSkinFile pixmaps baway.gif $currentskin] -format cximage		image create photo preview5 -file [::skin::GetSkinFile pixmaps amsnicon.gif $currentskin] -format cximage		image create photo preview6 -file [::skin::GetSkinFile pixmaps butblock.gif $currentskin] -format cximage		image create photo preview7 -file [::skin::GetSkinFile pixmaps butsmile.gif $currentskin] -format cximage		image create photo preview8 -file [::skin::GetSkinFile pixmaps butsend.gif $currentskin] -format cximage			label $w.main.left.images.1 -image preview1		label $w.main.left.images.2 -image preview2		label $w.main.left.images.3 -image preview3		label $w.main.left.images.4 -image preview4		label $w.main.left.images.5 -image preview5		label $w.main.left.images.6 -image preview6		label $w.main.left.images.7 -image preview7		label $w.main.left.images.8 -image preview8		grid $w.main.left.images.1 -in $w.main.left.images -row 1 -column 1		grid $w.main.left.images.2 -in $w.main.left.images -row 1 -column 2		grid $w.main.left.images.3 -in $w.main.left.images -row 1 -column 3		grid $w.main.left.images.4 -in $w.main.left.images -row 1 -column 4		grid $w.main.left.images.5 -in $w.main.left.images -row 1 -column 5		grid $w.main.left.images.6 -in $w.main.left.images -row 1 -column 6		grid $w.main.left.images.7 -in $w.main.left.images -row 1 -column 7		grid $w.main.left.images.8 -in $w.main.left.images -row 1 -column 8#		grid $w.main.left.images.blank -in $w.main.left.images -row 1 -column 10#		grid $w.main.left.images.blank2 -in $w.main.left.images -row 2 -column 1 -columnspan 8		$w.main.left.desc configure -state normal		$w.main.left.desc delete 0.0 end		$w.main.left.desc insert end "[trans description]\n\n$currentdesc"		$w.main.left.desc configure -state disabled			if { (!$skip_reload) && $::skin::preview_skin_change == 1 } {			set ::skin::skin_reloaded_needs_reset 1			::skin::reloadSkin $currentskin		}	}	################################################################	# ::skinsGUI::ClearPreview ()	# Destroys every preview image on the skin selector.	proc ClearPreview { } {		if {[winfo exists .skin_selector.main.left.images]} {			destroy .skin_selector.main.left.images.1			destroy .skin_selector.main.left.images.2			destroy .skin_selector.main.left.images.3			destroy .skin_selector.main.left.images.4			destroy .skin_selector.main.left.images.5			destroy .skin_selector.main.left.images.6			destroy .skin_selector.main.left.images.7			destroy .skin_selector.main.left.images.8		}		catch {#TODO the destruction of the images should be binded to the destruction of the widget they're in			image delete preview1			image delete preview2			image delete preview3			image delete preview4			image delete preview5			image delete preview6			image delete preview7			image delete preview8		}	}	################################################################	# ::skinsGUI::SelectSkinOk (w)	# Checks if your selection is valid, if it is, it applies changes.	# This procedure is called when OK in skin selector is pressed.	# Arguments:	#  - w => Path of the widget skin selector.	proc SelectSkinOk { w } {		if { [$w.main.right.box curselection] == "" } {			$w.status configure -text "[trans selectskin]"		} else {			$w.status configure -text ""			set skinidx [$w.main.right.box curselection]			set skin [lindex [lindex [::skin::FindSkins] $skinidx] 0]			status_log "Chose skin No $skinidx : $skin\n"			config::setGlobalKey skin $skin			save_config			::config::saveGlobal			unset ::skin::skin_reloaded_needs_reset			::skin::reloadSkin $skin			destroy $w			ClearPreview		}	}	################################################################	# ::skinsGUI::SelectSkinCancel (w)	# Checks if we need to reload current skin and destroys the selector.	# This procedure is called when Cancel in skin selector is pressed.	# Arguments:	#  - w => Path of the widget skin selector.	proc SelectSkinCancel { w } {		if { $::skin::skin_reloaded_needs_reset } {			::skin::reloadSkin [::config::getGlobalKey skin]		}		unset ::skin::skin_reloaded_needs_reset		destroy $w		ClearPreview	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩中字一区| 天天综合日日夜夜精品| 亚洲精品高清在线观看| 亚洲香肠在线观看| 国产一区91精品张津瑜| youjizz久久| 欧美日韩一区小说| 2021中文字幕一区亚洲| 亚洲人成网站影音先锋播放| 亚洲成人综合网站| 国产风韵犹存在线视精品| 日本高清成人免费播放| 欧美va在线播放| 一区二区三区在线视频观看58 | 91黄色免费观看| 91免费观看在线| av电影一区二区| 欧美理论片在线| 国产精品免费看片| 日本中文字幕不卡| 91老师国产黑色丝袜在线| 日韩一级二级三级| 亚洲精品少妇30p| 国产精品一区二区免费不卡| 欧美性猛交xxxx黑人交| 久久色成人在线| 日韩专区一卡二卡| 91免费观看在线| 欧美国产精品劲爆| 麻豆精品精品国产自在97香蕉| 91免费视频观看| 中文字幕的久久| 久久国产精品免费| 欧美日韩精品欧美日韩精品一| 国产精品毛片久久久久久| 男女性色大片免费观看一区二区| 色综合色狠狠综合色| 久久精品男人天堂av| 亚洲一区二区三区四区五区中文 | 2020国产精品| 午夜av一区二区三区| 99在线精品视频| 久久一区二区视频| 麻豆国产欧美日韩综合精品二区| 日本丶国产丶欧美色综合| 国产精品网站在线| 国产精一区二区三区| 欧美一区二区在线看| 亚洲国产精品影院| 91蜜桃在线观看| 亚洲欧洲精品一区二区三区不卡| 国产一区二区三区高清播放| 欧美一区二区三区思思人| 一区二区三区日韩在线观看| 成人18精品视频| 国产精品毛片无遮挡高清| 国产精品一区二区免费不卡| 精品久久久久久久久久久久久久久| 偷拍一区二区三区| 欧美性一二三区| 亚洲美腿欧美偷拍| 99re热这里只有精品视频| 欧美国产综合一区二区| 国产成人鲁色资源国产91色综| 日韩欧美国产三级| 看国产成人h片视频| 欧美一区二区大片| 日本亚洲视频在线| 91精品国产91久久久久久最新毛片 | 国产精品2024| 精品动漫一区二区三区在线观看| 久久国产尿小便嘘嘘尿| 日韩午夜三级在线| 伦理电影国产精品| 精品sm在线观看| 国产在线精品不卡| 国产午夜精品一区二区三区视频 | 综合久久国产九一剧情麻豆| 成人国产在线观看| 自拍偷自拍亚洲精品播放| 91视频91自| 亚洲已满18点击进入久久| 欧美日韩激情一区| 日韩电影一区二区三区| 精品少妇一区二区三区视频免付费| 韩国欧美一区二区| 国产蜜臀av在线一区二区三区| 成人性生交大片免费| 亚洲免费资源在线播放| 欧美日韩国产高清一区| 日本欧美久久久久免费播放网| 精品日韩一区二区三区免费视频| 国产精品亚洲一区二区三区妖精 | 色悠久久久久综合欧美99| 一区二区三区欧美亚洲| 在线播放亚洲一区| 激情综合色播激情啊| 国产精品美女久久久久高潮| 91蝌蚪porny| 免费人成黄页网站在线一区二区| 久久蜜桃香蕉精品一区二区三区| 成人国产在线观看| 天天影视网天天综合色在线播放| www激情久久| 91猫先生在线| 奇米影视一区二区三区小说| 国产婷婷一区二区| 91国偷自产一区二区三区观看 | 欧美国产一区在线| 色综合久久中文综合久久牛| 日韩国产一二三区| 国产亚洲人成网站| 色天使久久综合网天天| 免费成人av在线| 国产精品高清亚洲| 在线不卡一区二区| 国产超碰在线一区| 午夜电影网亚洲视频| 日本一区二区免费在线| 欧美精品久久天天躁| 国产成人8x视频一区二区| 亚洲一区二区在线视频| 久久久久久99精品| 欧美日韩精品一区二区三区蜜桃| 国产精品1区二区.| 日本成人中文字幕| 综合色天天鬼久久鬼色| 精品国产污污免费网站入口| 欧美在线观看一二区| 国产精品一卡二卡| 亚洲国产精品欧美一二99| 国产亚洲综合色| 欧美精品丝袜久久久中文字幕| 成人激情图片网| 国内不卡的二区三区中文字幕| 亚洲精品高清在线| 国产欧美一区二区精品秋霞影院| 欧美人与禽zozo性伦| av毛片久久久久**hd| 韩国三级电影一区二区| 亚洲国产精品一区二区www在线 | 欧美在线免费播放| 成人av午夜电影| 精品一区二区三区蜜桃| 亚洲一区二区中文在线| 国产精品久久久久久福利一牛影视 | 欧美二区乱c少妇| 99re这里只有精品6| 国产精品一区二区黑丝| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲精品欧美激情| 欧美韩国日本不卡| 久久久激情视频| 精品美女一区二区三区| 欧美精品18+| 欧美日韩国产天堂| eeuss影院一区二区三区| 国内成人免费视频| 精品一区二区三区欧美| 青青草97国产精品免费观看无弹窗版| 亚洲一区在线视频观看| 一区二区三区丝袜| 亚洲黄色av一区| 亚洲女爱视频在线| 亚洲欧美日韩国产一区二区三区| 国产精品无人区| 欧美国产日韩亚洲一区| 久久久久国产一区二区三区四区| 亚洲精品一线二线三线无人区| 欧美一卡二卡三卡| 欧美一级在线视频| 日韩欧美亚洲一区二区| 日韩欧美一区二区久久婷婷| 日韩欧美一区二区免费| 日韩视频一区二区三区在线播放 | 国产一区二区三区免费看| 美国毛片一区二区三区| 日韩激情一二三区| 亚洲高清在线精品| 午夜精品一区二区三区三上悠亚| 亚洲综合一区二区精品导航| 亚洲综合久久av| 一区二区免费在线播放| 亚洲综合成人在线| 五月激情综合婷婷| 视频一区国产视频| 日本91福利区| 精品在线观看视频| 国产一区二区三区在线观看精品 | 国产精品乱码妇女bbbb| 中文字幕精品综合| 亚洲欧美日韩一区| 亚洲福利一区二区三区| 五月激情综合网| 精品亚洲成a人| 国产成人精品一区二区三区四区| 国产69精品久久久久777| www.色综合.com| 欧美视频自拍偷拍| 日韩一级二级三级|