initial commit

This commit is contained in:
mikhail "synzr" 2025-12-25 01:37:49 +05:00
commit 9d20827c46
2469 changed files with 470994 additions and 0 deletions

41
.darcs_binaries Normal file
View file

@ -0,0 +1,41 @@
# Binary file regexps:
\.png$
\.PNG$
\.gz$
\.GZ$
\.pdf$
\.PDF$
\.jpg$
\.JPG$
\.gif$
\.GIF$
\.tar$
\.TAR$
\.bz2$
\.BZ2$
\.z$
\.Z$
\.zip$
\.ZIP$
\.jar$
\.JAR$
\.so$
\.SO$
\.a$
\.A$
\.tgz$
\.TGZ$
\.jpeg$
\.JPEG$
\.mpg$
\.MPG$
\.mpeg$
\.MPEG$
\.iso$
\.ISO$
\.exe$
\.EXE$
\.doc$
\.DOC$
\.jisp$
\.JISP$

140
.darcs_boring Normal file
View file

@ -0,0 +1,140 @@
# Boring file regexps:
\.hi$
#\.o$
\.o\.cmd$
\.ko$
\.ko\.cmd$
\.mod\.c$
(^|/)\.tmp_versions($|/)
#(^|/)CVS($|/)
(^|/)RCS($|/)
~$
#(^|/)\.[^/]
(^|/)_darcs($|/)
\.bak$
\.BAK$
\.orig$
(^|/)vssver\.scc$
\.swp$
(^|/)MT($|/)
(^|/)\{arch\}($|/)
(^|/).arch-ids($|/)
(^|/),
\.class$
\.prof$
(^|/)\.DS_Store$
(^|/)BitKeeper($|/)
(^|/)ChangeSet($|/)
(^|/)\.svn($|/)
\.py[co]$
\#
#\.cvsignore$
(^|/)Thumbs\.db$
(^|/)\.gdb_history$
# Mac OS X metadata
\/\._(.*)
^\._(.*)
# Iris
^iris/example/xmpptest/xmpptest.app$
^iris/example/xmpptest/Makefile$
# Irisnet
^iris/irisnet/Makefile$
^iris/irisnet/(.*)\.o$
^iris/irisnet/(.*)\.moc$
^iris/irisnet/moc_(.*)\.cpp$
^iris/irisnet/irisnet$
^iris/irisnet/jdns/(.*)\.o$
^iris/irisnet/jdns/Makefile$
^iris/irisnet/jdns/jdns$
^iris/irisnet/jdns/(.*)\.o$
# libjingle
^third-party/libjingle/Makefile
^third-party/libjingle/liblibjingle.a
^third-party/qca/Makefile
^third-party/qca/libqca.a
# Binaries
^src/psi$
^src/psi.app$
^src/yachat$
^src/yachat.app$
^third-party/qca/libqca_psi.a$
# Mac binaries
^mac/disk
^mac/Psi-.*
^mac/(template|wc)\.dmg($|\.bz2$)
# Windows
^psiwin/.*$
# QMake makefiles
^Makefile
^src/Makefile
^src/widgets/Makefile
# QConf
^conf.log
^conf.pri
^src/config.h
# Qt dirs
(^|/).ui($|/)
(^|/).obj($|/)
(^|/).moc($|/)
(^|/).rcc($|/)
# YaStuff
^src/tools/yastuff/uitest/Makefile$
^src/tools/yastuff/uitest/uitest$
^src/tools/yastuff/yawidgets/Makefile$
^src/tools/yastuff/yawidgets/libyawidgets.(so|dylib)$
^src/tools/yastuff/yapsi_revision\.h$
^src/tools/yastuff/yawidgets/chatviewtest/Makefile$
^src/tools/yastuff/yawidgets/chatviewtest/chatviewtest$
^src/tools/yastuff/yawidgets/customwindowtest/Makefile$
^src/tools/yastuff/yawidgets/customwindowtest/customwindowtest$
^src/tools/yastuff/yawidgets/expandingoverlaylineedittest/Makefile$
^src/tools/yastuff/yawidgets/expandingoverlaylineedittest/expandingoverlaylineedittest$
^src/tools/yastuff/yawidgets/newselfavatar/Makefile$
^src/tools/yastuff/yawidgets/newselfavatar/newselfavatar$
^src/tools/yastuff/yawidgets/rostertabstest/Makefile$
^src/tools/yastuff/yawidgets/rostertabstest/rostertabtest$
^src/tools/yastuff/yawidgets/rostertest/Makefile$
^src/tools/yastuff/yawidgets/statusbartest/Makefile$
^src/tools/yastuff/yawidgets/statusbartest/statusbartest$
^src/tools/yastuff/yawidgets/chatviewbench/Makefile$
^src/tools/yastuff/yawidgets/chatviewbench/chatviewbench$
^src/tools/yastuff/yawidgets/tabbartest/Makefile$
^src/tools/yastuff/yawidgets/tabbartest/tabbartest$
^src/tools/yastuff/yawidgets/expandingoverlaylineedittest/expandingoverlaylineedittest.app$
^src/tools/yastuff/yawidgets/rostertabstest/rostertabtest.app$
^src/tools/yastuff/yawidgets/animatedstackedwidgettest/Makefile$
^src/tools/yastuff/yawidgets/animatedstackedwidgettest/animatedstackedwidgettest.app$
^src/tools/yastuff/yawidgets/trimmablemultilinelabeltest/test/test.app$
^src/tools/yastuff/yawidgets/accountinformertest/Makefile$
^src/tools/yastuff/yawidgets/accountinformertest/accountinformertest$
^src/tools/yastuff/yawidgets/busywidgettest/(Makefile|busywidgettest(\.app)?)$
^src/tools/yastuff/yawidgets/settingsbuttontest/(Makefile|settingsbuttontest(\.app)?)$
# Stuff
^tmtags$
# Compiled translations
^lang/(.*)\.qm$
# Tools
^src/tools/optionstree/(.*)\.o
^src/tools/optionstree/(.*)\.app
^src/tools/optionstree/moc_(.*)\.cpp
^src/tools/optionstree/options(.*)\.xml
^src/tools/optionstree/Makefile
^src/tools/optionstree/optionstreeviewtest/Makefile
^src/tools/optionstree/optionstreeviewtest/moc_(.*)\.cpp
^src/tools/contactlist/example/(.*)\.o
^src/tools/contactlist/example/(moc_)?(.*)\.(cpp|o|moc)
^src/tools/contactlist/example/(Makefile|contactlist)

42
.gitignore vendored Normal file
View file

