mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-17 02:49:34 -04:00
Added NewsFeed / Popup / Chat Configuration options.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@870 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
52012e8fe9
commit
c05acf2f95
14 changed files with 281 additions and 50 deletions
|
@ -120,6 +120,7 @@ HEADERS += rshare.h \
|
||||||
gui/Preferences/GeneralDialog.h \
|
gui/Preferences/GeneralDialog.h \
|
||||||
gui/Preferences/PreferencesWindow.h \
|
gui/Preferences/PreferencesWindow.h \
|
||||||
gui/Preferences/ServerDialog.h \
|
gui/Preferences/ServerDialog.h \
|
||||||
|
gui/Preferences/NotifyDialog.h \
|
||||||
gui/Preferences/ConfirmQuitDialog.h \
|
gui/Preferences/ConfirmQuitDialog.h \
|
||||||
gui/Preferences/rsharesettings.h \
|
gui/Preferences/rsharesettings.h \
|
||||||
gui/Preferences/rsettings.h \
|
gui/Preferences/rsettings.h \
|
||||||
|
@ -223,6 +224,7 @@ FORMS += gui/ChatDialog.ui \
|
||||||
gui/Preferences/GeneralDialog.ui \
|
gui/Preferences/GeneralDialog.ui \
|
||||||
gui/Preferences/PreferencesWindow.ui \
|
gui/Preferences/PreferencesWindow.ui \
|
||||||
gui/Preferences/ServerDialog.ui \
|
gui/Preferences/ServerDialog.ui \
|
||||||
|
gui/Preferences/NotifyDialog.ui \
|
||||||
gui/Preferences/ConfirmQuitDialog.ui \
|
gui/Preferences/ConfirmQuitDialog.ui \
|
||||||
gui/toaster/CallToaster.ui \
|
gui/toaster/CallToaster.ui \
|
||||||
gui/toaster/ChatToaster.ui \
|
gui/toaster/ChatToaster.ui \
|
||||||
|
@ -331,6 +333,7 @@ SOURCES += main.cpp \
|
||||||
gui/Preferences/GeneralDialog.cpp \
|
gui/Preferences/GeneralDialog.cpp \
|
||||||
gui/Preferences/PreferencesWindow.cpp \
|
gui/Preferences/PreferencesWindow.cpp \
|
||||||
gui/Preferences/ServerDialog.cpp \
|
gui/Preferences/ServerDialog.cpp \
|
||||||
|
gui/Preferences/NotifyDialog.cpp \
|
||||||
gui/Preferences/ConfirmQuitDialog.cpp \
|
gui/Preferences/ConfirmQuitDialog.cpp \
|
||||||
gui/Preferences/rsharesettings.cpp \
|
gui/Preferences/rsharesettings.cpp \
|
||||||
gui/Preferences/rsettings.cpp \
|
gui/Preferences/rsettings.cpp \
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include "rsiface/rsiface.h"
|
#include "rsiface/rsiface.h"
|
||||||
#include "rsiface/rspeers.h"
|
#include "rsiface/rspeers.h"
|
||||||
#include "rsiface/rsmsgs.h"
|
#include "rsiface/rsmsgs.h"
|
||||||
|
#include "rsiface/rsnotify.h"
|
||||||
|
|
||||||
#include "chat/PopupChatDialog.h"
|
#include "chat/PopupChatDialog.h"
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
@ -137,20 +138,27 @@ void ChatDialog::insertChat()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTextEdit *msgWidget = ui.msgText;
|
QTextEdit *msgWidget = ui.msgText;
|
||||||
std::list<ChatInfo>::iterator it;
|
std::list<ChatInfo>::iterator it;
|
||||||
|
|
||||||
|
|
||||||
|
/** A RshareSettings object used for saving/loading settings */
|
||||||
|
RshareSettings settings;
|
||||||
|
uint chatflags = settings.getChatFlags();
|
||||||
|
|
||||||
/* add in lines at the bottom */
|
/* add in lines at the bottom */
|
||||||
for(it = newchat.begin(); it != newchat.end(); it++)
|
for(it = newchat.begin(); it != newchat.end(); it++)
|
||||||
{
|
{
|
||||||
std::string msg(it->msg.begin(), it->msg.end());
|
std::string msg(it->msg.begin(), it->msg.end());
|
||||||
//std::cerr << "ChatDialog::insertChat(): " << msg << std::endl;
|
std::cerr << "ChatDialog::insertChat(): " << msg << std::endl;
|
||||||
|
|
||||||
/* are they private? */
|
/* are they private? */
|
||||||
if (it->chatflags & RS_CHAT_PRIVATE)
|
if (it->chatflags & RS_CHAT_PRIVATE)
|
||||||
{
|
{
|
||||||
PopupChatDialog *pcd = getPrivateChat(it->rsid, it->name, true);
|
std::cerr << "ChatDialog::insert(Private)Chat(): ";
|
||||||
|
std::cerr << "Flags(" << chatflags << ") " << msg << std::endl;
|
||||||
|
|
||||||
|
PopupChatDialog *pcd = getPrivateChat(it->rsid, it->name, chatflags);
|
||||||
pcd->addChatMsg(&(*it));
|
pcd->addChatMsg(&(*it));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -322,10 +330,19 @@ void ChatDialog::privchat()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PopupChatDialog *ChatDialog::getPrivateChat(std::string id, std::string name, bool show)
|
PopupChatDialog *ChatDialog::getPrivateChat(std::string id, std::string name, uint chatflags)
|
||||||
{
|
{
|
||||||
/* see if it exists already */
|
/* see if it exists already */
|
||||||
PopupChatDialog *popupchatdialog = NULL;
|
PopupChatDialog *popupchatdialog = NULL;
|
||||||
|
bool show = false;
|
||||||
|
|
||||||
|
if (chatflags & RS_CHAT_REOPEN)
|
||||||
|
{
|
||||||
|
show = true;
|
||||||
|
std::cerr << "reopen flag so: enable SHOW popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
std::map<std::string, PopupChatDialog *>::iterator it;
|
std::map<std::string, PopupChatDialog *>::iterator it;
|
||||||
if (chatDialogs.end() != (it = chatDialogs.find(id)))
|
if (chatDialogs.end() != (it = chatDialogs.find(id)))
|
||||||
|
@ -337,15 +354,49 @@ PopupChatDialog *ChatDialog::getPrivateChat(std::string id, std::string name, bo
|
||||||
{
|
{
|
||||||
popupchatdialog = new PopupChatDialog(id, name);
|
popupchatdialog = new PopupChatDialog(id, name);
|
||||||
chatDialogs[id] = popupchatdialog;
|
chatDialogs[id] = popupchatdialog;
|
||||||
|
|
||||||
|
if (chatflags & RS_CHAT_OPEN_NEW)
|
||||||
|
{
|
||||||
|
std::cerr << "new chat so: enable SHOW popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
show = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (show)
|
if (show)
|
||||||
{
|
{
|
||||||
popupchatdialog->show();
|
std::cerr << "SHOWING popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
popupchatdialog->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* now only do these if the window is visible */
|
||||||
|
if (popupchatdialog->isVisible())
|
||||||
|
{
|
||||||
|
if (chatflags & RS_CHAT_FOCUS)
|
||||||
|
{
|
||||||
|
std::cerr << "focus chat flag so: GETFOCUS popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
popupchatdialog->getfocus();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cerr << "no focus chat flag so: FLASH popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
popupchatdialog->flash();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cerr << "not visible ... so leave popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
return popupchatdialog;
|
return popupchatdialog;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChatDialog::clearOldChats()
|
void ChatDialog::clearOldChats()
|
||||||
|
|
|
@ -41,7 +41,7 @@ public:
|
||||||
ChatDialog(QWidget *parent = 0);
|
ChatDialog(QWidget *parent = 0);
|
||||||
/** Default Destructor */
|
/** Default Destructor */
|
||||||
|
|
||||||
PopupChatDialog *getPrivateChat(std::string id, std::string name, bool show);
|
PopupChatDialog *getPrivateChat(std::string id, std::string name, uint chatflags);
|
||||||
void clearOldChats();
|
void clearOldChats();
|
||||||
|
|
||||||
void loadEmoticonsgroupchat();
|
void loadEmoticonsgroupchat();
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#include "feeds/BlogMsgItem.h"
|
#include "feeds/BlogMsgItem.h"
|
||||||
#include "feeds/MsgItem.h"
|
#include "feeds/MsgItem.h"
|
||||||
|
|
||||||
|
#include "Preferences/rsharesettings.h"
|
||||||
|
|
||||||
#include "GeneralMsgDialog.h"
|
#include "GeneralMsgDialog.h"
|
||||||
|
|
||||||
|
@ -89,12 +90,15 @@ NewsFeed::NewsFeed(QWidget *parent)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void NewsFeed::updateFeed()
|
void NewsFeed::updateFeed()
|
||||||
{
|
{
|
||||||
if (!rsNotify)
|
if (!rsNotify)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
/** A RshareSettings object used for saving/loading settings */
|
||||||
|
RshareSettings settings;
|
||||||
|
uint flags = settings.getNewsFeedFlags();
|
||||||
|
|
||||||
/* check for new messages */
|
/* check for new messages */
|
||||||
RsFeedItem fi;
|
RsFeedItem fi;
|
||||||
if (rsNotify->GetFeedItem(fi))
|
if (rsNotify->GetFeedItem(fi))
|
||||||
|
@ -102,49 +106,63 @@ void NewsFeed::updateFeed()
|
||||||
switch(fi.mType)
|
switch(fi.mType)
|
||||||
{
|
{
|
||||||
case RS_FEED_ITEM_PEER_CONNECT:
|
case RS_FEED_ITEM_PEER_CONNECT:
|
||||||
addFeedItemPeerConnect(fi);
|
if (flags & RS_FEED_TYPE_PEER)
|
||||||
|
addFeedItemPeerConnect(fi);
|
||||||
break;
|
break;
|
||||||
case RS_FEED_ITEM_PEER_DISCONNECT:
|
case RS_FEED_ITEM_PEER_DISCONNECT:
|
||||||
addFeedItemPeerDisconnect(fi);
|
if (flags & RS_FEED_TYPE_PEER)
|
||||||
|
addFeedItemPeerDisconnect(fi);
|
||||||
break;
|
break;
|
||||||
case RS_FEED_ITEM_PEER_NEW:
|
case RS_FEED_ITEM_PEER_NEW:
|
||||||
addFeedItemPeerNew(fi);
|
if (flags & RS_FEED_TYPE_PEER)
|
||||||
|
addFeedItemPeerNew(fi);
|
||||||
break;
|
break;
|
||||||
case RS_FEED_ITEM_PEER_HELLO:
|
case RS_FEED_ITEM_PEER_HELLO:
|
||||||
addFeedItemPeerHello(fi);
|
if (flags & RS_FEED_TYPE_PEER)
|
||||||
|
addFeedItemPeerHello(fi);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RS_FEED_ITEM_CHAN_NEW:
|
case RS_FEED_ITEM_CHAN_NEW:
|
||||||
addFeedItemChanNew(fi);
|
if (flags & RS_FEED_TYPE_CHAN)
|
||||||
|
addFeedItemChanNew(fi);
|
||||||
break;
|
break;
|
||||||
case RS_FEED_ITEM_CHAN_UPDATE:
|
case RS_FEED_ITEM_CHAN_UPDATE:
|
||||||
addFeedItemChanUpdate(fi);
|
if (flags & RS_FEED_TYPE_CHAN)
|
||||||
|
addFeedItemChanUpdate(fi);
|
||||||
break;
|
break;
|
||||||
case RS_FEED_ITEM_CHAN_MSG:
|
case RS_FEED_ITEM_CHAN_MSG:
|
||||||
addFeedItemChanMsg(fi);
|
if (flags & RS_FEED_TYPE_CHAN)
|
||||||
|
addFeedItemChanMsg(fi);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RS_FEED_ITEM_FORUM_NEW:
|
case RS_FEED_ITEM_FORUM_NEW:
|
||||||
addFeedItemForumNew(fi);
|
if (flags & RS_FEED_TYPE_FORUM)
|
||||||
|
addFeedItemForumNew(fi);
|
||||||
break;
|
break;
|
||||||
case RS_FEED_ITEM_FORUM_UPDATE:
|
case RS_FEED_ITEM_FORUM_UPDATE:
|
||||||
addFeedItemForumUpdate(fi);
|
if (flags & RS_FEED_TYPE_FORUM)
|
||||||
|
addFeedItemForumUpdate(fi);
|
||||||
break;
|
break;
|
||||||
case RS_FEED_ITEM_FORUM_MSG:
|
case RS_FEED_ITEM_FORUM_MSG:
|
||||||
addFeedItemForumMsg(fi);
|
if (flags & RS_FEED_TYPE_FORUM)
|
||||||
|
addFeedItemForumMsg(fi);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RS_FEED_ITEM_BLOG_MSG:
|
case RS_FEED_ITEM_BLOG_MSG:
|
||||||
addFeedItemBlogMsg(fi);
|
if (flags & RS_FEED_TYPE_BLOG)
|
||||||
|
addFeedItemBlogMsg(fi);
|
||||||
break;
|
break;
|
||||||
case RS_FEED_ITEM_CHAT_NEW:
|
case RS_FEED_ITEM_CHAT_NEW:
|
||||||
addFeedItemChatNew(fi);
|
if (flags & RS_FEED_TYPE_CHAT)
|
||||||
|
addFeedItemChatNew(fi);
|
||||||
break;
|
break;
|
||||||
case RS_FEED_ITEM_MESSAGE:
|
case RS_FEED_ITEM_MESSAGE:
|
||||||
addFeedItemMessage(fi);
|
if (flags & RS_FEED_TYPE_MSG)
|
||||||
|
addFeedItemMessage(fi);
|
||||||
break;
|
break;
|
||||||
case RS_FEED_ITEM_FILES_NEW:
|
case RS_FEED_ITEM_FILES_NEW:
|
||||||
addFeedItemFilesNew(fi);
|
if (flags & RS_FEED_TYPE_FILES)
|
||||||
|
addFeedItemFilesNew(fi);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -29,12 +29,15 @@
|
||||||
#include "rsiface/rspeers.h"
|
#include "rsiface/rspeers.h"
|
||||||
#include "rsiface/rsstatus.h"
|
#include "rsiface/rsstatus.h"
|
||||||
#include "rsiface/rsmsgs.h"
|
#include "rsiface/rsmsgs.h"
|
||||||
|
#include "rsiface/rsnotify.h"
|
||||||
|
|
||||||
#include "chat/PopupChatDialog.h"
|
#include "chat/PopupChatDialog.h"
|
||||||
#include "msgs/ChanMsgDialog.h"
|
#include "msgs/ChanMsgDialog.h"
|
||||||
#include "ChatDialog.h"
|
#include "ChatDialog.h"
|
||||||
#include "connect/ConfCertDialog.h"
|
#include "connect/ConfCertDialog.h"
|
||||||
|
|
||||||
|
#include "gui/Preferences/rsharesettings.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
|
@ -438,7 +441,7 @@ void PeersDialog::chatfriend()
|
||||||
|
|
||||||
if (detail.state & RS_PEER_STATE_CONNECTED)
|
if (detail.state & RS_PEER_STATE_CONNECTED)
|
||||||
{
|
{
|
||||||
getPrivateChat(id, name, true);
|
getPrivateChat(id, name, RS_CHAT_REOPEN);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -647,6 +650,9 @@ void PeersDialog::insertChat()
|
||||||
QTextEdit *msgWidget = ui.msgText;
|
QTextEdit *msgWidget = ui.msgText;
|
||||||
std::list<ChatInfo>::iterator it;
|
std::list<ChatInfo>::iterator it;
|
||||||
|
|
||||||
|
/** A RshareSettings object used for saving/loading settings */
|
||||||
|
RshareSettings settings;
|
||||||
|
uint chatflags = settings.getChatFlags();
|
||||||
|
|
||||||
/* add in lines at the bottom */
|
/* add in lines at the bottom */
|
||||||
for(it = newchat.begin(); it != newchat.end(); it++)
|
for(it = newchat.begin(); it != newchat.end(); it++)
|
||||||
|
@ -659,7 +665,7 @@ void PeersDialog::insertChat()
|
||||||
/* are they private? */
|
/* are they private? */
|
||||||
if (it->chatflags & RS_CHAT_PRIVATE)
|
if (it->chatflags & RS_CHAT_PRIVATE)
|
||||||
{
|
{
|
||||||
PopupChatDialog *pcd = getPrivateChat(it->rsid, it->name, true);
|
PopupChatDialog *pcd = getPrivateChat(it->rsid, it->name, chatflags);
|
||||||
pcd->addChatMsg(&(*it));
|
pcd->addChatMsg(&(*it));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -828,10 +834,19 @@ void PeersDialog::toggleSendItem( QTreeWidgetItem *item, int col )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
PopupChatDialog *PeersDialog::getPrivateChat(std::string id, std::string name, bool show)
|
PopupChatDialog *PeersDialog::getPrivateChat(std::string id, std::string name, uint chatflags)
|
||||||
{
|
{
|
||||||
/* see if it exists already */
|
/* see if it exists already */
|
||||||
PopupChatDialog *popupchatdialog = NULL;
|
PopupChatDialog *popupchatdialog = NULL;
|
||||||
|
bool show = false;
|
||||||
|
|
||||||
|
if (chatflags & RS_CHAT_REOPEN)
|
||||||
|
{
|
||||||
|
show = true;
|
||||||
|
std::cerr << "reopen flag so: enable SHOW popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
std::map<std::string, PopupChatDialog *>::iterator it;
|
std::map<std::string, PopupChatDialog *>::iterator it;
|
||||||
if (chatDialogs.end() != (it = chatDialogs.find(id)))
|
if (chatDialogs.end() != (it = chatDialogs.find(id)))
|
||||||
|
@ -843,17 +858,52 @@ PopupChatDialog *PeersDialog::getPrivateChat(std::string id, std::string name, b
|
||||||
{
|
{
|
||||||
popupchatdialog = new PopupChatDialog(id, name);
|
popupchatdialog = new PopupChatDialog(id, name);
|
||||||
chatDialogs[id] = popupchatdialog;
|
chatDialogs[id] = popupchatdialog;
|
||||||
|
|
||||||
|
if (chatflags & RS_CHAT_OPEN_NEW)
|
||||||
|
{
|
||||||
|
std::cerr << "new chat so: enable SHOW popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
show = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (show)
|
if (show)
|
||||||
{
|
{
|
||||||
popupchatdialog->show();
|
std::cerr << "SHOWING popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
popupchatdialog->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* now only do these if the window is visible */
|
||||||
|
if (popupchatdialog->isVisible())
|
||||||
|
{
|
||||||
|
if (chatflags & RS_CHAT_FOCUS)
|
||||||
|
{
|
||||||
|
std::cerr << "focus chat flag so: GETFOCUS popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
popupchatdialog->getfocus();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cerr << "no focus chat flag so: FLASH popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
popupchatdialog->flash();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cerr << "not visible ... so leave popupchatdialog()";
|
||||||
|
std::cerr << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
return popupchatdialog;
|
return popupchatdialog;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void PeersDialog::clearOldChats()
|
void PeersDialog::clearOldChats()
|
||||||
{
|
{
|
||||||
/* nothing yet */
|
/* nothing yet */
|
||||||
|
|
|
@ -44,7 +44,7 @@ public:
|
||||||
PeersDialog(QWidget *parent = 0);
|
PeersDialog(QWidget *parent = 0);
|
||||||
/** Default Destructor */
|
/** Default Destructor */
|
||||||
|
|
||||||
PopupChatDialog *getPrivateChat(std::string id, std::string name, bool show);
|
PopupChatDialog *getPrivateChat(std::string id, std::string name, uint chatflags);
|
||||||
void clearOldChats();
|
void clearOldChats();
|
||||||
|
|
||||||
void loadEmoticonsgroupchat();
|
void loadEmoticonsgroupchat();
|
||||||
|
|
|
@ -63,6 +63,9 @@ PreferencesWindow::PreferencesWindow(QWidget *parent, Qt::WFlags flags)
|
||||||
ui.stackPages->add(new AppearanceDialog(ui.stackPages),
|
ui.stackPages->add(new AppearanceDialog(ui.stackPages),
|
||||||
createPageAction(QIcon(IMAGE_APPEARRANCE), tr("Appearance"), grp));
|
createPageAction(QIcon(IMAGE_APPEARRANCE), tr("Appearance"), grp));
|
||||||
|
|
||||||
|
ui.stackPages->add(new NotifyDialog(ui.stackPages),
|
||||||
|
createPageAction(QIcon(IMAGE_APPEARRANCE), tr("Notify"), grp));
|
||||||
|
|
||||||
/*foreach (ConfigPage *page, ui.stackPages->pages()) {
|
/*foreach (ConfigPage *page, ui.stackPages->pages()) {
|
||||||
connect(page, SIGNAL(helpRequested(QString)),
|
connect(page, SIGNAL(helpRequested(QString)),
|
||||||
this, SLOT(help(QString)));
|
this, SLOT(help(QString)));
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include "ServerDialog.h"
|
#include "ServerDialog.h"
|
||||||
#include "CryptographyDialog.h"
|
#include "CryptographyDialog.h"
|
||||||
#include "AppearanceDialog.h"
|
#include "AppearanceDialog.h"
|
||||||
|
#include "NotifyDialog.h"
|
||||||
#include "gui/help/browser/helpbrowser.h"
|
#include "gui/help/browser/helpbrowser.h"
|
||||||
#include <gui/common/rwindow.h>
|
#include <gui/common/rwindow.h>
|
||||||
|
|
||||||
|
@ -46,7 +47,8 @@ public:
|
||||||
General = 0, /** Preferences page. */
|
General = 0, /** Preferences page. */
|
||||||
Server, /** Server page. */
|
Server, /** Server page. */
|
||||||
Directories, /** Directories page. */
|
Directories, /** Directories page. */
|
||||||
Appearance /** Appearance page. */
|
Appearance, /** Appearance page. */
|
||||||
|
Notify /** Notify page. */
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,8 @@
|
||||||
|
|
||||||
#include "rsharesettings.h"
|
#include "rsharesettings.h"
|
||||||
|
|
||||||
|
#include "rsiface/rsnotify.h"
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
|
||||||
|
@ -49,6 +51,10 @@
|
||||||
#define SETTING_BWGRAPH_OPACITY "StatisticDialog/Opacity"
|
#define SETTING_BWGRAPH_OPACITY "StatisticDialog/Opacity"
|
||||||
#define SETTING_BWGRAPH_ALWAYS_ON_TOP "StatisticDialog/AlwaysOnTop"
|
#define SETTING_BWGRAPH_ALWAYS_ON_TOP "StatisticDialog/AlwaysOnTop"
|
||||||
|
|
||||||
|
#define SETTING_NEWSFEED_FLAGS "NewsFeedFlags"
|
||||||
|
#define SETTING_CHAT_FLAGS "ChatFlags"
|
||||||
|
#define SETTING_NOTIFY_FLAGS "NotifyFlags"
|
||||||
|
|
||||||
/* Default Retroshare Settings */
|
/* Default Retroshare Settings */
|
||||||
#define DEFAULT_OPACITY 100
|
#define DEFAULT_OPACITY 100
|
||||||
|
|
||||||
|
@ -87,6 +93,25 @@ RshareSettings::RshareSettings()
|
||||||
setDefault(SETTING_LANGUAGE, LanguageSupport::defaultLanguageCode());
|
setDefault(SETTING_LANGUAGE, LanguageSupport::defaultLanguageCode());
|
||||||
setDefault(SETTING_SHEETNAME, true);
|
setDefault(SETTING_SHEETNAME, true);
|
||||||
setDefault(SETTING_SHOW_MAINWINDOW_AT_START, true);
|
setDefault(SETTING_SHOW_MAINWINDOW_AT_START, true);
|
||||||
|
|
||||||
|
/* defaults here are not ideal.... but dusent matter */
|
||||||
|
|
||||||
|
uint defChat = (RS_CHAT_OPEN_NEW |
|
||||||
|
RS_CHAT_REOPEN );
|
||||||
|
// This is not default... RS_CHAT_FOCUS.
|
||||||
|
|
||||||
|
uint defNotify = (RS_POPUP_CONNECT | RS_POPUP_MSG |
|
||||||
|
RS_POPUP_CHAT | RS_POPUP_CALL);
|
||||||
|
|
||||||
|
uint defNewsFeed = (RS_FEED_TYPE_PEER | RS_FEED_TYPE_CHAN |
|
||||||
|
RS_FEED_TYPE_FORUM | RS_FEED_TYPE_BLOG |
|
||||||
|
RS_FEED_TYPE_CHAT | RS_FEED_TYPE_MSG |
|
||||||
|
RS_FEED_TYPE_FILES);
|
||||||
|
|
||||||
|
setDefault(SETTING_NEWSFEED_FLAGS, defNewsFeed);
|
||||||
|
setDefault(SETTING_CHAT_FLAGS, defChat);
|
||||||
|
setDefault(SETTING_NOTIFY_FLAGS, defNotify);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -179,6 +204,37 @@ RshareSettings::setShowMainWindowAtStart(bool show)
|
||||||
setValue(SETTING_SHOW_MAINWINDOW_AT_START, show);
|
setValue(SETTING_SHOW_MAINWINDOW_AT_START, show);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Setting for Notify / Chat and NewsFeeds **/
|
||||||
|
uint RshareSettings::getNewsFeedFlags()
|
||||||
|
{
|
||||||
|
return value(SETTING_NEWSFEED_FLAGS).toUInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RshareSettings::setNewsFeedFlags(uint flags)
|
||||||
|
{
|
||||||
|
setValue(SETTING_NEWSFEED_FLAGS, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint RshareSettings::getChatFlags()
|
||||||
|
{
|
||||||
|
return value(SETTING_CHAT_FLAGS).toUInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RshareSettings::setChatFlags(uint flags)
|
||||||
|
{
|
||||||
|
setValue(SETTING_CHAT_FLAGS, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint RshareSettings::getNotifyFlags()
|
||||||
|
{
|
||||||
|
return value(SETTING_NOTIFY_FLAGS).toUInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RshareSettings::setNotifyFlags(uint flags)
|
||||||
|
{
|
||||||
|
setValue(SETTING_NOTIFY_FLAGS, flags);
|
||||||
|
}
|
||||||
|
|
||||||
/** Returns true if Vidalia is set to run on system boot. */
|
/** Returns true if Vidalia is set to run on system boot. */
|
||||||
bool
|
bool
|
||||||
RshareSettings::runRetroshareOnBoot()
|
RshareSettings::runRetroshareOnBoot()
|
||||||
|
|
|
@ -99,6 +99,15 @@ public:
|
||||||
/** Sets whether the bandwidth graph is always on top. */
|
/** Sets whether the bandwidth graph is always on top. */
|
||||||
void setBWGraphAlwaysOnTop(bool alwaysOnTop);
|
void setBWGraphAlwaysOnTop(bool alwaysOnTop);
|
||||||
|
|
||||||
|
uint getNewsFeedFlags();
|
||||||
|
void setNewsFeedFlags(uint flags);
|
||||||
|
|
||||||
|
uint getChatFlags();
|
||||||
|
void setChatFlags(uint flags);
|
||||||
|
|
||||||
|
uint getNotifyFlags();
|
||||||
|
void setNotifyFlags(uint flags);
|
||||||
|
|
||||||
|
|
||||||
//! Save placement, state and size information of a window.
|
//! Save placement, state and size information of a window.
|
||||||
void saveWidgetInformation(QWidget *widget);
|
void saveWidgetInformation(QWidget *widget);
|
||||||
|
|
|
@ -137,9 +137,31 @@ void PopupChatDialog::show()
|
||||||
if(!this->isVisible()) {
|
if(!this->isVisible()) {
|
||||||
QMainWindow::show();
|
QMainWindow::show();
|
||||||
} else {
|
} else {
|
||||||
QMainWindow::activateWindow();
|
//QMainWindow::activateWindow();
|
||||||
setWindowState(windowState() & ~Qt::WindowMinimized | Qt::WindowActive);
|
//setWindowState(windowState() & ~Qt::WindowMinimized | Qt::WindowActive);
|
||||||
QMainWindow::raise();
|
//QMainWindow::raise();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void PopupChatDialog::getfocus()
|
||||||
|
{
|
||||||
|
|
||||||
|
QMainWindow::activateWindow();
|
||||||
|
setWindowState(windowState() & ~Qt::WindowMinimized | Qt::WindowActive);
|
||||||
|
QMainWindow::raise();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PopupChatDialog::flash()
|
||||||
|
{
|
||||||
|
|
||||||
|
if(!this->isVisible()) {
|
||||||
|
//QMainWindow::show();
|
||||||
|
} else {
|
||||||
|
// Want to reduce the interference on other applications.
|
||||||
|
//QMainWindow::activateWindow();
|
||||||
|
//setWindowState(windowState() & ~Qt::WindowMinimized | Qt::WindowActive);
|
||||||
|
//QMainWindow::raise();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,6 +60,9 @@ public slots:
|
||||||
/** Overloaded QWidget.show */
|
/** Overloaded QWidget.show */
|
||||||
void show();
|
void show();
|
||||||
|
|
||||||
|
void getfocus();
|
||||||
|
void flash();
|
||||||
|
|
||||||
void smileyWidget();
|
void smileyWidget();
|
||||||
void addSmiley();
|
void addSmiley();
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
#include "gui/toaster/ChatToaster.h"
|
#include "gui/toaster/ChatToaster.h"
|
||||||
#include "gui/toaster/CallToaster.h"
|
#include "gui/toaster/CallToaster.h"
|
||||||
|
|
||||||
|
#include "gui/Preferences/rsharesettings.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
|
@ -185,34 +187,41 @@ static time_t lastTs = 0;
|
||||||
|
|
||||||
if (rsNotify->NotifyPopupMessage(type, id, msg))
|
if (rsNotify->NotifyPopupMessage(type, id, msg))
|
||||||
{
|
{
|
||||||
|
RshareSettings settings;
|
||||||
|
uint popupflags = settings.getNotifyFlags();
|
||||||
|
|
||||||
/* id the name */
|
/* id the name */
|
||||||
std::string name = rsPeers->getPeerName(id);
|
std::string name = rsPeers->getPeerName(id);
|
||||||
std::string realmsg = msg + "<strong>" + name + "</strong>";
|
std::string realmsg = msg + "<strong>" + name + "</strong>";
|
||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case RS_POPUP_MSG:
|
case RS_POPUP_MSG:
|
||||||
|
if (popupflags & RS_POPUP_MSG)
|
||||||
{
|
{
|
||||||
MessageToaster * msgToaster = new MessageToaster();
|
MessageToaster * msgToaster = new MessageToaster();
|
||||||
msgToaster->setMessage(QString::fromStdString(realmsg));
|
msgToaster->setMessage(QString::fromStdString(realmsg));
|
||||||
msgToaster->show();
|
msgToaster->show();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case RS_POPUP_CHAT:
|
case RS_POPUP_CHAT:
|
||||||
|
if (popupflags & RS_POPUP_CHAT)
|
||||||
{
|
{
|
||||||
ChatToaster * chatToaster = new ChatToaster();
|
ChatToaster * chatToaster = new ChatToaster();
|
||||||
chatToaster->setMessage(QString::fromStdString(realmsg));
|
chatToaster->setMessage(QString::fromStdString(realmsg));
|
||||||
chatToaster->show();
|
chatToaster->show();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case RS_POPUP_CALL:
|
case RS_POPUP_CALL:
|
||||||
|
if (popupflags & RS_POPUP_CALL)
|
||||||
{
|
{
|
||||||
CallToaster * callToaster = new CallToaster();
|
CallToaster * callToaster = new CallToaster();
|
||||||
callToaster->setMessage(QString::fromStdString(realmsg));
|
callToaster->setMessage(QString::fromStdString(realmsg));
|
||||||
callToaster->show();
|
callToaster->show();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
case RS_POPUP_CONNECT:
|
case RS_POPUP_CONNECT:
|
||||||
|
if (popupflags & RS_POPUP_CONNECT)
|
||||||
{
|
{
|
||||||
OnlineToaster * onlineToaster = new OnlineToaster();
|
OnlineToaster * onlineToaster = new OnlineToaster();
|
||||||
onlineToaster->setMessage(QString::fromStdString(realmsg));
|
onlineToaster->setMessage(QString::fromStdString(realmsg));
|
||||||
|
|
|
@ -45,7 +45,12 @@ const uint32_t RS_POPUP_CHAT = 0x0002;
|
||||||
const uint32_t RS_POPUP_CALL = 0x0004;
|
const uint32_t RS_POPUP_CALL = 0x0004;
|
||||||
const uint32_t RS_POPUP_CONNECT = 0x0008;
|
const uint32_t RS_POPUP_CONNECT = 0x0008;
|
||||||
|
|
||||||
|
/* CHAT flags are here - so they are in the same place as
|
||||||
|
* other Notify flags... not used by libretroshare though
|
||||||
|
*/
|
||||||
|
const uint32_t RS_CHAT_OPEN_NEW = 0x0001;
|
||||||
|
const uint32_t RS_CHAT_REOPEN = 0x0002;
|
||||||
|
const uint32_t RS_CHAT_FOCUS = 0x0004;
|
||||||
|
|
||||||
const uint32_t RS_FEED_TYPE_PEER = 0x0010;
|
const uint32_t RS_FEED_TYPE_PEER = 0x0010;
|
||||||
const uint32_t RS_FEED_TYPE_CHAN = 0x0020;
|
const uint32_t RS_FEED_TYPE_CHAN = 0x0020;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue