Commit Graph

174 Commits

Author SHA1 Message Date
thunder2
bacf1f5a80 Added remove, copy to clipboard and resend of messages in History Browser.
Clear history in PeersDialog don't remove messages from the History Keeper.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3447 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-05 20:50:34 +00:00
thunder2
1f8017d06a Redesigned history browser of group chat.
New chat style for history browser.

There's more to come.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3443 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-04 23:59:08 +00:00
thunder2
8213a2aa77 Chat service:
- Added send time to ChatInfo.

Chat:
- Reworked IMHistoryKeeper to save only needed data as raw data (not formatted from PeersDialog).
- Renamed the public chat history file from "his1.xml" to "chatPublic.xml" and moved it from data dir to config dir. The current history is lost. Please delete the file "his1.xml" manually.
- Optimized save of the history. Save only when changed, also during the runtime.
- Clear the history in PeersDialog clears the IMHistoryKeeper too.
- New setting to send chat message with Ctrl+Return. Changed the check for Enter in PeersDialog and PopupChatDialog from textChanged to eventFilter.
- Smileys are inserted at the current cursor position, not added at the end.
- Don't send emty messages.

New class ChatStyle:
- Created a new class for the work with chat styles and smileys.
- Currently only two internal styles are available - private and public. Later more external styles planned.
- Moved functions for loading and showing the emoticons from PeersDialog and PopupChatDialog to the new class.

Private chat:
- Split private chat style into incoming.htm and outgoing.htm.
- Removed style change.

Public chat:
- New chat style incoming.htm, outgoing.htm, hincoming.htm and houtgoing.htm.

Chat feed:
- Show links and emoticons if they are enabled for public chat.

PeersDialog:
- Show the own name and location only once at start and not with QTimer every 1.5 second.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3441 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-04 14:23:30 +00:00
defnax
1d957f3674 renaming Persons to Friends
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3438 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-03 17:04:27 +00:00
thunder2
48acd856af Added the peers custom state string to NotifyBase::notifyCustomState and to the signal NotifyQt::notifyCustomState.
Changed the display of the peers custom state string in PopupChatDialog from QTimer to signal.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3429 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-02 10:15:13 +00:00
thunder2
80764a1ff7 Fixed display of status icon in PeersDialog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3428 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-02 08:25:30 +00:00
thunder2
7f837e9778 Splitted queue of chat messages in chat service into public and private queue.
Reworked the interface of the chat service. So full recomile is needed.
With disabled flags for private chat (RS_CHAT_OPEN_NEW and RS_CHAT_REOPEN), the incoming private chat messages are queued (only for the runtime) until the user shows the private chat dialog.
When a new chat message is available, the icon of the gpg and ssl contact changed in MessengerWindow and PeersDialog and a new tray icon is shown.
Fixed compiler warning.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3421 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-01 17:56:15 +00:00
defnax
7dd99a0c35 Added a History Browser for GroupChat
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3420 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-01 14:15:50 +00:00
thunder2
b6b5fa5cd6 Changed the chat service from a timer tick from the gui to a service tick.
Created a new notifier for new chat available - NOTIFY_LIST_CHAT. Removed the QTimer in PeersDialog and connect the signal.
Created news feed for public chat (prework of defnax, need still some gui changes)

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3413 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-31 17:13:52 +00:00
thunder2
77418bd4b6 Removed peer name from "is typing..." message of the sender and add it of the receiver side.
Now the "is typing..." message can be translated.
It is still not a good solution, but it works for now.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3408 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-30 18:33:19 +00:00
defnax
4d9eaac22d changed Avatar pixel size, and added for Privat Chat's Avatar background new images.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3405 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-30 15:43:07 +00:00
thunder2
8c8a704322 Show context menu in PeersDialog and MessengerWindow with no active row.
Now you can add person links with no contacts.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3403 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-30 13:03:12 +00:00
thunder2
66f3c7fee8 The connection attempt to all ssl id's of one gpg id can be started from the context menu in PeersDialog and MessengerWindow.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3401 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-28 19:50:38 +00:00
defnax
d352621f74 Added a Splitter for Group Chat, and move the Buttons to the bottom, to get more space for Group Chat history.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3399 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-28 00:30:18 +00:00
thunder2
dc7dd949ca MessengerWindow:
- Display nick and location once at startup and not on every tick.
- Optimized loop of std::list from "for" with iterator to std::find.

PeersDialog:
- Optimized some loop of std::list from "for" with iterator to std::find.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3395 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-25 18:31:56 +00:00
thunder2
340982b996 p3ConnectMgr::connectResult
- added "mStatusChanged = true" on disconnect of a peer - the statusChange was not notified in time

MessengerWindow
- removed unused method updatePeersAvatar