@ -0,0 +1,42 @@
*.hi
*.o
*.o.cmd
*.ko
*.ko.cmd
*.mod.c
*.bak
*.BAK
*.orig
*.swp
.svn
*.dylib
*.user
*.xcodeproj
# Mac OS X metadata
._*
.DS_Store
.AppleDouble
:2e_*
*.app
*.moc
*.obj
*.rcc
moc_*.cpp
ui_*.h
Makefile
*.supp
/tmtags
/conf.log
/conf.pri
/yachat
/yapsi_revision
/mac/YaChat.dmg
/mac/template.dmg
/mac/template.dmg.bz2
/mac/wc.dmg
/src/*.plist

55
COPYING Normal file
View file

@ -0,0 +1,55 @@
Перед использованием программы, пожалуйста, ознакомьтесь с условиями нижеследующего лицензионного соглашения. Любое использование вами программы означает полное и безоговорочное принятие вами его условий.
Если вы не принимаете условия лицензионного соглашения в полном объеме, вы не имеете права использовать программу в каких-либо целях.
Лицензионное соглашение
на использование программы «Я.Онлайн»
1. Общие положения
1.1. Настоящее Лицензионное соглашение («Лицензия») устанавливает условия использования программы для ЭВМ «Я.Онлайн», включая все дополнительные модули или расширения к ней («Программа»), и заключено между любым лицом, использующим Программу («Пользователь»), и ООО «ЯНДЕКС», Россия, 119021, г.Москва, ул. Льва Толстого, д. 16, являющимся правообладателем исключительного права на Программу («Правообладатель»).
1.2. Копируя Программу, устанавливая её на свой персональный компьютер или используя Программу любым образом, Пользователь выражает свое полное и безоговорочное согласие со всеми условиями Лицензии.
1.3. За исключением условий, изложенных в разделе 5 настоящей Лицензии, использование Программы разрешается только на условиях настоящей Лицензии. Если Пользователь не принимает условия Лицензии в полном объеме, Пользователь не имеет права использовать Программу в каких-либо целях. Использование Программы с нарушением (невыполнением) какого-либо из условий Лицензии запрещено.
1.4. Использование Программы на условиях настоящей Лицензии в личных некоммерческих целях осуществляется безвозмездно. Использование Программы на условиях и способами, не предусмотренными настоящей Лицензией, возможно только на основании отдельного соглашения с Правообладателем.
1.5. К настоящей Лицензии и всем отношениям, связанным с использованием Программы, подлежит применению право Российской Федерации и любые претензии или иски, вытекающие из настоящей Лицензии или использования Программы, должны быть поданы и рассмотрены в суде по месту нахождения Правообладателя.
1.6. Правообладатель может предоставить Пользователю перевод настоящей Лицензии с русского на другие языки, однако в случае противоречия между условиями Лицензии на русском языке и ее переводом, юридическую силу имеет исключительно русскоязычная версия Лицензии.
2. Права на Программу
2.1. Исключительное право на Программу принадлежит Правообладателю.
3. Лицензия
3.1. Правообладатель безвозмездно, на условиях простой (неисключительной) лицензии, предоставляет Пользователю непередаваемое право использования Программы на территории стран всего мира следующими способами:
3.1.1. Применять Программу по прямому функциональному назначению, в целях чего произвести её копирование и установку (воспроизведение) на персональном(-ых) компьютере(-ах) Пользователя. Пользователь вправе произвести установку Программы на неограниченное число персональных компьютеров. При установке на персональный компьютер каждой копии Программы присваивается индивидуальный номер, который автоматически сообщается Правообладателю.
3.1.2. Воспроизводить и распространять Программу в некоммерческих целях (безвозмездно).
4. Ограничения
4.1. За исключением использования в объемах и способами, прямо предусмотренными настоящей Лицензией или законодательством РФ, Пользователь не имеет права изменять, декомпилировать, дизассемблировать, дешифровать и производить иные действия с объектным кодом Программы или отдельных её компонентов, имеющие целью получение информации о реализации алгоритмов, используемых в Программе, создавать производные произведения с использованием Программы или её компонентов, а также осуществлять (разрешать осуществлять) иное использование Программы, без письменного согласия Правообладателя.
4.2. Пользователь не имеет права воспроизводить и распространять Программу в коммерческих целях (в том числе за плату), в том числе в составе сборников программных продуктов, без письменного согласия Правообладателя.
4.3. Программа должна использоваться под наименованием: «Я.Онлайн». Пользователь не вправе изменять наименование Программы или отдельных её компонентов, изменять и/или удалять знак охраны авторского права (copyright notice) или иное указание на Правообладателя.
5. Условия использования отдельных функций Программы
5.1. Пользователь настоящим уведомлен и соглашается, что при включении в Программе функции «История общения» (по умолчанию включена) все сообщения, направленные Пользователем и/или в адрес Пользователя с использованием Программы, сохраняются на аппаратных средствах Правообладателя, до момента отключения указанной функции.
При включении функции «Хранить настройки на сервере» (по умолчанию включена) все настройки Пользователя, в том числе введенные Пользователем логины и пароли для доступа к его учетным записям, сохраняются на аппаратных средствах Правообладателя, до момента отключения данной функции.
История общения, сохраненные настройки, а также управление параметрами ее сохранения доступны для Пользователя в настройках Программы при вводе логина и пароля учетной записи Пользователя.
5.2. Пользователь настоящим уведомлен и соглашается, что при включении в Программе функции «Сбор почты», для подключения к данной функции почтового ящика Пользователя, расположенного как в почтовом сервисе Правообладателя, так и в почтовых сервисах, принадлежащих третьим лицам, Пользователь должен ввести логин и пароль для доступа к соответствующей учетной записи почтового сервиса, и они будут сохранены на аппаратных средствах Правообладателя. Пользователь самостоятельно отвечает за правомерность подобного использования логинов и паролей учетных записей и несет все риски такого использования, включая риски нарушения правил использования соответствующего почтового сервиса и/или прав третьих лиц.
5.3. Пользователь может в любой момент отказаться от передачи данных, указанных в п. 5.1, отключив соответствующие функции.
5.4. Все данные об использовании Программы, передаваемые в соответствии с настоящей Лицензией, сохраняются и обрабатываются в соответствии с Политикой конфиденциальности (http://legal.yandex.ru/confidential/).
5.5. При создании программы «Я.Чат», распространяемой совместно с Программой, использован модифицированный исходный код программы «Psi» (Copyright © The Psi Team, 2001-2008), распространяемой на условиях лицензии GNU GPL версии 2. В связи с этим данная программа также распространяется на условиях лицензии GNU GPL версии 2, с которыми можно ознакомиться по адресу http://download.yandex.ru/online/GPL.txt. К использованию программы «Я.Чат» применяются также все требования настоящей Лицензии в части, не противоречащей условиям лицензии GNU GPL версии 2. Исходный код программы «Я.Чат» доступен по адресу: http://download.yandex.ru/online/yachat-source.zip.
5.6. При создании версии Программы для Microsoft Windows использована библиотека isxdl.dll, входящая в состав программы «ISTools» (www.istool.org, Copyright © 2009, Bjørnar Henden. All rights reserved.). Указанное программное обеспечение может использоваться на условиях, доступных для ознакомления по адресу: http://download.yandex.ru/online/addons/ISToolLicense.rtf.
5.7. При создании Программы использовано программное обеспечение, разработанное The OpenSSL Project для использования в «OpenSSL Toolkit» (www.openssl.org, Copyright © 1998-2008, The OpenSSL Project. All rights reserved.). Указанное программное обеспечение может использоваться на условиях, доступных для ознакомления по адресу: http://www.openssl.org/source/license.html.
5.8. При создании Программы использовано программное обеспечение разработанное Tim Hudson (tjh@cryptsoft.com).
5.9. При создании версии Программы для Microsoft Windows использована библиотека «Loudmouth», разработанная Imendio AB (http://projects.imendio.com/loudmouth, Copyright © 2003 Imendio AB), распространяемая на условиях лицензии GNU LGPL версии 3. Указанное программное обеспечение может использоваться на условиях, доступных для ознакомления по адресу: http://www.gnu.org/copyleft/lesser.html.
6. Ограничение ответственности по Лицензии
6.1. Программа предоставляется на условиях «как есть» (as is). Правообладатель не предоставляет никаких гарантий в отношении безошибочной и бесперебойной работы Программы или отдельных её компонентов, соответствия Программы конкретным целям и ожиданиям Пользователя, а также не предоставляет никаких иных гарантий, прямо не указанных в настоящей Лицензии.
6.2. В максимальной степени, допустимой действующим законодательством, Правообладатель не несет никакой ответственности за какие-либо прямые или косвенные последствия какого-либо использования или невозможности использования Программы и/или ущерб, причиненный Пользователю и/или третьим сторонам в результате какого-либо использования, неиспользования или невозможности использования Программы или отдельных её компонентов и/или функций, в том числе из-за возможных ошибок или сбоев в работе Программе.
6.3. Пользователь настоящим уведомлен и соглашается, что при использовании Программы Правообладателю в автоматическом режиме анонимно (без привязки к Пользователю) передается следующая информация: тип операционной системы компьютера Пользователя, версия и идентификатор Программы, статистика использования функций Программы, а также иная техническая информация.
7.Обновления/новые версии Программы
7.1. Действие настоящей Лицензии распространяется на все последующие обновления/новые версии Программы. Соглашаясь с установкой обновления/новой версии Программы, Пользователь принимает условия настоящей Лицензии для соответствующих обновлений/новых версий Программы, если обновление/установка новой версии Программы не сопровождается иным лицензионным соглашением.
8. Изменения условий настоящей Лицензии
8.1. Настоящее лицензионное соглашение может изменяться Правообладателем в одностороннем порядке. Уведомление Пользователя о внесенных изменениях в условия настоящей Лицензии публикуется на странице: http://legal.yandex.ru/online_agreement/. Указанные изменения в условиях лицензионного соглашения вступают в силу с даты их публикации, если иное не оговорено в соответствующей публикации.
Версия для Microsoft Windows © 2007-2011 ООО «ЯНДЕКС»
Версия для Mac OS X © 2008-2011 ООО «ЯНДЕКС»
Версия для Linux © 2008-2011 ООО «ЯНДЕКС»

35
INSTALL Normal file
View file

@ -0,0 +1,35 @@
Installation
------------
-=[ Important ]=-
For best experience, use of patched Qt is adviced: all required patches
are provided in qt-patches directory.
-=[ Linux / Unix ]=-
For instructions on how to build and install Psi on Unix systems, see
the 'Compiling' section below.
-=[ Windows ]=-
No installation required for Windows. You can simply just
run the Psi executable. You might want to move everything into
C:\Program Files\Psi
-=[ MacOS X ]=-
Drag the Psi application file from the disk image into the Applications dir.
Compiling
---------
Requirements:
- Qt 4.5.x with patches
You can obtain Qt at http://www.trolltech.com/
For information about building Psi on Unix, see doc/build-unix.txt.
For information about building Psi on Mac OS X, see doc/build-mac.txt.
For information about building Psi on Windows, see doc/build-win.txt.

21
README Normal file
View file

@ -0,0 +1,21 @@
Chat module of Ya.Online 3.0.3
------------------------------
Date: December 16, 2009
Project Manager:
Dmitry Matveev
http://matv.ru/
Lead Develoeper:
Michail Pishchagin
http://mblsha.psi-im.org/
Chat module of Ya.Online is project aimed to deliver a
Yandex-branded jabber client for the general public.
Chat module of Ya.Online is based on Psi (http://psi-im.org).
For installation or compiling instructions, see the INSTALL file.
This program is licensed under the GNU General Public License. See
the COPYING file for more information.

26
admin/bundle_qca.sh Normal file
View file

@ -0,0 +1,26 @@
#!/bin/sh
TARGET=third-party
################################################################################
# QCA
################################################################################
QCA_SOURCE=../qca
QCA_TARGET=third-party/qca
rm -rf $QCA_TARGET
cp -r $QCA_SOURCE/src $QCA_TARGET
cp -r $QCA_SOURCE/certs $QCA_TARGET
cp -r $QCA_SOURCE/include $QCA_TARGET
rm $QCA_TARGET/qt.tag $QCA_TARGET/src.pro
echo 'include(../qca.pri)' > $QCA_TARGET/qca.pro
################################################################################
# QCA-OpenSSL
################################################################################
QCAOPENSSL_SOURCE=../qca-openssl
QCAOPENSSL_TARGET=third-party/qca-openssl
rm -rf $QCAOPENSSL_TARGET
cp -r $QCAOPENSSL_SOURCE $QCA_OPENSSL_TARGET

154
admin/legoptx.txt Normal file
View file

@ -0,0 +1,154 @@
==========bool:
useleft psi/options/ui/contactlist/use-left-click
singleclick psi/options/ui/contactlist/use-single-click
!hideMenubar psi/options/ui/contactlist/show-menubar
useTransportIconsForContacts psi/options/ui/contactlist/use-transport-icons
alwaysOnTop psi/options/ui/contactlist/always-on-top
keepSizes psi/options/ui/remember-window-sizes
ignoreHeadline psi/options/message/ignore-headlines
ignoreNonRoster psi/options/message/ignore-non-roster-contacts
excludeGroupChatsFromIgnore psi/options/messages/exclude-muc-from-ignore
scrollTo psi/options/ui/contactlist/ensure-contact-visible-on-event
useEmoticons psi/options/ui/emoticons/use-emoticons
alertOpenChats psi/options/ui/chat/alert-for-already-open-chats
raiseChatWindow psi/options/ui/chat/raise-chat-windows-on-new-messages
showSubjects psi/options/ui/message/show-subjects
showGroupCounts psi/options/ui/contactlist/show-group-counts
showCounter psi/options/ui/message/show-character-count
chatSays psi/options/ui/chat/use-chat-says-style
jidComplete psi/options/ui/message/use-jid-auto-completion
grabUrls psi/options/ui/message/auto-grab-urls-from-clipboard
smallChats psi/options/ui/chat/use-small-chats
brushedMetal psi/options/ui/mac/use-brushed-metal-windows
chatLineEdit psi/options/ui/chat/use-expanding-line-edit
useTabs psi/options/ui/tabs/use-tabs
usePerTabCloseButton UNUSED
putTabsAtBottom psi/options/ui/tabs/put-tabs-at-bottom
autoRosterSize psi/options/ui/contactlist/automatically-resize-roster
autoRosterSizeGrowTop psi/options/ui/contactlist/grow-roster-upwards
autoResolveNicksOnAdd psi/options/contactlist/resolve-nicks-on-contact-add
messageEvents psi/options/message/send-composing-events
inactiveEvents psi/options/message/send-inactivity-events
autoCopy psi/options/ui/automatically-copy-selected-text
useCaps DIE?
useRC psi/options/external-control/adhoc-remote-control/enable
useDock psi/options/systemtray/enable
dockDCstyle psi/options/systemtray/use-double-click
dockHideMW psi/options/contactlist/hide-on-start
dockToolMW psi/options/contactlist/use-toolwindow
autoAuth psi/options/subscriptions/automatically-allow-authorisation
notifyAuth psi/options/ui/notifications/successful-subscription
popupMsgs psi/options/ui/message/auto-popup
popupChats psi/options/ui/chat/auto-popup
popupHeadlines psi/options/ui/message/auto-popup-headlines
popupFiles psi/options/ui/file-transfer/auto-popup
noAwayPopup psi/options/ui/notifications/popup-dialogs/suppress-while-away
noUnlistedPopup psi/options/ui/notifications/popup-dialogs/suppress-when-not-on-roster
raise psi/options/ui/contactlist/raise-on-new-event
askOnline psi/options/status/ask-for-message-on-online
askOffline psi/options/status/ask-for-message-on-offline
rosterAnim psi/options/ui/contactlist/use-status-change-animation
autoVCardOnLogin psi/options/vcard/prompt-on-login-for-empty-vcard
xmlConsoleOnLogin psi/options/vcard/xml-console/enable-at-login
use_asAway psi/options/status/auto-away/use-away
use_asXa psi/options/status/auto-away/use-not-availible
use_asOffline psi/options/status/auto-away/use-offline
clNewHeadings psi/options/look/use-slim-group-headings
outlineHeadings psi/options/look/use-outlined-group-headings
noAwaySound psi/options/ui/notifications/sounds/silent-while-away
!noGCSound psi/options/ui/notifications/sounds/notify-every-muc-message
gcNickColoring psi/options/ui/muc/use-nick-coloring
gcHighlighting psi/options/ui/muc/use-highlighting
ppIsOn psi/options/ui/notifications/passive-popups/enabled
ppOnline psi/options/ui/notifications/passive-popups/status/online
ppOffline psi/options/ui/notifications/passive-popups/status/offline
ppStatus psi/options/ui/notifications/passive-popups/status/other-changes
ppMessage psi/options/ui/notifications/passive-popups/incoming-message
ppChat psi/options/ui/notifications/passive-popups/incoming-chat
ppHeadline psi/options/ui/notifications/passive-popups/incoming-headline
ppFile psi/options/ui/notifications/passive-popups/incoming-file-transfer
lockdown.roster psi/options/ui/contactlist/lockdown-roster
lockdown.services psi/options/ui/contactlist/disable-service-discovery
discoItems psi/options/ui/service-discovery/automatically-get-items
discoInfo psi/options/ui/service-discovery/automatically-browse-into
useSound psi/options/ui/notifications/sounds/enable
==========int:
ppJidClip psi/options/ui/notifications/passive-popups/maximum-jid-length
ppStatusClip psi/options/ui/notifications/passive-popups/maximum-status-length
ppTextClip psi/options/ui/notifications/passive-popups/maximum-text-length
ppHideTime psi/options/ui/notifications/passive-popups/duration
eventPriorityMessage
eventPriorityChat
eventPriorityHeadline
eventPriorityAuth
eventPriorityFile
eventPriorityRosterExchange
dtPort psi/options/p2p/bytestreams/listen-port
asOffline psi/options/status/auto-away/offline-after
asXa psi/options/status/auto-away/not-availible-after
asAway psi/options/status/auto-away/away-after
alertStyle psi/options/ui/notifications/???
delChats psi/options/ui/chat/contents-after
defaultAction psi/options/message/default-outgoing-message-type
incomingAs psi/options/message/force-incoming-message-type
=========QSize:
sizeEventDlg psi/options/ui/message/size
sizeTabDlg psi/options/ui/tabs/size
=========QColor
ppBorderColor psi/options/ui/look/colors/passive-popup/border
color.Online psi/options/ui/look/colors/contactlist/status/online
color.ListBack psi/options/ui/look/colors/contactlist/background
color.Away psi/options/ui/look/colors/contactlist/status/away
color.DND psi/options/ui/look/colors/contactlist/status/do-no-disturb
color.Offline psi/options/ui/look/colors/contactlist/status/offline
color.Status psi/options/ui/look/colors/contactlist/status-messages
color.GroupFore psi/options/ui/look/colors/contactlist/grouping/header-foreground
color.GroupBack psi/options/ui/look/colors/contactlist/grouping/header-background
color.ProfileFore psi/options/ui/look/colors/contactlist/profile/header-foreground
color.ProfileBack psi/options/ui/look/colors/contactlist/profile/header-background
color.AnimFront psi/options/ui/look/contactlist/status-change-animation/color1
color.AnimBack psi/options/ui/look/contactlist/status-change-animation/color2
=========QStringList
emoticons psi/options/iconsets/emoticons
gcHighlights psi/options/ui/muc/highlight-words
gcNickColors psi/options/ui/look/colors/muc/nick-colors
recentGCList psi/options/muc/recent-joins/jids
recentBrowseList psi/options/ui/service-discovery/recent-jids
=========QString:
systemIconset psi/options/iconsets/system
defaultRosterIconset psi/options/iconsets/status
asMessage psi/options/status/auto-away/message
player psi/options/ui/notifications/sounds/unix-sound-player
dtExternal psi/options/p2p/bytestreams/external-address
lastPath psi/options/ui/last-used-open-path
lastSavePath psi/options/ui/last-used-save-path
lastStatusString psi/options/status/last-message
onevent.Message psi/options/ui/notifications/sounds/incoming-message
onevent.Chat1 psi/options/ui/notifications/sounds/new-chat
onevent.Chat2 psi/options/ui/notifications/sounds/chat-message
onevent.System psi/options/ui/notifications/sounds/system-message
onevent.Headline psi/options/ui/notifications/sounds/incoming-headline
onevent.Online psi/options/ui/notifications/sounds/contact-online
onevent.Offline psi/options/ui/notifications/sounds/contact-offline
onevent.Send psi/options/ui/notifications/sounds/outgoing-chat
onevent.IncomingFT psi/options/ui/notifications/sounds/incoming-file-transfer
onevent.FTComplete psi/options/ui/notifications/sounds/completed-file-transfer
font.Roster psi/options/ui/look/font/contactlist
font.Message psi/options/ui/look/font/message
font.Chat psi/options/ui/look/font/chat
font.Popup psi/options/ui/look/font/passive-popup
bounceDock psi/options/ui/notifications/bounce-dock
rosterContactSortStyle psi/options/ui/contactlist/contact-sort-style
rosterGroupSortStyle psi/options/ui/contactlist/group-sort-style
rosterAccountSortStyle psi/options/ui/contactlist/account-sort-style
=========== QMaps:
sp psi/options/status/presets
serviceRosterIconset psi/options/iconsets/service-status
customRosterIconset psi/options/iconsets/custom-status
mainwintoolbars psi/options/ui/contactlist/toolbars

8
admin/prune.sh Normal file
View file

@ -0,0 +1,8 @@
#!/bin/sh
rm -rf _darcs .darcs_boring .darcs_binaries
rm -rf TODO
rm -rf configure-jingle psi-jingle.qc
rm -rf third-party/qca/qca third-party/qca/qca-openssl third-party/qca/qca-sasl third-party/qca/qca-gnupg
rm -rf third-party/customjinglefiles.txt third-party/libjingle third-party/libjingle.new
rm -rf admin

47
admin/update_iconsets.sh Normal file
View file

@ -0,0 +1,47 @@
#!/bin/sh
SOURCE_DIR=../../iconsets
TARGET_DIR=../iconsets
ROSTER_DEFAULT='crystal-roster'
ROSTER_EXTRAS='
crystal-aim crystal-icq crystal-msn crystal-service crystal-yahoo
crystal-gadu crystal-sms crystal-roster
'
SYSTEM_DEFAULT='crystal-system'
SYSTEM_EXTRAS=''
################################################################################
if test ! -d $SOURCE_DIR; then
echo "Cannot find source dir $SOURCE_DIR"
exit
fi
if test ! -d $TARGET_DIR; then
echo "Cannot find target dir $TARGET_DIR"
exit
fi
################################################################################
# Roster iconsets
echo '*** Updating Roster iconsets ***'
#cp -R $SOURCE_DIR/roster/$ROSTER_DEFAULT/* $TARGET_DIR/roster/default
rm -f $TARGET_DIR/roster/default/Makefile
for i in $ROSTER_EXTRAS; do
make -C $SOURCE_DIR/roster $i.jisp
cp $SOURCE_DIR/roster/$i.jisp $TARGET_DIR/roster
done
################################################################################
# System iconsets
echo '*** Updating System iconsets ***'
#cp -R $SOURCE_DIR/system/$SYSTEM_DEFAULT/* $TARGET_DIR/system/default
rm -f $TARGET_DIR/system/default/Makefile
for i in $SYSTEM_EXTRAS; do
make -C $SOURCE_DIR/system $i.jisp
cp $SOURCE_DIR/system/$i.jisp $TARGET_DIR/system
done

View file

@ -0,0 +1,27 @@
#!/usr/bin/python
from xml.dom.minidom import parse, parseString
import xml.dom
import sys
def rec_parse(node, context): # node : xml.dom.Node
for i in node.childNodes:
if i.nodeType == xml.dom.Node.ELEMENT_NODE:
if i.hasAttribute("comment"):
print 'QT_TRANSLATE_NOOP("' + context + '","' + i.getAttribute("comment") + '");';
rec_parse(i,context)
if len(sys.argv) != 2:
print "usage: %s options.xml > output.cpp" % sys.argv[0]
sys.exit(1)
print "#define QT_TRANSLATE_NOOP(a,b)"
dom = parse(sys.argv[1]) # parse an XML file by name
toplevel = dom.getElementsByTagName("psi")[0]
options = toplevel.getElementsByTagName("options")[0]
shortcuts = options.getElementsByTagName("shortcuts")[0]
rec_parse(shortcuts,"Shortcuts")

11
certs/README Normal file
View file

@ -0,0 +1,11 @@
This directory contains the SSL certificates shipped with psi. The files should be in PEM format, and should have the extension '.crt' or '.pem'.
Please use PSIDATADIR/certs for local additions.
Default value of PSIDATADIR:
Linux, MacOS X and other Unices
~/.psi/
Windows NT, 2000, XP and Server 2003
%UserProfile%\PsiData\ (usually C:\Documents and Settings\username\PsiData )
Windows 95, 98 and Me
%ProgramFiles%\Psi\PsiData\ (usually C:\Program Files\Psi\PsiData )

29
certs/rootcerts.pem Normal file
View file

@ -0,0 +1,29 @@
-----BEGIN CERTIFICATE-----
MIIBrDCCAVYCCQCJJPs4An5zrTANBgkqhkiG9w0BAQQFADBdMQswCQYDVQQGEwJS
VTETMBEGA1UECBMKU29tZS1TdGF0ZTEPMA0GA1UEBxMGTW9zY293MQ8wDQYDVQQK
EwZZYW5kZXgxFzAVBgNVBAMTDm90cnMueWFuZGV4LnJ1MB4XDTA1MDMwNDExNTAy
MFoXDTA1MDUwMzExNTAyMFowXTELMAkGA1UEBhMCUlUxEzARBgNVBAgTClNvbWUt
U3RhdGUxDzANBgNVBAcTBk1vc2NvdzEPMA0GA1UEChMGWWFuZGV4MRcwFQYDVQQD
Ew5vdHJzLnlhbmRleC5ydTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDpsqoHlz06
dkWHqBYvaw0xHHmXlLQ11HE8/LvKGmPIfkUEw27H9qjCCoRAqyGdsPr5jUVsRf46
GeVZiFfN1YxNAgMBAAEwDQYJKoZIhvcNAQEEBQADQQDcCmIjo5OvcH1d8dXy9GCC
bNsa9RDPsR2XWfMd44vq1JmRnqTvbV44UdG+S5yKlOm5b9a4MbBJytSJr20/fUTE
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIC7zCCAligAwIBAgIJAP1+T3fKl1p3MA0GCSqGSIb3DQEBBAUAMFkxEzARBgNV
BAoTCnlhbmRleC5uZXQxDDAKBgNVBAsTA2JvYTEQMA4GA1UEAxMHeWFiYmVyZDEi
MCAGCSqGSIb3DQEJARYTcm9vdEBib2EueWFuZGV4Lm5ldDAeFw0wNjA5MTkwOTM0
NTdaFw0wNzA5MTkwOTM0NTdaMFkxEzARBgNVBAoTCnlhbmRleC5uZXQxDDAKBgNV
BAsTA2JvYTEQMA4GA1UEAxMHeWFiYmVyZDEiMCAGCSqGSIb3DQEJARYTcm9vdEBi
b2EueWFuZGV4Lm5ldDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAz6nPMiYp
tTq3K1mB9r0w+yCb3xyj8xJ5fimq06K1mnC8sj9O5h8z+BC9Eq98CyOOJ1jnorP4
YGT7KPPWxl1Cq1MUX7HAjaf/Q3ubSOUS+2kJHFcpxbjGO8ZW7KXRK+5mbCe8PEKB
jtnOaNtS68VMXY2bjW4TTxMf5KuxH1k8d4cCAwEAAaOBvjCBuzAdBgNVHQ4EFgQU
VZjHsJGTojkcBDqdtloLeNeLg84wgYsGA1UdIwSBgzCBgIAUVZjHsJGTojkcBDqd
tloLeNeLg86hXaRbMFkxEzARBgNVBAoTCnlhbmRleC5uZXQxDDAKBgNVBAsTA2Jv
YTEQMA4GA1UEAxMHeWFiYmVyZDEiMCAGCSqGSIb3DQEJARYTcm9vdEBib2EueWFu
ZGV4Lm5ldIIJAP1+T3fKl1p3MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQAD
gYEAMgOrhadTWkboYsYI4kAWvm+XuNrAIrjM2YGAfO4cSU8oWk24ZXGep3S+kbAC
2Yhm76I2ZS0tmQH9P3zjoIMGXbhoy3PGX7DNx8BOeI5bTzE6dMoonUSCXW4yFyRq
PnJ74wrRZK6UXHbwcJzZdqv1oXvltHKeiKe2+ilSv+XT838=
-----END CERTIFICATE-----

30
certs/startcom_ca.crt Normal file
View file

@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFFjCCBH+gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBsDELMAkGA1UEBhMCSUwx
DzANBgNVBAgTBklzcmFlbDEOMAwGA1UEBxMFRWlsYXQxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xGjAYBgNVBAsTEUNBIEF1dGhvcml0eSBEZXAuMSkwJwYDVQQDEyBG
cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS
YWRtaW5Ac3RhcnRjb20ub3JnMB4XDTA1MDMxNzE3Mzc0OFoXDTM1MDMxMDE3Mzc0
OFowgbAxCzAJBgNVBAYTAklMMQ8wDQYDVQQIEwZJc3JhZWwxDjAMBgNVBAcTBUVp
bGF0MRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMRowGAYDVQQLExFDQSBBdXRob3Jp
dHkgRGVwLjEpMCcGA1UEAxMgRnJlZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
dHkxITAfBgkqhkiG9w0BCQEWEmFkbWluQHN0YXJ0Y29tLm9yZzCBnzANBgkqhkiG
9w0BAQEFAAOBjQAwgYkCgYEA7YRgACOeyEpRKSfeOqE5tWmrCbIvNP1h3D3TsM+x
18LEwrHkllbEvqoUDufMOlDIOmKdw6OsWXuO7lUaHEe+o5c5s7XvIywI6Nivcy+5
yYPo7QAPyHWlLzRMGOh2iCNJitu27Wjaw7ViKUylS7eYtAkUEKD4/mJ2IhULpNYI
LzUCAwEAAaOCAjwwggI4MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgHmMB0G
A1UdDgQWBBQcicOWzL3+MtUNjIExtpidjShkjTCB3QYDVR0jBIHVMIHSgBQcicOW
zL3+MtUNjIExtpidjShkjaGBtqSBszCBsDELMAkGA1UEBhMCSUwxDzANBgNVBAgT
BklzcmFlbDEOMAwGA1UEBxMFRWlsYXQxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4x
GjAYBgNVBAsTEUNBIEF1dGhvcml0eSBEZXAuMSkwJwYDVQQDEyBGcmVlIFNTTCBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSYWRtaW5Ac3Rh
cnRjb20ub3JnggEAMB0GA1UdEQQWMBSBEmFkbWluQHN0YXJ0Y29tLm9yZzAdBgNV
HRIEFjAUgRJhZG1pbkBzdGFydGNvbS5vcmcwEQYJYIZIAYb4QgEBBAQDAgAHMC8G
CWCGSAGG+EIBDQQiFiBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAy
BglghkgBhvhCAQQEJRYjaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL2NhLWNybC5j
cmwwKAYJYIZIAYb4QgECBBsWGWh0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy8wOQYJ
YIZIAYb4QgEIBCwWKmh0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9pbmRleC5waHA/
YXBwPTExMTANBgkqhkiG9w0BAQQFAAOBgQBscSXhnjSRIe/bbL0BCFaPiNhBOlP1
ct8nV0t2hPdopP7rPwl+KLhX6h/BquL/lp9JmeaylXOWxkjHXo0Hclb4g4+fd68p
00UOpO6wNnQt8M2YI3s3S9r+UZjEHjQ8iP2ZO1CnwYszx8JSFhKVU2Ui77qLzmLb
cCOxgN8aIDjnfg==
-----END CERTIFICATE-----

31
conf_windows.pri Normal file
View file

@ -0,0 +1,31 @@
# Windows build settings
CONFIG += release
CONFIG += qca-static
# tell iris to use our internal libz
CONFIG += psi-zip
# OpenSSL
qca-static {
DEFINES += HAVE_OPENSSL
DEFINES += OSSL_097
OPENSSL_PREFIX = $$PWD/../vendor/openssl
INCLUDEPATH += $$OPENSSL_PREFIX/include
LIBS += -L$$OPENSSL_PREFIX/lib
}
# SASL
#qca-static {
# CYRUSSASL_PREFIX = /local
# INCLUDEPATH += $$CYRUSSASL_PREFIX/include
# LIBS += $$CYRUSSASL_PREFIX/lib/libsasl.lib
#}
# ASpell
#DEFINES += HAVE_ASPELL
contains(DEFINES, HAVE_ASPELL) {
ASPELL_PREFIX = ../../../aspell
INCLUDEPATH += "$$ASPELL_PREFIX/include"
LIBS += -L"$$ASPELL_PREFIX/lib"
LIBS += -laspell-15
}

2303
configure vendored Normal file

File diff suppressed because it is too large Load diff

12
crashreporter/.gitignore vendored Normal file
View file

@ -0,0 +1,12 @@
/Makefile
/Makefile.Debug
/Makefile.Release
/_moc
/_obj
/_ui
/debug
/release
/.moc
/.obj
/.ui
/crashreporter

View file

@ -0,0 +1,294 @@
/*
* crashreporter.cpp - simple crash reporter
* Copyright (C) 2008 Michail Pishchagin
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QProcess>
#include <QFileInfo>
#include <QMessageBox>
#include <QHttpRequestHeader>
#include <QCloseEvent>
#include <QUrl>
#include "ui_crashreporter.h"
#if defined(Q_WS_WIN)
#include "mailmsg_windows.h"
#endif
class CrashReporter : public QWidget
{
Q_OBJECT
public:
CrashReporter()
: QWidget()
, http_(0)
, restartButton_(0)
, quitButton_(0)
{
ui_.setupUi(this);
appName_ = "Application";
http_ = new QHttp(this);
connect(http_, SIGNAL(done(bool)), SLOT(httpDone(bool)));
ui_.textEdit->setFocus();
}
void doShow()
{
ui_.label->setText(ui_.label->text().arg(appName_));
if (!appPath_.isEmpty()) {
restartButton_ = ui_.buttonBox->addButton(tr("Restart %1").arg(appName_), QDialogButtonBox::AcceptRole);
connect(restartButton_, SIGNAL(clicked()), SLOT(restartApp()));
}
quitButton_ = ui_.buttonBox->addButton(tr("Quit %1").arg(appName_), QDialogButtonBox::RejectRole);
connect(quitButton_, SIGNAL(clicked()), SLOT(quitApp()));
show();
}
void setAppName(const QString& appName)
{
appName_ = appName;
}
void setAppVersion(const QString& appVersion)
{
appVersion_ = appVersion;
}
void setAppPath(const QString& appPath)
{
appPath_ = appPath;
}
void setMinidump(const QString& minidump)
{
minidump_ = minidump;
}
void setReportURL(const QString& reportURL)
{
reportURL_ = reportURL;
}
void setReportEmail(const QString& reportEmail)
{
reportEmail_ = reportEmail;
}
private slots:
void restartApp()
{
if (!appPath_.isEmpty()) {
QProcess::startDetached(appPath_);
}
close();
}
void quitApp()
{
close();
}
QByteArray makeFormField(const QString& name, const QByteArray& data)
{
QByteArray result;
result.append("------FormBoundary5WRMUdn8jqMNiFOP\r\n");
result.append("Content-Disposition: form-data; name=\"" + name + "\"\r\n");
result.append("\r\n");
result.append(data);
result.append("\r\n");
return result;
}
bool reportCrash()
{
if (reportURL_.isEmpty()) {
qWarning("report url is empty");
return false;
}
QFileInfo fi(minidump_);
if (!fi.exists()) {
qWarning("minidump not found");
return false;
}
QFile minidump(minidump_);
if (!minidump.open(QIODevice::ReadOnly)) {
qWarning("unable to open minidump");
return false;
}
if (!ui_.groupBox->isChecked() || !http_)
return false;
if (restartButton_)
restartButton_->setEnabled(false);
if (quitButton_)
quitButton_->setEnabled(false);
QUrl url(reportURL_, QUrl::TolerantMode);
QHttpRequestHeader header("POST", url.path());
header.setValue("User-Agent", "crashreporter");
header.setValue("Host", url.port() == -1 ? url.host() : QString("%1:%2").arg(url.host(), url.port()));
header.setValue("Accept-Language", "en-us");
header.setValue("Content-Type", "multipart/form-data; boundary=----FormBoundary5WRMUdn8jqMNiFOP");
header.setValue("Accept", "*/*");
QByteArray bytes;
bytes.append(makeFormField("app-name", appName_.toUtf8()));
bytes.append(makeFormField("app-version", appVersion_.toUtf8()));
bytes.append(makeFormField("comments", ui_.textEdit->toPlainText().toUtf8()));
bytes.append(makeFormField("upload_file_minidump", minidump.readAll()));
bytes.append("------FormBoundary5WRMUdn8jqMNiFOP--");
bytes.append("\r\n");
int contentLength = bytes.length();
header.setContentLength(contentLength);
http_->setHost(url.host(), url.port() == -1 ? 80 : url.port());
http_->request(header, bytes);
return true;
}
void httpDone(bool error)
{
if (error) {
qWarning("CrashReporter: ERROR: %s", qPrintable(http_->errorString()));
sendEmail();
http_->abort();
}
else {
QString result(http_->readAll());
QRegExp rx("CrashID\\=([\\d\\w-]+)");
if (rx.indexIn(result) != -1) {
qWarning("CrashReporter: CrashID=%s", qPrintable(rx.capturedTexts().at(1)));
}
}
delete http_;
http_ = 0;
close();
}
void sendEmail()
{
if (reportEmail_.isEmpty()) {
qWarning("report email is empty");
return;
}
#if defined(Q_WS_WIN)
QStringList attachments;
QFileInfo fi(minidump_);
if (fi.exists()) {
attachments << fi.absoluteFilePath();
}
MailMsg::sendEmail(reportEmail_,
"Crash report",
ui_.textEdit->toPlainText(),
attachments);
#endif
}
protected:
// reimplemented
void closeEvent(QCloseEvent* e)
{
if (reportCrash()) {
e->ignore();
return;
}
QWidget::closeEvent(e);
}
private:
Ui::CrashReporter ui_;
QHttp* http_;
QPushButton* restartButton_;
QPushButton* quitButton_;
QString appName_;
QString appVersion_;
QString appPath_;
QString minidump_;
QString reportURL_;
QString reportEmail_;
};
static QString optionValue(const QString& optionName, const QString string)
{
if (string.startsWith(QString("-%1=").arg(optionName))) {
QStringList list = string.split("=");
list.removeFirst();
if (!list.isEmpty()) {
return list.join("=");
}
}
return QString();
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
CrashReporter crashReporter;
for (int n = 1; n < argc; ++n) {
QString str = argv[n];
if (!optionValue("appName", str).isEmpty()) {
crashReporter.setAppName(optionValue("appName", str));
}
if (!optionValue("appVersion", str).isEmpty()) {
crashReporter.setAppVersion(optionValue("appVersion", str));
}
if (!optionValue("appPath", str).isEmpty()) {
crashReporter.setAppPath(optionValue("appPath", str));
}
if (!optionValue("minidump", str).isEmpty()) {
crashReporter.setMinidump(optionValue("minidump", str));
}
if (!optionValue("reportURL", str).isEmpty()) {
crashReporter.setReportURL(optionValue("reportURL", str));
}
if (!optionValue("reportEmail", str).isEmpty()) {
crashReporter.setReportEmail(optionValue("reportEmail", str));
}
}
crashReporter.doShow();
return app.exec();
}
#include "crashreporter.moc"

