[Tkabber-dev] r715 - in trunk/tkabber: . examples/tools ifacetk jabberlib-tclxml msgs

tkabber-svn at jabber.ru tkabber-svn at jabber.ru
Sat Sep 16 18:33:01 MSD 2006


Author: sergei
Date: 2006-09-16 18:32:53 +0400 (Sat, 16 Sep 2006)
New Revision: 715

Modified:
   trunk/tkabber/ChangeLog
   trunk/tkabber/examples/tools/jsend.tcl
   trunk/tkabber/examples/tools/rssbot.tcl
   trunk/tkabber/hooks.tcl
   trunk/tkabber/ifacetk/bwidget_workarounds.tcl
   trunk/tkabber/ifacetk/idefault.tcl
   trunk/tkabber/jabberlib-tclxml/jabberlib.tcl
   trunk/tkabber/jabberlib-tclxml/pkgIndex.tcl
   trunk/tkabber/msgs/ru.msg
   trunk/tkabber/splash.tcl
   trunk/tkabber/tkabber.tcl
Log:
	* jabberlib-tclxml/jabberlib.tcl, jabberlib-tclxml/pkgIndex.tcl,
	  examples/tools/jsend.tcl, examples/tools/rssbot.tcl: Bumped
	  jabberlib version to 0.10.0 (because of changes in
	  client:roster arguments).

	* hooks.tcl: Use bgerror for displaying error messages in hooks.

	* splash.tcl: Wrapped bgerror to hide splash window when error
	  occurs. Improved splash progress messages.

	* tkabber.tcl: Slightly changed order of loading modules making
	  messages in splash window to flash less frequently.

	* ifacetk/idefault.tcl: Bugfix. Removed binding for <6> and <7>
	  events, since they are ambiguous. Bind scrolling events only
	  in x11 environment.

	* ifacetk/bwidget_workarounds.tcl: Made using auto_load to load
	  BWidget scripts instead of creating and destroying widgets.

	* msgs/ru.msg: Updated.


Modified: trunk/tkabber/ChangeLog
===================================================================
--- trunk/tkabber/ChangeLog	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/ChangeLog	2006-09-16 14:32:53 UTC (rev 715)
@@ -1,3 +1,27 @@
+2006-09-16  Sergei Golovan  <sgolovan at nes.ru>
+
+	* jabberlib-tclxml/jabberlib.tcl, jabberlib-tclxml/pkgIndex.tcl,
+	  examples/tools/jsend.tcl, examples/tools/rssbot.tcl: Bumped
+	  jabberlib version to 0.10.0 (because of changes in
+	  client:roster arguments).
+
+	* hooks.tcl: Use bgerror for displaying error messages in hooks.
+
+	* splash.tcl: Wrapped bgerror to hide splash window when error
+	  occurs. Improved splash progress messages.
+
+	* tkabber.tcl: Slightly changed order of loading modules making
+	  messages in splash window to flash less frequently.
+
+	* ifacetk/idefault.tcl: Bugfix. Removed binding for <6> and <7>
+	  events, since they are ambiguous. Bind scrolling events only
+	  in x11 environment.
+
+	* ifacetk/bwidget_workarounds.tcl: Made using auto_load to load
+	  BWidget scripts instead of creating and destroying widgets.
+
+	* msgs/ru.msg: Updated.
+
 2006-09-15  Sergei Golovan  <sgolovan at nes.ru>
 
 	* ifacetk/idefault.tcl: Bind mouse buttons to scroll events

Modified: trunk/tkabber/examples/tools/jsend.tcl
===================================================================
--- trunk/tkabber/examples/tools/jsend.tcl	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/examples/tools/jsend.tcl	2006-09-16 14:32:53 UTC (rev 715)
@@ -2,7 +2,7 @@
 # the next line restarts using the correct interpreter \
 exec tclsh "$0" "$0" "$@"
 
-package require -exact jabberlib 0.9.0
+package require -exact jabberlib 0.10.0
 package require mime
 package require sha1
 package require tls

Modified: trunk/tkabber/examples/tools/rssbot.tcl
===================================================================
--- trunk/tkabber/examples/tools/rssbot.tcl	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/examples/tools/rssbot.tcl	2006-09-16 14:32:53 UTC (rev 715)
@@ -5,7 +5,7 @@
 export PATH LD_LIBRARY_PATH; exec tclsh "$0" "$@"
 
 
-package require jabberlib -exact 0.9.0
+package require jabberlib -exact 0.10.0
 package require http 2
 package require mime
 package require tls