Changes in status service:
- removed unused method statusAvailable
- new notifier for status change
- enabled the tick for receiving items
  - always up to date status map
  - no huge memory usage, if no list is visible who call getStatus and processed the received items
  - send notify on status change
- renamed getStatus to getStatusList and created a new method getStatus to get status of one peer
- fixed: send status directly after the connect of a peer

Now the frame around the avatar in private chat changes when the peer change the state.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3380 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-20 18:45:44 +00:00
defnax
1d2efca329 string rename
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3361 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-12 16:02:19 +00:00
defnax
3d9aa943ba Display Friends activities on Friends Storm Tab in PeersDialog. removed from MainWindow NewsFeed action.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3360 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-12 16:00:21 +00:00
thunder2
eccdba153e Ask for custom string in MessengerWindow and PeersDialog only when ssl contact is connected, like the avatar.
There are too much unnecessary internal SendItem's for the offline ssl contacts.

Maybe this should be handled in libretroshare. For every call to p3ChatService::sendAvatarRequest and p3ChatService::sendCustomStateRequest with currently no data available, a RsItem as created and sent. This is unnecessary, when the contact is offline.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3347 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-06 21:14:25 +00:00
leander-256
4bb4fc11e2 This intimidating patch renames libretroshare/src/rsiface/ to
libretroshare/src/retroshare/

All the relevant headers have been modified to reflect that change.

This allows installation of libretroshare on a system, headers will
be put in $WHEREVER/retroshare/ and we keep the ability to compile
against them, be it on the system or in the SVN tree.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3342 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-06 09:40:23 +00:00
thunder2
cfd4eaad37 Small optimizations in MessengerWindow and PeersDialog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3336 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-03 12:35:26 +00:00
thunder2
569ac25843 cleaned include files
- removed some dependencies between other header files
- removed many includes of <QtGui> and replaced it with only needed files

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3312 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-23 18:52:58 +00:00
thunder2
e3e4c97369 RsAutoUpdatePage
- Changed the timer of RsAutoUpdatePage to a single-shot timer.
  The update can take longer than the given timer interval.

Changed status service:
- send status when the peer connects (new monitor)
- send status to all online peers only when user changed it (not in every timer tick)

MessengerWindow:
- remove load and save of custom state string in settings

p3ChatService::sendCustomState
- send empty custom state string too

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3307 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-20 19:45:07 +00:00
defnax
b35ad11875 rename "Paste retroshare Link" to "Paste Person Link"
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3293 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-16 20:12:02 +00:00
thunder2
daf0ea50ee PeersDialog/MessengerWindow:
- send recommended friend as message
- paste recommended friends as "retroshare://person|..." from clipboard

reworked retroshare link handling
- added new type -> retroshare://person|<name>|<hash>
- added processing of links to RetroShareLink and RSLinkClipboard and removed all processing in anchorClicked of QTextBrowser 
- fixed parseClipboard to handle all found links in clipboard
- disabled the processing of the clickable links (RetroShareLink::processUrl), because QUrl can't handle the RetroShare links properly

removed memory leaks of the QAction in some context menus


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3292 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-15 11:25:34 +00:00
thunder2
e175f0fb87 PeersDialog & MessengerWindow: removed hidden column id and store them in data (Qt::UserRole) of the first column
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3206 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 14:19:48 +00:00
defnax
09ac44316a Added a menu for the Hide Unconnected Button and renamed it
Added new action for Hide Status Column to the Display Menu
Moved Hide Offline Friends action to the Display Menu

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3159 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-18 21:59:33 +00:00
thunder2
e282a55164 MessengerWindow
- cleaned include files
- changed menu for set the tree is decorated
- new check for sort rows by state
- saved the state of sort order, hide offline, sort by state and decorated state

PopupChatWindow:
- when setting "Grab Focus when chat arrives" not checked, the new chat window is opened minimized and flashed in taskbar

reworked start private chat and message to friend from PeersDialog and MessengerWindow:
- moved method for starting a private chat from PeersDialog and MessengerWindow to PopupChatDialog
- moved method for sending a message to a friend from PeersDialog to MessageComposer
- removed signal startChat

fixed bug in MessengerWindow:
- when peer is not online and private chat is not available, the message was send to the wrong peer (the current peer in PeersDialog)


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3154 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-17 17:39:32 +00:00
thunder2
e9fabc34e9 saved the state of the "hide unconnected" button in settings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3150 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-16 19:00:28 +00:00
leander-256
4dc30963cb Fix GCC 4.5 errors, which does not accept any more calling the constructor like
this: C::C()