View file

@ -0,0 +1,33 @@
TEMPLATE = app
CONFIG += qt debug
CONFIG -= app_bundle
QT += gui network
SOURCES += crashreporter.cpp
INTERFACES += crashreporter.ui
include($$PWD/mailmsg/mailmsg.pri)
include(/users/mblsha/src/psi-git/qa/oldtest/unittest.pri)
mac {
QMAKE_POST_LINK = rm -f ../test/test.app/Contents/Resources/crashreporter; mkdir -p ../test/test.app/Contents/Resources; cp crashreporter ../test/test.app/Contents/Resources
}
win32 {
QMAKE_POST_LINK = del /Q ..\test\release\crashreporter.exe && copy release\crashreporter.exe ..\test\release\crashreporter.exe
}
windows {
# otherwise we would get 'unresolved external _WinMainCRTStartup'
# when compiling with MSVC
MOC_DIR = _moc
OBJECTS_DIR = _obj
UI_DIR = _ui
RCC_DIR = _rcc
}
!windows {
MOC_DIR = .moc
OBJECTS_DIR = .obj
UI_DIR = .ui
RCC_DIR = .rcc
}

View file

@ -0,0 +1,59 @@
<ui version="4.0" >
<class>CrashReporter</class>
<widget class="QWidget" name="Form" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>422</width>
<height>313</height>
</rect>
</property>
<property name="windowTitle" >
<string>Crash Reporter</string>
</property>
<layout class="QGridLayout" >
<item row="0" column="0" >
<widget class="QLabel" name="label" >
<property name="text" >
<string>%1 had a problem and crashed. We'll try to restore all your data when it restarts. To help us diagnose and fix the problem, you can send us a crash report.</string>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QGroupBox" name="groupBox" >
<property name="title" >
<string>Send crash report</string>
</property>
<property name="checkable" >
<bool>true</bool>
</property>
<layout class="QVBoxLayout" >
<item>
<widget class="QLabel" name="label_2" >
<property name="text" >
<string>Add a comment:</string>
</property>
</widget>
</item>
<item>
<widget class="QTextEdit" name="textEdit" />
</item>
</layout>
</widget>
</item>
<item row="2" column="0" >
<widget class="QDialogButtonBox" name="buttonBox" >
<property name="standardButtons" >
<set>QDialogButtonBox::NoButton</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -0,0 +1,7 @@
INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD
win32 {
SOURCES += $$PWD/mailmsg_windows.cpp
HEADERS += $$PWD/mailmsg_windows.h
}