Modified: trunk/tkabber/hooks.tcl
===================================================================
--- trunk/tkabber/hooks.tcl	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/hooks.tcl	2006-09-16 14:32:53 UTC (rev 715)
@@ -38,14 +38,13 @@
 
     set F(flags,$hook) {}
 
-    foreach func [set $hook] {
-	set func [lindex $func 0]
+    foreach func_prio [set $hook] {
+	set func [lindex $func_prio 0]
 	set code [catch { eval $func $args } state]
-        debugmsg hook "$hook: [lindex $func 0] -> $state (code $code)"
-	if {$code && ![winfo exists .hook_err]} {
-	    MessageDlg .hook_err -aspect 50000 -icon error \
-		-message "Hook $hook failed: $code\n$::errorInfo" \
-		-type user -buttons ok -default 0 -cancel 0
+        debugmsg hook "$hook: $func -> $state (code $code)"
+	if {$code} {
+	    ::bgerror "Hook $hook failed\nProcedure\
+		       $func returned code $code\n$state"
 	}
 	if {(!$code) && ([cequal $state stop])} {
 	    break
@@ -64,16 +63,13 @@
     set F(flags,$hook) {}
 
     set acc $acc0
-    foreach func [set $hook] {
-	set func [lindex $func 0]
+    foreach func_prio [set $hook] {
+	set func [lindex $func_prio 0]
 	set code [catch { eval $func [list $acc] $args } state]
-        debugmsg hook "$hook: [lindex $func 0] -> $state (code $code)"
+        debugmsg hook "$hook: $func -> $state (code $code)"
 	if {$code} {
-	    if {![winfo exists .hook_err]} {
-		MessageDlg .hook_err -aspect 50000 -icon error \
-		    -message "Hook $hook failed: $code\n$::errorInfo" \
-		    -type user -buttons ok -default 0 -cancel 0
-	    }
+	    ::bgerror "Hook $hook failed\nProcedure\
+		       $func returned code $code\n$state"
 	} else {
 	    set acc $state
 	}

Modified: trunk/tkabber/ifacetk/bwidget_workarounds.tcl
===================================================================
--- trunk/tkabber/ifacetk/bwidget_workarounds.tcl	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/ifacetk/bwidget_workarounds.tcl	2006-09-16 14:32:53 UTC (rev 715)
@@ -1,8 +1,7 @@
 # $Id$
 
-Button .fake_button
-destroy .fakebutton
-
+##########################################################################
+auto_load Button
 rename Button::create Button::create_old
 
 proc Button::create {path args} {
@@ -18,6 +17,7 @@
     eval [list Button::create_old $path] $new_args
 }
 
+##########################################################################
 rename menu menu_old
 
 proc menu {path args} {
@@ -33,6 +33,7 @@
     eval [list menu_old $path] $new_args
 }
 
+##########################################################################
 if {[info tclversion] >= 8.4} {
 
     rename frame frame_old
@@ -56,8 +57,8 @@
     }
 }
 
-Tree .fake_tree
-destroy .fake_tree
+##########################################################################
+auto_load Tree
 
 proc Tree::_see {path idn {side "none"}} {
     set bbox [$path.c bbox $idn]
@@ -112,17 +113,17 @@
 }
 
 proc PanedWin {path args} {
-   
-    if {[catch { PanedWindow .fake_pw -activator button }]} {
+    if {[catch {
+	     eval [list PanedWindow $path] $args -activator button
+	 } res]} {
 	return [eval [list PanedWindow $path] $args]
     } else {
-	destroy .fake_pw
-	return [eval [list PanedWindow $path] $args -activator button]
+	return $res
     }
 }
 
-ComboBox .fake_combobox
-destroy .fake_combobox
+##########################################################################
+auto_load ComboBox
 
 option add *ComboBox.listRelief ridge widgetDefault
 option add *ComboBox.listBorder 2 widgetDefault
@@ -152,8 +153,8 @@
     return $path
 }
 
-NoteBook .fake_nb
-destroy .fake_nb
+##########################################################################
+auto_load NoteBook
 
 if {![catch { rename NoteBook::_get_page_name NoteBook::_get_page_name:old }]} {
     proc NoteBook::_get_page_name { path {item current} {tagindex end-1} } {
@@ -166,9 +167,9 @@
     }
 }
 
+##########################################################################
 if {($::tcl_platform(platform) != "unix") || ($::aquaP)} {
-    SelectFont .fake_sf -type toolbar
-    destroy .fake_sf
+    auto_load SelectFont
 
     rename SelectFont::create SelectFont::create:old
 
@@ -187,5 +188,8 @@
     }
 }
 
+##########################################################################
 proc BWidget::bindMouseWheel {widget} {}
 
+##########################################################################
+

Modified: trunk/tkabber/ifacetk/idefault.tcl
===================================================================
--- trunk/tkabber/ifacetk/idefault.tcl	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/ifacetk/idefault.tcl	2006-09-16 14:32:53 UTC (rev 715)
@@ -70,11 +70,10 @@
     option add *Entry.font font widgetDefault
 }
 
-if {$::tcl_platform(platform) != "windows"} {
+if {([catch { tk windowingsystem }] && $::tcl_platform(platform) == "unix") ||
+	(![catch { tk windowingsystem }] && [tk windowingsystem] == "x11")} {
     event add <<ScrollUp>>    <4>
     event add <<ScrollDown>>  <5>
-    event add <<ScrollLeft>>  <6>
-    event add <<ScrollRight>> <7>
     event add <<ScrollLeft>>  <Shift-4>
     event add <<ScrollRight>> <Shift-5>
 }

Modified: trunk/tkabber/jabberlib-tclxml/jabberlib.tcl
===================================================================
--- trunk/tkabber/jabberlib-tclxml/jabberlib.tcl	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/jabberlib-tclxml/jabberlib.tcl	2006-09-16 14:32:53 UTC (rev 715)
@@ -1757,5 +1757,5 @@
 # Now that we're done...
 #
 
-package provide jabberlib 0.9.1
+package provide jabberlib 0.10.0
 

Modified: trunk/tkabber/jabberlib-tclxml/pkgIndex.tcl
===================================================================
--- trunk/tkabber/jabberlib-tclxml/pkgIndex.tcl	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/jabberlib-tclxml/pkgIndex.tcl	2006-09-16 14:32:53 UTC (rev 715)
@@ -1,4 +1,4 @@
-package ifneeded jabberlib 0.9.0 [list source [file join $dir jabberlib.tcl]]
+package ifneeded jabberlib 0.10.0 [list source [file join $dir jabberlib.tcl]]
 package ifneeded namespaces 1.0 [list source [file join $dir namespaces.tcl]]
 package ifneeded jlibauth 1.0 [list source [file join $dir jlibauth.tcl]]
 package ifneeded jlibsasl 1.0 [list source [file join $dir jlibsasl.tcl]]

Modified: trunk/tkabber/msgs/ru.msg
===================================================================
--- trunk/tkabber/msgs/ru.msg	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/msgs/ru.msg	2006-09-16 14:32:53 UTC (rev 715)
@@ -20,8 +20,8 @@
 ::msgcat::mcset ru "Active Chats" "Открытые разговоры"
 ::msgcat::mcset ru "Active" "Активный"
 ::msgcat::mcset ru "Add chats group in roster." "Добавлять в контакты группу открытых разговоров."
+::msgcat::mcset ru "Add Conference to Roster" "Добавление конференции в контакты"
 ::msgcat::mcset ru "Add conference to roster..." "Добавить конференцию в контакты..."
-::msgcat::mcset ru "Add conference" "Добавление конференции"
 ::msgcat::mcset ru "Add conference..." "Добавить конференцию..."
 ::msgcat::mcset ru "Add group by regexp on JIDs..." \
     "Добавить группу по регулярному выражению для JID..."
@@ -104,6 +104,8 @@
 ::msgcat::mcset ru " by %s" " (это сделал(а) %s)"
 ::msgcat::mcset ru "Cache headlines on exit and restore on start." \
     "Сохранять новости при выходе и восстанавливать при старте."
+::msgcat::mcset ru "Cached service categories and types (from disco#info)." \
+    "Сохраненные категории и типы служб (из disco#info)"
 ::msgcat::mcset ru "Cancel" "Отменить"
 ::msgcat::mcset ru "Can't receive file: %s" "Не удалось получить файл: %s"
 ::msgcat::mcset ru "Cell:" "Мобильный:"
@@ -154,9 +156,9 @@
 ::msgcat::mcset ru "Compression negotiation successful" "Сжатие согласовано успешно"
 ::msgcat::mcset ru "Compression setup failed" "Сжать поток не удалось"
 ::msgcat::mcset ru "Composing a reply" "Пишет ответ"
-::msgcat::mcset ru "Computer" "Компьютер"
 ::msgcat::mcset ru "Condition" "Условие"
 ::msgcat::mcset ru "Conference room %s will be destroyed permanently.\n\nProceed?" "Конференция %s будет удалена.\n\nПродолжить?"
+::msgcat::mcset ru "Conference:" "Конференция:"
 ::msgcat::mcset ru "configuration" "конфигурация"
 ::msgcat::mcset ru "Configure form: %s" "Конфигурационная форма: %s"
 ::msgcat::mcset ru "Configure room" "Конфигурировать комнату"
@@ -187,6 +189,7 @@
 ::msgcat::mcset ru "cryptographics" "криптография"
 ::msgcat::mcset ru "Current" "Текущий"
 ::msgcat::mcset ru "Current groups" "Текущие группы"
+::msgcat::mcset ru "customization" "настройки"
 ::msgcat::mcset ru "Customization of the One True Jabber Client." \
     "Настройка Истинного клиента Jabber'а."
 ::msgcat::mcset ru "Customize" "Настройки"
@@ -271,6 +274,7 @@
     "Включить автопрокрутку окна разговора только если в окне видно последнюю строку текста."
 ::msgcat::mcset ru "Enabled\n" "Включён\n"
 ::msgcat::mcset ru "Enable KDE tray icon." "Использовать значок в системном трее KDE."
+::msgcat::mcset ru "Enable freedesktop system tray icon." "Включить freedesktop system tray icon."
 ::msgcat::mcset ru "Enable freedesktop systray icon." "Включить freedesktop systray icon."
 ::msgcat::mcset ru "Enable highlighting plugin." "Включить модуль выделения слов."
 ::msgcat::mcset ru "Enable HTTP transport for outgoing file transfers." \
@@ -378,6 +382,7 @@
     "Генерировать сообщения о происходящем в MUC-конференциях."
 ::msgcat::mcset ru "Generate event messages" "Генерирование сообщений о происходящем в конференции"
 ::msgcat::mcset ru "Geographical position" "Географическое расположение"
+::msgcat::mcset ru "general plugins" "общие плагины"
 ::msgcat::mcset ru "Generic IQ" "Общий IQ-запрос"
 ::msgcat::mcset ru "Get items" "Получить объекты"
 ::msgcat::mcset ru "GIF images" "Изображения GIF"
@@ -469,16 +474,15 @@
 ::msgcat::mcset ru "Issuer" "Издатель"
 ::msgcat::mcset ru "Item Not Found" "Объект не найден"
 ::msgcat::mcset ru "Jabber Browser" "Просмотр служб"
-::msgcat::mcset ru "jabber chat" "разговоры"
-::msgcat::mcset ru "jabber groupchats" "конференции"
+::msgcat::mcset ru "jabber chat/muc" "разговоры/конференции"
 ::msgcat::mcset ru "jabber iq" "информация"
+::msgcat::mcset ru "jabber messages" "сообщения"
 ::msgcat::mcset ru "jabber presence" "присутствие"
 ::msgcat::mcset ru "jabber registration" "регистрация"
+::msgcat::mcset ru "jabber roster" "контакты"
 ::msgcat::mcset ru "jabber xml"
 ::msgcat::mcset ru "JID:"
 ::msgcat::mcset ru "JID"
-::msgcat::mcset ru "jidlink"
-::msgcat::mcset ru "Jidlink"
 ::msgcat::mcset ru "Jidlink connection closed" "Соединение Jidlink закрыто"
 ::msgcat::mcset ru "Jidlink options." "Параметры Jidlink-транспорта."
 ::msgcat::mcset ru "JID Malformed" "Неправильный JID"
@@ -532,14 +536,15 @@
 ::msgcat::mcset ru "Log out" "Отключиться"
 ::msgcat::mcset ru "Longitude:" "Долгота:"
 ::msgcat::mcset ru "Longitude" "Долгота"
+::msgcat::mcset ru "macintosh plugins" "расширения для макинтоша"
 ::msgcat::mcset ru "Main window:" "Главное окно:"
 ::msgcat::mcset ru "Malformed signature block" "Неправильно сформирована подпись"
 ::msgcat::mcset ru "Manually edit rules" "Измениить правила вручную"
 ::msgcat::mcset ru "Mark all seen" "Пометить все как просмотренные"
 ::msgcat::mcset ru "Mark all unseen" "Пометить все как непросмотренные"
 ::msgcat::mcset ru "Marshall T. Rose" "Маршал Т. Роуз"
-::msgcat::mcset ru "Match case while searching in log window." \
-    "Использовать чувствительный к регистру символов поиск в окне протокола."
+::msgcat::mcset ru "Match case while searching in chat, log or disco windows."
+    "Использовать чувствительный к регистру символов поиск в окнах разговора, протокола и обзора служб."
 ::msgcat::mcset ru "Maximum number of characters in the history in MUC compatible conference rooms." \
     "Максимальное число символов в запрашиваемой истории конференции, совместимой с MUC."
 ::msgcat::mcset ru "Maximum number of stanzas in the history in MUC compatible conference rooms." \
@@ -558,7 +563,6 @@
 ::msgcat::mcset ru "message filters" "фильтры сообщений"
 ::msgcat::mcset ru "Message from %s" "Сообщение от %s"
 ::msgcat::mcset ru "Message from:" "Сообщение от:"
-::msgcat::mcset ru "message/headline" "сообщения"
 ::msgcat::mcset ru "Message Recorder:" "Автоответчик:"
 ::msgcat::mcset ru "Message stored on %s's server" "Сообщение сохранено на сервере %s"
 ::msgcat::mcset ru "Message stored on the server" "Сообщение сохранено на сервере"
@@ -580,7 +584,6 @@
 ::msgcat::mcset ru "Moving to extended away" \
     "Устанавливается состояние \"Отошёл давно\" (по бездействию)"
 ::msgcat::mcset ru "MUC"
-::msgcat::mcset ru "multi-user chat" "конференции"
 ::msgcat::mcset ru "Multiple signatures having different authenticity" \
     "Разные подписи имеют разную достоверность"
 ::msgcat::mcset ru "Mute sound" "Отключить звук"
@@ -713,6 +716,7 @@
 ::msgcat::mcset ru "Phones" "Телефоны"
 ::msgcat::mcset ru "Phone:" "Телефон:"
 ::msgcat::mcset ru "Photo" "Фотография"
+::msgcat::mcset ru "pixmaps management" "изображения"
 ::msgcat::mcset ru "Plaintext" "Открытый текст"
 ::msgcat::mcset ru "Please define environment variable BROWSER" \
     "Определите переменную окружения BROWSER"
@@ -865,12 +869,13 @@
 ::msgcat::mcset ru "Room is destroyed" "Комната удалена"
 ::msgcat::mcset ru "Room %s is successfully created" "Комната %s успешно создана"
 ::msgcat::mcset ru "Roster Files" "Файлы контактов"
+::msgcat::mcset ru "Roster group:" "Группа в контактах:"
 ::msgcat::mcset ru "Roster item may be dropped not only over group name but also over any item in group." \
     "При перетаскивании контакта из одной группы контактов в другую, его можно отпустить не только над названием группы, но и над любоым контактом в этой группе."
 ::msgcat::mcset ru "Roster Notes" "Заметки в контактах"
 ::msgcat::mcset ru "Roster of %s" "Контакты %s"
 ::msgcat::mcset ru "Roster options." "Параметры контактов."
-::msgcat::mcset ru "rosters" "контакты"
+::msgcat::mcset ru "roster plugins" "расширения контактов"
 ::msgcat::mcset ru "Roster" "Контакты"
 ::msgcat::mcset ru "Rule name already exists" "Правило с таким названием уже существует"
 ::msgcat::mcset ru "Rule Name:" "Название правила:"
@@ -879,6 +884,7 @@
 ::msgcat::mcset ru "SASL Certificate:" "SASL сертификат:"
 ::msgcat::mcset ru "SASL Port:" "SASL порт:"
 ::msgcat::mcset ru "Save as:" "Сохранить как:"
+::msgcat::mcset ru "Save To Log" "Сохранить в журнал"
 ::msgcat::mcset ru "Screenname conversion" "Преобразование экранного имени"
 ::msgcat::mcset ru "Screenname: %s\n\nConverted JID: %s" "Экранное имя: %s\n\nПреобразованный JID: %s"
 ::msgcat::mcset ru "Screenname:" "Экранное имя:"
@@ -889,11 +895,13 @@
     "Поиск в %s: Объекты, удовлетворяющие критериям поиска, не найдены"
 ::msgcat::mcset ru "Search in %s" "Поиск в %s"
 ::msgcat::mcset ru "Search in chat window" "Поиск в окне разговора"
+::msgcat::mcset ru "Search in Tkabber windows options." "Настройки поиска в окнах Tkabber'а."
 ::msgcat::mcset ru "Search: %s" "Поиск: %s"
-::msgcat::mcset ru "Search:" "Поиск:"
 ::msgcat::mcset ru "Search" "Поиск"
 ::msgcat::mcset ru "Search down" "Искать вниз"
+::msgcat::mcset ru "search plugins" "расширения поиска"
 ::msgcat::mcset ru "Search up" "Искать вверх"
+::msgcat::mcset ru "See more..." "Смотреть далее..."
 ::msgcat::mcset ru "See Other Host" "Смотри другой хост"
 ::msgcat::mcset ru "Select Key for Signing %s Traffic" "Выбор ключа для подписывания сообщений %s"
 ::msgcat::mcset ru "Select month:" "Выберите месяц:"
@@ -1051,7 +1059,10 @@
     "Звук, который проигрывается при получении обычного сообщения из конференции."
 ::msgcat::mcset ru "Sound to play when highlighted (usually addressed personally) groupchat message is received." \
     "Звук, который проигрывается при получении выделенного (обычно персонально адресованного) сообщения из конференции."
+::msgcat::mcset ru "Specifies search mode while searching in chat, log or disco windows. \"substring\" searches exact substring, \"glob\" uses glob style matching, \"regexp\" allows to match regular expression." \
+    "Указывает режим поиска в окнах разговора, протокола и обзора служб. \"substring\" ищет подстроку, \"glob\" позвлояет использовать подстановочные символы, \"regexp\" использует регулярные выражения."
 ::msgcat::mcset ru "Spell check options." "Параметры проверки правописания."
+::msgcat::mcset ru "%s plugin" "расширение %s"
 ::msgcat::mcset ru "%s purportedly signed by %s can't be verified.\n\n%s." \
     "То, что %s подписано %s, невозможно проверить.\n\n%s."
 ::msgcat::mcset ru "%s request from %s" "Запрос %s от %s"
@@ -1184,6 +1195,7 @@
 ::msgcat::mcset ru "Unexpected Request" "Неожиданный запрос"
 ::msgcat::mcset ru "Units" "Единицы"
 ::msgcat::mcset ru "Unit:" "Отделение:"
+::msgcat::mcset ru "unix plugins" "расширения для unix"
 ::msgcat::mcset ru "Unrecoverable Error" "Неустранимая ошибка"
 ::msgcat::mcset ru "Unregister" "Отрегистрироваться"
 ::msgcat::mcset ru "Unsubscribed from %s"
@@ -1221,8 +1233,6 @@
 ::msgcat::mcset ru "Use HTTP poll connection method." "Использовать HTTP-подключение."
 ::msgcat::mcset ru "Use HTTP proxy to connect." "Использовать HTTP прокси-сервер при подключении."
 ::msgcat::mcset ru "Use Proxy" "Использовать прокси"
-::msgcat::mcset ru "Use regexp match while searching in log window (otherwise substring is searched)." \
-    "Использовать регулярные выражения при поиске в окне протокола (иначе происходит поиск подстроки)."
 ::msgcat::mcset ru "Use SASL authentication" "Использовать SASL для аутентификации"
 ::msgcat::mcset ru "Use SASL authentication." "Использовать SASL для аутентификации."
 ::msgcat::mcset ru "Use specified key ID for signing and decrypting messages." \
@@ -1279,6 +1289,7 @@
 ::msgcat::mcset ru "Whois" "Кто это?"
 ::msgcat::mcset ru "whois %s: %s"
 ::msgcat::mcset ru "whois %s: no info" "whois %s: нет информации"
+::msgcat::mcset ru "windows plugins" "расширения для windows"
 ::msgcat::mcset ru "wmaker"
 ::msgcat::mcset ru "Work:" "Рабочий:"
 ::msgcat::mcset ru "XML Not Well-Formed" "Неправильно сформированный XML"

Modified: trunk/tkabber/splash.tcl
===================================================================
--- trunk/tkabber/splash.tcl	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/splash.tcl	2006-09-16 14:32:53 UTC (rev 715)
@@ -1,50 +1,85 @@
 # $Id$
 
+# BWidget's Button overrides this option, so set its priority to
+# 30 instead of widgetDefault (20)
+option add *ErrorDialog.function.text [::msgcat::mc "Save To Log"] 30
+
+# Wrapper around bgerror which hides splash window. It's useful when
+# error window is small
+auto_load bgerror
+rename bgerror bgerror_default
+proc bgerror {msg} {
+    if {[winfo exists .splash]} {
+	wm withdraw .splash
+    }
+    bgerror_default $msg
+    if {[winfo exists .splash]} {
+	wm deiconify .splash
+	update
+    }
+}
+
 proc splash_start {{aboutP 0}} {
     global splash_count splash_image splash_info splash_max splash_text
     global version
 
     set splash_info   ""
     set splash_count   0
-    set splash_max   219
+    set splash_max   145
 
     array set splash_text [list					   \
-        autoaway            [::msgcat::mc "auto-away"]             \
-        avatars             [::msgcat::mc "avatars"]               \
+	custom		    [::msgcat::mc "customization"]         \
+        utils               [::msgcat::mc "utilities"]             \
+        plugins             [::msgcat::mc "plugin management"]     \
+	pixmaps		    [::msgcat::mc "pixmaps management"]    \
         balloon             [::msgcat::mc "balloon help"]          \
+        presence            [::msgcat::mc "jabber presence"]       \
+        iq                  [::msgcat::mc "jabber iq"]             \
+        plugins:iq          [::msgcat::mc "jabber iq"]             \
+        roster              [::msgcat::mc "jabber roster"]         \
+        itemedit            [::msgcat::mc "jabber roster"]         \
+        messages            [::msgcat::mc "jabber messages"]       \
+        textundo            [::msgcat::mc "text undo"]             \
+        chats               [::msgcat::mc "jabber chat/muc"]       \
+        plugins:chat        [::msgcat::mc "jabber chat/muc"]       \
+        joingrdialog        [::msgcat::mc "jabber chat/muc"]       \
+        muc                 [::msgcat::mc "jabber chat/muc"]       \
+        emoticons           [::msgcat::mc "emoticons"]             \
+        aniemoticons        [::msgcat::mc "emoticons"]             \
+        login               [::msgcat::mc "connections"]           \
         browser             [::msgcat::mc "browsing"]              \
-        bwidget_workarounds [::msgcat::mc "bwidget workarounds"]   \
-        chats               [::msgcat::mc "jabber chat"]           \
-        config              [::msgcat::mc "configuration"]         \
+        disco               [::msgcat::mc "service discovery"]     \
+        userinfo            [::msgcat::mc "presence"]              \
         datagathering       [::msgcat::mc "utilities"]             \
-        disco               [::msgcat::mc "service discovery"]     \
-        dkflib              [::msgcat::mc "utilities"]             \
-        dockingtray         [::msgcat::mc "kde"]                   \
-        emoticons           [::msgcat::mc "emoticons"]             \
+        negotiate           [::msgcat::mc "negotiation"]           \
+        search              [::msgcat::mc "searching"]             \
+        register            [::msgcat::mc "jabber registration"]   \
+        jidlink             [::msgcat::mc "file transfer"]         \
+        plugins:jidlink     [::msgcat::mc "file transfer"]         \
+        si                  [::msgcat::mc "file transfer"]         \
+        plugins:si          [::msgcat::mc "file transfer"]         \
         filetransfer        [::msgcat::mc "file transfer"]         \
+        plugins:filetransfer [::msgcat::mc "file transfer"]        \
         filters             [::msgcat::mc "message filters"]       \
+        privacy             [::msgcat::mc "privacy rules"]         \
         gpgme               [::msgcat::mc "cryptographics"]        \
+        ifacetk             [::msgcat::mc "user interface"]        \
+	plugins:general     [::msgcat::mc "general plugins"]       \
+	plugins:roster      [::msgcat::mc "roster plugins"]        \
+	plugins:search      [::msgcat::mc "search plugins"]        \
+	plugins:unix        [::msgcat::mc "unix plugins"]          \
+	plugins:windows     [::msgcat::mc "windows plugins"]       \
+	plugins:macintosh   [::msgcat::mc "macintosh plugins"]     \
+        iface               [::msgcat::mc "user interface"]        \
+        autoaway            [::msgcat::mc "auto-away"]             \
+        avatars             [::msgcat::mc "avatars"]               \
+        bwidget_workarounds [::msgcat::mc "bwidget workarounds"]   \
+        config              [::msgcat::mc "configuration"]         \
+        dockingtray         [::msgcat::mc "kde"]                   \
         hooks               [::msgcat::mc "extension management"]  \
-        iface               [::msgcat::mc "user interface"]        \
-        iq                  [::msgcat::mc "jabber iq"]             \
-        itemedit            [::msgcat::mc "utilities"]             \
         jabberlib           [::msgcat::mc "jabber xml"]            \
-        jidlink             [::msgcat::mc "jidlink"]               \
-        joingrdialog        [::msgcat::mc "jabber groupchats"]     \
-        login               [::msgcat::mc "connections"]           \
-        messages            [::msgcat::mc "message/headline"]      \
-        muc                 [::msgcat::mc "multi-user chat"]       \
-        negotiate           [::msgcat::mc "negotiation"]           \
         plugins             [::msgcat::mc "plugin management"]     \
-        presence            [::msgcat::mc "jabber presence"]       \
-        privacy             [::msgcat::mc "privacy rules"]         \
-        register            [::msgcat::mc "jabber registration"]   \
-        roster              [::msgcat::mc "rosters"]               \
-        search              [::msgcat::mc "searching"]             \
         sound               [::msgcat::mc "sound"]                 \
-        textundo            [::msgcat::mc "text undo"]             \
-        userinfo            [::msgcat::mc "presence"]              \
-        utils               [::msgcat::mc "utilities"]             \
         wmdock              [::msgcat::mc "wmaker"]                \
     ]
 
@@ -74,8 +109,6 @@
     if {![info exists splash_image_$h]} {
 	set splash_image_$h [image create photo -height $h -width 380]
     }
-#    label $w.back                           \
-#	  -image      [set splash_image_$h]
 
     frame $w.frame
 
@@ -115,19 +148,12 @@
 	label $w.frame.info           \
 	    -textvariable splash_info
 
-#	label $w.frame.hack \
-#	    -text       ""
-
-#	grid $w.frame.hack -row 1 -column 0 -sticky s -columnspan 2 -padx 5m
         grid $w.frame.bar  -row 2 -column 0 -sticky s -columnspan 2
 	grid $w.frame.info -row 3 -column 0 -sticky s -columnspan 2
     }
 
-#    place $w.frame -relx 0.00 -rely 0.00 -anchor nw
     pack $w.frame -anchor nw
 
-#    pack  $w.back
-
     if {(~$aboutP) && (![string compare [info commands splash_source] ""])} {
         rename source splash_source
         rename splash_progress source
@@ -138,24 +164,65 @@
 }
 
 proc splash_progress {args} {
-    global splash_count splash_info splash_text
+    global rootdir splash_count splash_info splash_text
 
     if {([winfo exists .splash]) && ([llength $args] == 1)} {
-        set file [file rootname [file tail [lindex $args 0]]]
-        catch { set splash_info $splash_text($file) }
-        incr splash_count
-        update
+	set lrootdir [string tolower $rootdir]
+	set filepath [string tolower [lindex $args 0]]
+	set homedir [string tolower [file join ~ .tkabber]]
+	if {[catch { set globhomedir [file normalize $homedir] }]} {
+	    set plugins [lindex [glob -nocomplain [file join ~ .tkabber plugins]] 0]
+	    set globhomedir \
+		[file join [lrange [file split $plugins] 0 end-1]]
+	}
+	set globhomedir [string tolower $globhomedir]
+	if {[string first $lrootdir $filepath] == 0} {
+	    set log 1
+	    set root $lrootdir
+	} elseif {[string first $homedir $filepath] == 0} {
+	    set log 1
+	    set root $homedir
+	} elseif {$globhomedir != "" && [string first $globhomedir $filepath] == 0} {
+	    set log 1
+	    set root $globhomedir
+	} else {
+	    set log 0
+	}
+	if {$log} {
+	    set srelpath [lrange [file split $filepath] \
+				 [llength [file split $root]] end]
+	    if {[llength $srelpath] > 1} {
+		set name [join [lrange $srelpath 0 end-1] :]
+	    } else {
+		set name [file rootname [lindex $srelpath 0]]
+	    }
+	    if {[info exists splash_text($name)]} {
+		set splash_info $splash_text($name)
+	    } else {
+		# Process plugins separately
+		set nlist [split $name :]
+		if {[lindex $nlist 0] == "plugins"} {
+		    set splash_info \
+			[::msgcat::mc "%s plugin" [join [lrange $nlist 1 end] :]]
+		}
+	    }
+	    incr splash_count
+	    update
+	}
     }
 
     uplevel 1 splash_source $args
 }
 
 proc splash_done {} {
-    global debug_winP
+    global splash_count splash_max
 
     if {![winfo exists .splash]} {
         return
     }
+    set splash_count $splash_max
+    update
+    after 100
     destroy .splash
 
     rename source splash_progress

Modified: trunk/tkabber/tkabber.tcl
===================================================================
--- trunk/tkabber/tkabber.tcl	2006-09-15 13:33:53 UTC (rev 714)
+++ trunk/tkabber/tkabber.tcl	2006-09-16 14:32:53 UTC (rev 715)
@@ -233,7 +233,6 @@
 load_source chats.tcl
 load_source joingrdialog.tcl
 load_source muc.tcl
-load_source emoticons.tcl
 load_source login.tcl
 load_source browser.tcl
 load_source disco.tcl
@@ -251,8 +250,9 @@
 load_source gpgme.tcl
 
 load_source ifacetk bwidget_workarounds.tcl
+load_source ifacetk iface.tcl
+load_source emoticons.tcl
 load_source aniemoteicons aniemoteicons.tcl
-load_source ifacetk iface.tcl
 
 plugins::load [file join plugins general]
 plugins::load [file join plugins roster]



More information about the Tkabber-dev mailing list