For a more detailed and correct explanation see Harald van Dijk's comment here:
http://blog.flameeyes.eu/2010/06/02/tinderbox-summary-for-may-2010-gcc-4-5-berkeley-db-5-0-libpng-1-4


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3132 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-14 11:57:22 +00:00
thunder2
0d1eaba890 p3StatusService::getStatusQueue
- memory leak -> "RsItem* item" was not freed, when "dynamic_cast<RsStatusItem*>" failed
- optimized return of std::list as parameter and not as return. return will copy the list and its not necessary

p3StatusService::getStatus
- memory leak -> items in "std::list<RsStatusItem* > status_items" was not freed
- potential crash, when receiving a status for an unknown peer

p3Peers::getPeerDetails
- optimized - call to "AuthSSL::getAuthSSL()->OwnId()" only once
- optimized - add ip addresses directly to "d.ipAddressList"

PeersDialog::insertPeers
- fixed possible crash, when ssl child has disappeared and was removed from tree, there was a missing continue

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3125 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-13 12:26:23 +00:00
thunder2
b715a577b0 changed sort to case insensitive in peers tree
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3113 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-11 23:28:05 +00:00
thunder2
b343b9699c improvements PeersDialog
- save and load state of peer tree and splitter
- removed maximum length of dynamic dns line edit
- sort peers (only top level items) after internal value of state, not the name

cleaned some include files

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3087 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-08 21:38:36 +00:00
defnax
749945dda8 added a idle icon
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3076 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-05 23:27:08 +00:00
defnax
3056ec0875 Added to display Friends rsstatus on PeersDialog, icon and color change when Friend is Idle, Away or Busy
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3075 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-05 22:42:32 +00:00
thunder2
74978b77b7 some optimizations in PeersDialog::insertPeers
do not call too much into the libretroshare

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3031 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-29 21:56:34 +00:00
defnax
b99617d523 clean up unused functions in PeersDialog and set minimum size for items to 26.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2998 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-25 15:47:12 +00:00
thunder2
b0c1467abe improvement MessagesDialog:
- enabled draft box

bugfix MessagesDialog:
- correct from and to in list and message header

changes MessageComposer:
- cleaned channel part


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2994 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-25 09:32:14 +00:00
defnax
1fb7fb005c rename class and source ChanMsgDialog to MessageComposer
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2978 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-23 19:13:41 +00:00
thunder2
6baf56285b reworked settings
now there is only one global object for loading and saving settings

RshareSettings *Settings;

the class RSettings can be used too, but it is not prefered, because the default settings has no affect

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2964 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-20 21:53:27 +00:00
thunder2
a8c4b3b107 - moved the chat setting to the section [Chat]
- cleaned some comments of the settings classes

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2940 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-18 18:02:51 +00:00
thunder2
c3c6480f4b changed the usage of "QMenu*" to a local "QMenu"
removed usage of "new QMouseEvent", it was a memory leak
cleaned some includes

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2910 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-14 20:55:44 +00:00
defnax
24e4058bee store the font change on PeersDialog too
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2907 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-14 16:54:30 +00:00
defnax
47de2af50c added storing and loading Chat Font
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2903 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-14 12:42:31 +00:00
csoler
bed286030e suppressed weird characters at the beginnign of this file
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2902 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-14 11:48:20 +00:00
thunder2
e8f5bb5167 PeersDialog: "QPixmap picture" not needed as member
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2900 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-14 11:17:19 +00:00
thunder2
b242b73f31 Memory leaks:
- ftController::copyFile -> buffer and file pointer leaks in case of error
- PeersDialog::insertSendList -> new QTreeWidgetItem for all online peers, this function is not ready yet
- PeersDialog::insertPeers -> gpg_item = new QTreeWidgetItem(0); in case of no more accept connection
- pqissl::reset -> missing SSL_free of ssl_connection

Missing return:
- IntroPage::nextId


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2891 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-12 20:10:22 +00:00
leander-256
faace1f322 Memory leak fix
Instantiate the smiley pop-up window (and all its buttons) only once.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2890 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-12 19:03:30 +00:00
leander-256
988c6c31f5 Fixes two problems in the current group chat:
- the parser fails to embed two links in the same sentence
- the parser can potentially put smileys in the middle of <a> tags

Solution:
Since the message is in HTML, it is parsed into a DOM tree, then that DOM tree
is traversed and only the text nodes are parsed (see HandleRichText.cpp for
details).

Bonus fixes:
- missing std:: for endl (which was falling back to its Qt counterpart)
- commenting useless code in PeersDialog::smileyWidgetgroupchat()
- replacing int by size_t
- RetroShare.pro now queries gpgme-config for its include path


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2888 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-12 00:17:10 +00:00
thunder2
0c46da0dd2 Changed settings to local variable, no more as pointer on all classes.
RshareSettings settings;
settings.value(...);

It should lower memory usage and removes memory leaks.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2886 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-11 20:02:52 +00:00