View file

@ -0,0 +1,124 @@
/*
* mailmsg_windows.cpp - send e-mails programmaticaly. On Windows.
* Copyright (C) 2008 Michail Pishchagin
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
// based on code taken from MailMsg.cpp by Michael Carruth
// http://code.google.com/p/crashrpt/
#include <windows.h>
#include <mapi.h>
#include "mailmsg_windows.h"
#include <QStringList>
#include <QLibrary>
#include <QSettings>
LPSTR qStringToLPSTR(const QString& qString)
{
// return qString.toLocal8Bit().data();
return qString.toLatin1().data();
}
QString mapi32path()
{
// // try to determine default Simple MAPI handler
// // first, look for current user's default client
// registry::tstring default_client = registry::const_key(HKEY_CURRENT_USER, "Software\\Clients\\Mail")[""].reg_sz("");
//
// if (default_client.empty()) {
// // then look for machine-wide settings
// default_client = registry::const_key(HKEY_LOCAL_MACHINE, "Software\\Clients\\Mail")[""].reg_sz("");
// }
//
// if (!default_client.empty()) {
// registry::const_key regClient(HKEY_LOCAL_MACHINE, registry::tstring("Software\\Clients\\Mail\\" + default_client).c_str());
// registry::tstring s = regClient["DLLPath"].reg_sz("");
//
// if (s.empty())
// s = regClient["DLLPathEx"].reg_sz("");
//
// if (!s.empty())
// dllpath = s;
// }
return "mapi32";
}
void MailMsg::sendEmail(const QString& to, const QString& subject, const QString& message, const QStringList& attachments)
{
qWarning("sending off email...");
QLibrary mapi32(mapi32path());
if (!mapi32.load()) {
qWarning("MailMsg: failed to load mapi32.dll");
return;
}
LPMAPISENDMAIL mapiSendMail = 0;
mapiSendMail = (LPMAPISENDMAIL)mapi32.resolve("MAPISendMail");
if (!mapiSendMail) {
qWarning("MailMsg: failed to resolve MAPISendMail");
return;
}
MapiRecipDesc* pRecipients = NULL;
MapiFileDesc* pAttachments = NULL;
MapiMessage msg;
pRecipients = new MapiRecipDesc[1];
pRecipients[0].ulReserved = 0;
pRecipients[0].ulRecipClass = MAPI_TO;
pRecipients[0].lpszAddress = qStringToLPSTR(to);
pRecipients[0].lpszName = qStringToLPSTR(to);
pRecipients[0].ulEIDSize = 0;
pRecipients[0].lpEntryID = NULL;
if (attachments.size())
pAttachments = new MapiFileDesc[attachments.size()];
for (int i = 0; i < attachments.size(); ++i) {
pAttachments[i].ulReserved = 0;
pAttachments[i].flFlags = 0;
pAttachments[i].nPosition = 0xFFFFFFFF;
pAttachments[i].lpszPathName = qStringToLPSTR(attachments[i]);
pAttachments[i].lpszFileName = qStringToLPSTR(attachments[i]);
pAttachments[i].lpFileType = NULL;
}
msg.ulReserved = 0;
msg.lpszSubject = qStringToLPSTR(subject);
msg.lpszNoteText = qStringToLPSTR(message);
msg.lpszMessageType = NULL;
msg.lpszDateReceived = NULL;
msg.lpszConversationID = NULL;
msg.flFlags = 0;
msg.lpOriginator = NULL;
msg.nRecipCount = 1;
msg.lpRecips = pRecipients;
msg.nFileCount = attachments.size();
msg.lpFiles = pAttachments;
int status = mapiSendMail(0, 0, &msg, MAPI_DIALOG | MAPI_LOGON_UI | MAPI_NEW_SESSION, 0);
Q_UNUSED(status);
if (pRecipients)
delete[] pRecipients;
if (pAttachments)
delete[] pAttachments;
}

View file

@ -0,0 +1,31 @@
/*
* mailmsg_windows.h - send e-mails programmaticaly. On Windows.
* Copyright (C) 2008 Michail Pishchagin
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef MAILMSG_WINDOWS_H
#define MAILMSG_WINDOWS_H
class QString;
class QStringList;
namespace MailMsg {
void sendEmail(const QString& to, const QString& subject, const QString& message, const QStringList& attachments);
};
#endif

288
doc/Doxyfile.private Normal file
View file

@ -0,0 +1,288 @@
# Doxyfile 1.4.5
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = Psi
PROJECT_NUMBER =
OUTPUT_DIRECTORY = doc/api/private
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 5
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
BUILTIN_STL_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = YES
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = .
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.d \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.idl \
*.odl \
*.cs \
*.php \
*.php3 \
*.inc \
*.m \
*.mm \
*.dox \
*.py \
*.C \
*.CC \
*.C++ \
*.II \
*.I++ \
*.H \
*.HH \
*.H++ \
*.CS \
*.PHP \
*.PHP3 \
*.M \
*.MM \
*.PY
RECURSIVE = YES
EXCLUDE = _darcs/ \
third-party/ \
iris/libidn/ \
iris/irisnet/ \
iris/irisnet/jdns \
iris/example \
src/tools/tunecontroller/plugins/winamp/third-party \
src/tools/iconset/unittest \
src/tools/optionstree/optionstreeviewtest \
src/tools/zip/minizip \
src/unittest \
src/widgets/private/ \
src/widgets/unittest/ \
doc/
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = */.ui/* \
*/.moc/* \
moc_*
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = YES
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = NO
USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = .
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 1000
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES

288
doc/Doxyfile.public Normal file
View file

@ -0,0 +1,288 @@
# Doxyfile 1.4.5
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = Psi
PROJECT_NUMBER =
OUTPUT_DIRECTORY = doc/api/public
CREATE_SUBDIRS = no
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 5
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
BUILTIN_STL_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = NO
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = NO
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = .
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.d \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.idl \
*.odl \
*.cs \
*.php \
*.php3 \
*.inc \
*.m \
*.mm \
*.dox \
*.py \
*.C \
*.CC \
*.C++ \
*.II \
*.I++ \
*.H \
*.HH \
*.H++ \
*.CS \
*.PHP \
*.PHP3 \
*.M \
*.MM \
*.PY
RECURSIVE = YES
EXCLUDE = _darcs/ \
third-party/ \
iris/libidn/ \
iris/irisnet/ \
iris/irisnet/jdns \
iris/example \
src/tools/tunecontroller/plugins/winamp/third-party \
src/tools/iconset/unittest \
src/tools/optionstree/optionstreeviewtest \
src/tools/zip/minizip \
src/unittest \
src/widgets/private/ \
src/widgets/unittest/ \
doc/
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = */.ui/* \
*/.moc/* \
moc_*
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
USE_HTAGS = NO
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = .
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 1000
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES

22
doc/build-mac.txt Normal file
View file

@ -0,0 +1,22 @@
Building Psi on Mac OS X
------------------------
To simply compile Psi, the same instructions apply as for other *nix
platforms:
1. First, configure the build using the 'configure' script, optionally
adding parameters to specify where to find certain dependencies:
./configure
2. Build the binary:
make
After this, the built binary 'psi.app' will be available in src/.
For more details, check 'doc/build-unix.txt'.
To make a distributable copy of your binary, do the following:
1. As above, use configure to configure the build
2. Alter the first lines of 'mac/Makefile' to reflect your setting
3. Run 'make -C mac/'.
This will create a distributable binary 'Psi.app' in 'mac/disk/'.
4. (OPTIONAL) Create a DMG image by running 'make -C mac/ dmg'.
This will create a 'Psi-<VERSION>.dmg' file in 'mac/'.
You can create your own DMG template to make the resulting DMG
look different. For more instructions on this, see 'mac/Makefile'.

75
doc/build-unix.txt Normal file
View file

@ -0,0 +1,75 @@
Requirements
------------
* You need Qt 4.2 or higher to build Psi. If a packaged version of Qt is not
available for your OS (or if you want debug symbols in your Qt libraries), you
will need to build and install Qt 4.1 yourself. See the Qt instructions to find
out how to do this.
* You need QCA 2.0 and the QCA OpenSSL plugin, which you can get at
http://delta.affinix.com/qca/2.0/beta2
Instructions on how to build these packages can be found below.
The 'Building QCA' and 'Building QCA the OpenSSL plugin' sections can be
skipped by downloading the sources of these packages, and unpackaging them
in third-party/qca (see the INSTALL file for the exact location of each
package).
Building QCA
------------
After unpacking the QCA sources, run the following command:
./configure --prefix=/usr/local/qca2
If configure cannot find your Qt4 library, use the --qtdir option to specify
the path to Qt (e.g. /usr/share/qt4), or make sure that the qmake binary for
Qt4 occurs first in your PATH. If something else goes wrong, use the --debug
option to get more information on the configuration process.
After QCA configured, run
make
make install
To be able to run applications using QCA2, you will need to add
/usr/local/qca2/lib to /etc/ld.so.conf and run ldconfig, or add
/usr/local/qca2/lib to your LD_LIBRARY_PATH.
Building the QCA OpenSSL plugin
-------------------------------
After unpacking the QCA OpenSSL plugin's sources, run the following commands
./configure
make
make install
See above on how to troubleshoot configure problems.
Building the QCA GnuPG plugin
-------------------------------
After unpacking the QCA GnuPG plugin's sources, run the following commands
./configure
make
make install
See above on how to troubleshoot configure problems.
Building Psi
------------
From the toplevel Psi source dir, run the following commands:
./configure --prefix=/usr/local/psi
make
make install
This should configure, build, and install Psi. See above on how to troubleshoot
configure problems.

79
doc/build-win.txt Normal file
View file

@ -0,0 +1,79 @@
Requirements
------------
* You need Qt 4.2 or higher to build Psi. Just download and install the MingW32
self-installer. All the instructions below are performed from within the Qt command
prompt (found in the Start menu)
* You need QCA 2.0 and the QCA OpenSSL plugin, which you can get at
http://delta.affinix.com/qca/2.0/beta2
Instructions on how to build these packages can be found below.
* If you want to use the QCA OpenSSL plugin on Windows, you will need to
download and install the OpenSSL package from
http://www.openssl.org/related/binaries.html
The 'Building QCA' and 'Building QCA the OpenSSL plugin' sections can be
skipped by downloading the sources of these packages, and unpackaging them
in third-party/qca (see the INSTALL file for the exact location of each
package). Then, uncomment the 'CONFIG += qca-static' in conf_windows.pri.
Building QCA
------------
* Edit crypto_win.prf and change the QCA_PATH to the dir where you unpacked QCA. Then,
change -lqca to -lqca2.
* Copy crypto_win.prf to the mkspecs/features subdir of your Qt dir, and rename it to
crypto.prf.
* In the src/ dir, run the following commands:
qmake
mingw32-make
* Copy lib/qca2.dll to your system dir (e.g. \Windows\System32)
Building the QCA OpenSSL plugin
-------------------------------
* Go to the dir where you unpacked OpenSSL. In the lib\MingW subdir of that dir, copy the
files ssleay32.a and libeay32.a to ssleay32.lib and libeay32.lib respectively.
* Edit qca-openssl.pro, and change the OPENSSL_PREFIX in
the windows section to point to the dir where you installed OpenSSL (e.g. C:/OpenSSL).
Change -L$$OPENSSL_PREFIX/lib into -L$$OPENSSL_PREFIX/lib/MingW.
* Run the following commands:
qmake
mingw32-make
Building Psi
------------
* Edit src/src.pro in the Psi tree, and remove the line CONFIG += DEBUG.
* From the toplevel dir in your tree, run the following commands:
qmake
mingw32-make
* There should now be a binary psi.exe in src/release.
Packaging Psi
-------------
To package everything up into a self-containing dir, edit win32/Makefile to reflect your
local setup, and run
mingw32-make -C win32
This should make a dir win32/psi with all the necessary files.

20
dsa_pub.pem Normal file
View file

@ -0,0 +1,20 @@
-----BEGIN PUBLIC KEY-----
MIIDOzCCAi4GByqGSM44BAEwggIhAoIBAQD9PC101SLooiS7UiAYZWszXSsLlXVx
oY2sMy7Loy37K0Dj7TfxtoA6X7wUzxPSGxo7SfeETjqwO1Xd0kFx+njQWUv04TlE
Ut8jzVCM28h1Sj6vygq57I4/xNvStWWAuhpt+s4jPDryE0ixihRzRZFZYdiOWI7j
PnkQAPeONjIrygva+EN0kJgw7x4OEp2B7rRlMM9N6VpaVxRIkFrdBXyVyTivWHt3
ndsN7yNYWkEa0kmEM1f3pDNwwOiToIW8vt7Jfxmq+EUi+wAoSR+7NbhmEHQwqrv1
/BPrHJuTnlzPPBxGgGNhw5Chj3zyKVM3iy4NWP+fMUIMdew9d3z1BSitAhUAp6SZ
1/fwORUQ4HJ2QN86QI8ypaMCggEBAIx1tFPhnxOGcIv8pl63yJt+U49PPGFRbsYs
L6w30faZa8HJ/z44U99dq4egt983ZWJlsThkjl7CeL2UE3UO12Z76aONfaigIOik
ij/D7/A+U9m0e1WqPc4/HmMLIVSYsVMtbcZkrvZcBA0A5c0JCBc0ZsUT6ImBsaSt
NWE7o0CZGzUKJ7OUuxWL4/a5hvyi52DXrJmK5T5v15VbcEf17MQtpNSsLsNugPsw
OAO8eljmDtOWW5aDtLe75UFZuDgHKch8xxMpnuKW+mGc9HC/U7I0GBhhq1LA17Xf
pEv+UfyDFyYWzKuZQ61cCdC+tCvDqeF7iyMgIQjmh6f0I23Kz+cDggEFAAKCAQBu
GFIbwJHL6w/d3Jgw03b7YQQQYX7G4S1rOW/nCs9upklwNo1OI58qvrBvBl3SwubM
uTQfdgjg8IUI24rhwAvtMvvvHkXEPypW9XrmxcABKloGNk0LVdYpzSl3tUH6I95w
YBu7WdWrutFKhLEouWUXHH930fIlm/tnTJlh2J1oE7u1SiH+hHNzjO4ip40qwSjS
CHFm+TBASkg1RJGK5JHTp+9g6kllRGIqKYZ5gf0GT3Xr1kbdahlwQzR4AI+Sgjz9
z5uCWe/zc2mPhJgkCV/s7KV2oSu7qETkmEyQg8pjiJP0tzRCiQ6FK1GDFmOdQIpl
btKfiD4qC+U4HKBH4xcn
-----END PUBLIC KEY-----

160
iconsets.qrc Normal file
View file

@ -0,0 +1,160 @@
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource>
<file>iconsets/system/default/icondef.xml</file>
<file>iconsets/system/default/ssl_no.png</file>
<file>iconsets/system/default/ssl_yes.png</file>
<file>iconsets/system/default/logo_16.png</file>
<file>iconsets/system/default/logo_32.png</file>
<file>iconsets/system/default/logo_48.png</file>
<file>iconsets/system/default/logo_96.png</file>
<file>iconsets/system/default/logo_128.png</file>
<!--
<file>iconsets/roster/default/ask.png</file>
<file>iconsets/roster/default/away.png</file>
<file>iconsets/roster/default/chat.fading.png</file>
<file>iconsets/roster/default/online.dimming.png</file>
<file>iconsets/roster/default/dnd.png</file>
<file>iconsets/roster/default/chatty.png</file>
<file>iconsets/roster/default/file.fading.png</file>
<file>iconsets/roster/default/groupclose.png</file>
<file>iconsets/roster/default/groupopen.png</file>
<file>iconsets/roster/default/headline.png</file>
<file>iconsets/roster/default/icondef.xml</file>
<file>iconsets/roster/default/invisible.png</file>
<file>iconsets/roster/default/message.fading.png</file>
<file>iconsets/roster/default/noauth.png</file>
<file>iconsets/roster/default/offline.png</file>
<file>iconsets/roster/default/online.png</file>
<file>iconsets/roster/default/perr.png</file>
<file>iconsets/roster/default/system.png</file>
<file>iconsets/roster/default/xa.png</file>
<file>iconsets/system/default/account.png</file>
<file>iconsets/system/default/add.png</file>
<file>iconsets/system/default/advanced.png</file>
<file>iconsets/system/default/appearance.png</file>
<file>iconsets/system/default/arrow_down.png</file>
<file>iconsets/system/default/arrow_left.png</file>
<file>iconsets/system/default/arrow_right.png</file>
<file>iconsets/system/default/arrow_up.png</file>
<file>iconsets/system/default/browse.png</file>
<file>iconsets/system/default/cancel.png</file>
<file>iconsets/system/default/changeacc.png</file>
<file>iconsets/system/default/chatclear.png</file>
<file>iconsets/system/default/close.png</file>
<file>iconsets/system/default/closetab.png</file>
<file>iconsets/system/default/configure_toolbars.png</file>
<file>iconsets/system/default/configure-room.png</file>
<file>iconsets/system/default/disco.png</file>
<file>iconsets/system/default/download.png</file>
<file>iconsets/system/default/events.png</file>
<file>iconsets/system/default/eye_blue.png</file>
<file>iconsets/system/default/filemanager.png</file>
<file>iconsets/system/default/groupchat.png</file>
<file>iconsets/system/default/help.png</file>
<file>iconsets/system/default/history.png</file>
<file>iconsets/system/default/logo_16.png</file>
<file>iconsets/system/default/logo_32.png</file>
<file>iconsets/system/default/logo_48.png</file>
<file>iconsets/system/default/logo_64.png</file>
<file>iconsets/system/default/logo_128.png</file>
<file>iconsets/system/default/icondef.xml</file>
<file>iconsets/system/default/info.png</file>
<file>iconsets/system/default/jabber.png</file>
<file>iconsets/system/default/key.png</file>
<file>iconsets/system/default/key_bad.png</file>
<file>iconsets/system/default/key_unknown.png</file>
<file>iconsets/system/default/ok.png</file>
<file>iconsets/system/default/command.png</file>
<file>iconsets/system/default/options.png</file>
<file>iconsets/system/default/pgp.png</file>
<file>iconsets/system/default/play.png</file>
<file>iconsets/system/default/play_sounds.png</file>
<file>iconsets/system/default/psilogo.png</file>
<file>iconsets/system/default/psimain.png</file>
<file>iconsets/system/default/quit.png</file>
<file>iconsets/system/default/register.png</file>
<file>iconsets/system/default/reload.png</file>
<file>iconsets/system/default/remove.png</file>
<file>iconsets/system/default/search.png</file>
<file>iconsets/system/default/self.png</file>
<file>iconsets/system/default/send.png</file>
<file>iconsets/system/default/show_away.png</file>
<file>iconsets/system/default/show_hidden.png</file>
<file>iconsets/system/default/show_offline.png</file>
<file>iconsets/system/default/shortcuts.png</file>
<file>iconsets/system/default/smile.png</file>
<file>iconsets/system/default/ssl_no.png</file>
<file>iconsets/system/default/ssl_yes.png</file>
<file>iconsets/system/default/start-chat.png</file>
<file>iconsets/system/default/status.png</file>
<file>iconsets/system/default/stop.png</file>
<file>iconsets/system/default/time.png</file>
<file>iconsets/system/default/tip.png</file>
<file>iconsets/system/default/upload.png</file>
<file>iconsets/system/default/url.png</file>
<file>iconsets/system/default/vcard.png</file>
<file>iconsets/system/default/xml.png</file>
<file>iconsets/system/default/publish_tune.png</file>
<file>iconsets/system/default/whiteboarding/whiteboard.png</file>
<file>iconsets/system/default/whiteboarding/select.png</file>
<file>iconsets/system/default/whiteboarding/translate.png</file>
<file>iconsets/system/default/whiteboarding/rotate.png</file>
<file>iconsets/system/default/whiteboarding/scale.png</file>
<file>iconsets/system/default/whiteboarding/scroll.png</file>
<file>iconsets/system/default/whiteboarding/erase.png</file>
<file>iconsets/system/default/whiteboarding/draw_paths.png</file>
<file>iconsets/system/default/whiteboarding/draw_lines.png</file>
<file>iconsets/system/default/whiteboarding/draw_ellipses.png</file>
<file>iconsets/system/default/whiteboarding/draw_circles.png</file>
<file>iconsets/system/default/whiteboarding/draw_rectangles.png</file>
<file>iconsets/system/default/whiteboarding/add_text.png</file>
<file>iconsets/system/default/whiteboarding/add_image.png</file>
<file>iconsets/system/default/whiteboarding/bring_forwards.png</file>
<file>iconsets/system/default/whiteboarding/bring_to_front.png</file>
<file>iconsets/system/default/whiteboarding/send_backwards.png</file>
<file>iconsets/system/default/whiteboarding/send_to_back.png</file>
<file>iconsets/system/default/whiteboarding/group.png</file>
<file>iconsets/system/default/whiteboarding/ungroup.png</file>
<file>iconsets/emoticons/default/angry.png</file>
<file>iconsets/emoticons/default/bat.png</file>
<file>iconsets/emoticons/default/beer.png</file>
<file>iconsets/emoticons/default/biggrin.png</file>
<file>iconsets/emoticons/default/blush.png</file>
<file>iconsets/emoticons/default/boy.png</file>
<file>iconsets/emoticons/default/brflower.png</file>
<file>iconsets/emoticons/default/brheart.png</file>
<file>iconsets/emoticons/default/coffee.png</file>
<file>iconsets/emoticons/default/coolglasses.png</file>
<file>iconsets/emoticons/default/cry.png</file>
<file>iconsets/emoticons/default/cuffs.png</file>
<file>iconsets/emoticons/default/devil.png</file>
<file>iconsets/emoticons/default/drink.png</file>
<file>iconsets/emoticons/default/flower.png</file>
<file>iconsets/emoticons/default/frowning.png</file>
<file>iconsets/emoticons/default/girl.png</file>
<file>iconsets/emoticons/default/heart.png</file>
<file>iconsets/emoticons/default/hugleft.png</file>
<file>iconsets/emoticons/default/hugright.png</file>
<file>iconsets/emoticons/default/icondef.xml</file>
<file>iconsets/emoticons/default/kiss.png</file>
<file>iconsets/emoticons/default/lamp.png</file>
<file>iconsets/emoticons/default/mail.png</file>
<file>iconsets/emoticons/default/music.png</file>
<file>iconsets/emoticons/default/no.png</file>
<file>iconsets/emoticons/default/oh.png</file>
<file>iconsets/emoticons/default/phone.png</file>
<file>iconsets/emoticons/default/photo.png</file>
<file>iconsets/emoticons/default/pussy.png</file>
<file>iconsets/emoticons/default/rainbow.png</file>
<file>iconsets/emoticons/default/smile.png</file>
<file>iconsets/emoticons/default/star.png</file>
<file>iconsets/emoticons/default/stare.png</file>
<file>iconsets/emoticons/default/tongue.png</file>
<file>iconsets/emoticons/default/unhappy.png</file>
<file>iconsets/emoticons/default/wink.png</file>
<file>iconsets/emoticons/default/yes.png</file>
-->
</qresource>
</RCC>

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 695 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 714 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 712 B

View file

@ -0,0 +1,280 @@
<?xml version='1.0' encoding='UTF-8'?>
<icondef>
<meta>
<name>Stellar (default)</name>
<version>1.0</version>
<description>Default Psi 0.9.3 iconset</description>
<creation>2003-07-08</creation>
<home>http://psi.affinix.com</home>
<author email='jmkim@uci.edu'>Jason Kim</author>
<author jid='mblsha@jabber.ru' email='mblsha@users.sourceforge.net' www='http://maz.sf.net'>Michail Pishchagin (icondef.xml)</author>
</meta>
<!-- Normal icons -->
<icon>
<text>:-)</text>
<text>:)</text>
<object mime='image/png'>smile.png</object>
</icon>
<icon>
<text>;-)</text>
<text>;)</text>
<object mime='image/png'>wink.png</object>
</icon>
<icon>
<text>:-P</text>
<text>:-p</text>
<text>:P</text>
<text>:p</text>
<object mime='image/png'>tongue.png</object>
</icon>
<icon>
<text>:-D</text>
<text>:-d</text>
<text>:D</text>
<text>:d</text>
<text>:-></text>
<text>:></text>
<object mime='image/png'>biggrin.png</object>
</icon>
<icon>
<text>:-(</text>
<text>:(</text>
<object mime='image/png'>unhappy.png</object>
</icon>
<icon>
<text>:'-(</text>
<text>:'(</text>
<text>;-(</text>
<text>;(</text>
<object mime='image/png'>cry.png</object>
</icon>
<icon>
<text>:-O</text>
<text>:-o</text>
<text>:O</text>
<text>:o</text>
<object mime='image/png'>oh.png</object>
</icon>
<icon>
<text>:-@</text>
<text>:@</text>
<object mime='image/png'>angry.png</object>
</icon>
<icon>
<text>:-$</text>
<text>:$</text>
<object mime='image/png'>blush.png</object>
</icon>
<icon>
<text>:-|</text>
<text>:|</text>
<object mime='image/png'>stare.png</object>
</icon>
<icon>
<text>:-S</text>
<text>:-s</text>
<text>:S</text>
<text>:s</text>
<object mime='image/png'>frowning.png</object>
</icon>
<icon>
<text>B-)</text>
<text>B)</text>
<text>(H)</text>
<text>(h)</text>
<object mime='image/png'>coolglasses.png</object>
</icon>
<icon>
<text>:-[</text>
<text>:[</text>
<object mime='image/png'>bat.png</object>
</icon>
<!-- MSN icons -->
<icon>
<text>(L)</text>
<text>(l)</text>
<object mime='image/png'>heart.png</object>
</icon>
<icon>
<text>(U)</text>
<text>(u)</text>
<object mime='image/png'>brheart.png</object>
</icon>
<icon>
<text>(Y)</text>
<text>(y)</text>
<object mime='image/png'>yes.png</object>
</icon>
<icon>
<text>(N)</text>
<text>(n)</text>
<object mime='image/png'>no.png</object>
</icon>
<icon>
<text>(Z)</text>
<text>(z)</text>
<object mime='image/png'>boy.png</object>
</icon>
<icon>
<text>(X)</text>
<text>(x)</text>
<object mime='image/png'>girl.png</object>
</icon>
<icon>
<text>(@)</text>
<object mime='image/png'>pussy.png</object>
</icon>
<icon>
<text>(})</text>
<object mime='image/png'>hugleft.png</object>
</icon>
<icon>
<text>({)</text>
<object mime='image/png'>hugright.png</object>
</icon>
<icon>
<text>(6)</text>
<object mime='image/png'>devil.png</object>
</icon>
<icon>
<text>(R)</text>
<text>(r)</text>
<object mime='image/png'>rainbow.png</object>
</icon>
<icon>
<text>(W)</text>
<text>(w)</text>
<object mime='image/png'>brflower.png</object>
</icon>
<icon>
<text>(F)</text>
<text>(f)</text>
<object mime='image/png'>flower.png</object>
</icon>
<icon>
<text>(P)</text>
<text>(p)</text>
<object mime='image/png'>photo.png</object>
</icon>
<icon>
<text>(T)</text>
<text>(t)</text>
<object mime='image/png'>phone.png</object>
</icon>
<icon>
<text>(*)</text>
<object mime='image/png'>star.png</object>
</icon>
<icon>
<text>(8)</text>
<object mime='image/png'>music.png</object>
</icon>
<icon>
<text>(I)</text>
<text>(i)</text>
<object mime='image/png'>lamp.png</object>
</icon>
<icon>
<text>(B)</text>
<text>(b)</text>
<object mime='image/png'>beer.png</object>
</icon>
<icon>
<text>(D)</text>
<text>(d)</text>
<object mime='image/png'>drink.png</object>
</icon>
<icon>
<text>(C)</text>
<text>(c)</text>
<object mime='image/png'>coffee.png</object>
</icon>
<icon>
<text>(%)</text>
<object mime='image/png'>cuffs.png</object>
</icon>
<icon>
<text>(E)</text>
<text>(e)</text>
<object mime='image/png'>mail.png</object>
</icon>
<icon>
<text>(K)</text>
<text>(k)</text>
<object mime='image/png'>kiss.png</object>
</icon>
</icondef>

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 794 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

36
iconsets/roster/README Normal file
View file

@ -0,0 +1,36 @@
Roster iconset README
~~~~~~~~~~~~~~~~~~~~~
For general information about creation of iconsets, see psi/libpsi/iconset/ICONSET-HOWTO.
This file contains only required icon names and some details about them.
Read a little note about animations in the README for the system iconsets.
Note: how to add service iconsets: modify src/psiiconset.cpp and add new service RegExp,
add the default iconset name to profiles.cpp, and add your iconset to common.cpp's
category2icon() (and don't forget to add entry to lv_isServices in ui_options.ui).
status/online - Online
status/offline - Offline
status/away - Away
status/xa - eXtended Away
status/dnd - Do Not Disturb
status/invisible - Invisible
status/chat - Free For Chat
// special statuses
status/ask - We are asking for authorization
status/noauth - No authorization
status/error - Error status (contact is unavailable due to some reason)
// special roster icons
psi/chat - Received a chat message
psi/message - Received a message
psi/headline - Received a headline message
psi/system - Received a system event
psi/connect - Connection to server in progress...
// these icons make sense, only when used in default roster iconset
psi/groupClosed - Closed group in roster
psi/groupEmpty - Empty group in roster
psi/groupOpen - Open group in roster

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

View file

@ -0,0 +1,117 @@
<?xml version='1.0' encoding='UTF-8'?>
<icondef>
<meta>
<name>Stellar3</name>
<description>Stellar3 Iconset</description>
<version>0.1</version>
<creation>2006-08-30</creation>
<author>Jason Kim (Base icon)</author>
<author www='http://www.everaldo.com'>Everaldo Coelho (Overlay icons)</author>
<author jid='remko@el-tramo.be' email='remko@el-tramo.be'
www='http://el-tramo.be'>Remko Troncon (Packaging)</author>
</meta>
<!-- Normal status icons -->
<icon>
<x xmlns='name'>status/online</x>
<object mime='image/png'>online.png</object>
</icon>
<icon>
<x xmlns='name'>status/offline</x>
<object mime='image/png'>offline.png</object>
</icon>
<icon>
<x xmlns='name'>status/away</x>
<object mime='image/png'>away.png</object>
</icon>
<icon>
<x xmlns='name'>status/xa</x>
<object mime='image/png'>xa.png</object>
</icon>
<icon>
<x xmlns='name'>status/dnd</x>
<object mime='image/png'>dnd.png</object>
</icon>
<icon>
<x xmlns='name'>status/invisible</x>
<object mime='image/png'>invisible.png</object>
</icon>
<icon>
<x xmlns='name'>status/chat</x>
<object mime='image/png'>chatty.png</object>
</icon>
<!-- Special statuses -->
<icon>
<x xmlns='name'>status/ask</x>
<object mime='image/png'>ask.png</object>
</icon>
<icon>
<x xmlns='name'>status/noauth</x>
<object mime='image/png'>noauth.png</object>
</icon>
<icon>
<x xmlns='name'>status/error</x>
<object mime='image/png'>perr.png</object>
</icon>
<!-- Special icons -->
<icon>
<x xmlns='name'>psi/chat</x>
<x xmlns='type'>animation</x>
<object mime='image/png'>chat.fading.png</object>
</icon>
<icon>
<x xmlns='name'>psi/message</x>
<x xmlns='type'>animation</x>
<object mime='image/png'>message.fading.png</object>
</icon>
<icon>
<x xmlns='name'>psi/headline</x>
<object mime='image/png'>headline.png</object>
</icon>
<icon>
<x xmlns='name'>psi/file</x>
<x xmlns='type'>animation</x>
<object mime='image/png'>file.fading.png</object>
</icon>
<icon>
<x xmlns='name'>psi/system</x>
<!--<x xmlns='type'>animation</x>-->
<object mime='image/png'>system.png</object>
</icon>
<icon>
<x xmlns='name'>psi/connect</x>
<x xmlns='type'>animation</x>
<object mime='image/png'>online.dimming.png</object>
</icon>
<icon>
<x xmlns='name'>psi/groupClosed</x>
<object mime='image/png'>groupclose.png</object>
</icon>
<!-- FIXME -->
<icon>
<x xmlns='name'>psi/groupEmpty</x>
<object mime='image/png'>groupopen.png</object>
</icon>
<icon>
<x xmlns='name'>psi/groupOpen</x>
<object mime='image/png'>groupopen.png</object>
</icon>
</icondef>

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 953 B

79
iconsets/system/README Normal file
View file

@ -0,0 +1,79 @@
System iconset README
~~~~~~~~~~~~~~~~~~~~~
For general information about creation of iconsets, see psi/libpsi/iconset/ICONSET-HOWTO.
This file contains only required icon names and some details about them.
System iconset, is a special iconset, that contains icons that are used in labels,
buttons and other widgets in Psi.
And a little note about animations: Icons could contain animations, and system Psi
animations are a bit special. Their first frame is used only for creation of static
images (such as in popup menus, or if Psi's alert style is set to 'blink'). This first
frame is not used in animation (since it's stripped out of them).
PS: If you would use Psi's .png-style animation don't forget to add <x xmlns='type'>animation</x>
tag to the icon.
psi/account - Used in Modify accounts dialog
psi/addContact - Add contact
psi/arrowUp - Arrow up
psi/arrowDown - Arrow down
psi/arrowLeft - Arrow left
psi/arrowRight - Arrow right
psi/profile - Change account
psi/clearChat - Clear chat
psi/groupChat - GroupChat
psi/help - Help menu
psi/history - Chat history
psi/vCard - vCard/User info
psi/info - Info icon
psi/jabber - Jabber icon
psi/options - Options
psi/toolbars - Configure Toolbars
psi/pgp - PGP
psi/keySingle - Single (public) PGP key
psi/keyBad - Bad PGP key
psi/keyDouble - Double (public + private) PGP key
psi/keyUnknown - Unknown PGP key
psi/playSounds - Play sounds
psi/psiMain - Psi logo, used in roster and tray context menu
psi/quit - Quit
psi/register - Register service
psi/reload - Reload button
psi/stop - Stop button
psi/remove - Remove/Delete item
psi/search - Search service
psi/sendMessage - New plain message/Send message
psi/cryptoYes - Encryption enabled
psi/cryptoNo - Encryption disabled
psi/time - Time
psi/www - URL icon
psi/email - Email icon
psi/xml - XML icon
psi/psi16 - 16x16 Psi icon
psi/psi32 - 32x32 Psi icon
psi/psi48 - 48x48 Psi icon
psi/psiMac - 128x128 Psi MacOS X icon
psi/psiLogo - Psi logo. Used in the first dialog. NOTE: the leftmost and the
rightmost vertical lines of that icon are used for stretching
psi/smile - Used in the profile creation dialog
psi/ok - Check icon
psi/cancel - Cross icon
psi/done - Done icon -- TODO
psi/close - Close icon -- TODO: add to default iconset
psi/apply - Apply icon -- TODO: add
psi/edit/clear - Clear icon
psi/edit/copy - Copy icon
psi/edit/cut - Cut icon
psi/edit/delete - Delete icon
psi/edit/paste - Paste icon
psi/edit - Edit icon
psi/edit/trash - Trash icon
psi/tip - Tip of the Day
psi/browse - Browse file
psi/play - Play sound
psi/eye - Used to determine Hidden group visibility
psi/upload - Upload icon
psi/download - Download icon
psi/filemanager - Transfer Manager

Binary file not shown.

After

Width:  |  Height:  |  Size: 969 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 603 B

Some files were not shown because too many files have changed in this diff Show more