New read status for forum messages.
New mail messages are marked with a new icon in front of the title. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3352 b45a01b8-16f6-495d-af2f-9b41ad6348cc
@ -34,11 +34,9 @@
|
||||
#include "rstypes.h"
|
||||
#include "rsdistrib.h" /* For FLAGS */
|
||||
|
||||
#define RS_FORUMMSG_NEW 0x0010
|
||||
|
||||
#define FORUM_MSG_STATUS_MASK 0x000f
|
||||
#define FORUM_MSG_STATUS_READ 0x0001
|
||||
#define FORUM_MSG_STATUS_UNREADY_BY_USER 0x0002
|
||||
#define FORUM_MSG_STATUS_MASK 0x000f
|
||||
#define FORUM_MSG_STATUS_READ 0x0001
|
||||
#define FORUM_MSG_STATUS_UNREAD_BY_USER 0x0002
|
||||
|
||||
class ForumInfo
|
||||
{
|
||||
@ -137,7 +135,7 @@ virtual bool getForumThreadList(std::string fId, std::list<ThreadInfoSummary> &m
|
||||
virtual bool getForumThreadMsgList(std::string fId, std::string pId, std::list<ThreadInfoSummary> &msgs) = 0;
|
||||
virtual bool getForumMessage(std::string fId, std::string mId, ForumMsgInfo &msg) = 0;
|
||||
virtual bool setMessageStatus(const std::string& fId,const std::string& mId, const uint32_t status, const uint32_t statusMask) = 0;
|
||||
virtual bool getMessageStatus(const std::string& fId, const std::string& mId, uint32_t& status, const uint32_t statusMask) = 0;
|
||||
virtual bool getMessageStatus(const std::string& fId, const std::string& mId, uint32_t& status) = 0;
|
||||
virtual bool ForumMessageSend(ForumMsgInfo &info) = 0;
|
||||
|
||||
virtual bool forumSubscribe(std::string fId, bool subscribe) = 0;
|
||||
|
@ -271,14 +271,43 @@ bool p3Forums::ForumMessageSend(ForumMsgInfo &info)
|
||||
|
||||
bool p3Forums::setMessageStatus(const std::string& fId,const std::string& mId,const uint32_t status, const uint32_t statusMask)
|
||||
{
|
||||
setReadStatus(fId, mId, (status & statusMask));
|
||||
RsStackMutex stack(distribMtx);
|
||||
|
||||
std::list<RsForumReadStatus *>::iterator lit = mReadStatus.begin();
|
||||
|
||||
for(; lit != mReadStatus.end(); lit++)
|
||||
{
|
||||
|
||||
if((*lit)->forumId == fId)
|
||||
{
|
||||
RsForumReadStatus* rsi = *lit;
|
||||
rsi->msgReadStatus[mId] &= ~statusMask;
|
||||
rsi->msgReadStatus[mId] |= (status & statusMask);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// if forum id does not exist create one
|
||||
if(lit == mReadStatus.end())
|
||||
{
|
||||
RsForumReadStatus* rsi = new RsForumReadStatus();
|
||||
rsi->forumId = fId;
|
||||
rsi->msgReadStatus[mId] = status & statusMask;
|
||||
mReadStatus.push_back(rsi);
|
||||
mSaveList.push_back(rsi);
|
||||
}
|
||||
|
||||
IndicateConfigChanged();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool p3Forums::getMessageStatus(const std::string& fId, const std::string& mId, uint32_t& status, uint32_t statusMask)
|
||||
bool p3Forums::getMessageStatus(const std::string& fId, const std::string& mId, uint32_t& status)
|
||||
{
|
||||
|
||||
status = 0;
|
||||
|
||||
RsStackMutex stack(distribMtx);
|
||||
|
||||
std::list<RsForumReadStatus *>::iterator lit = mReadStatus.begin();
|
||||
@ -293,22 +322,17 @@ bool p3Forums::getMessageStatus(const std::string& fId, const std::string& mId,
|
||||
|
||||
}
|
||||
|
||||
std::map<std::string, uint32_t >::iterator mit;
|
||||
|
||||
if(lit == mReadStatus.end())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
|
||||
std::map<std::string, uint32_t >::iterator mit = (*lit)->msgReadStatus.find(mId);
|
||||
|
||||
if(mit != (*lit)->msgReadStatus.end())
|
||||
{
|
||||
mit = (*lit)->msgReadStatus.find(mId);
|
||||
|
||||
if(mit != (*lit)->msgReadStatus.end())
|
||||
{
|
||||
status = (mit->second & statusMask);
|
||||
return true;
|
||||
}
|
||||
|
||||
status = mit->second;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -573,36 +597,6 @@ std::list<RsItem* > p3Forums::childSaveList()
|
||||
return mSaveList;
|
||||
}
|
||||
|
||||
void p3Forums::setReadStatus(const std::string& forumId, const std::string& msgId, const uint32_t status)
|
||||
{
|
||||
RsStackMutex stack(distribMtx);
|
||||
|
||||
std::list<RsForumReadStatus *>::iterator lit = mReadStatus.begin();
|
||||
|
||||
for(; lit != mReadStatus.end(); lit++)
|
||||
{
|
||||
|
||||
if((*lit)->forumId == forumId)
|
||||
{
|
||||
(*lit)->msgReadStatus[msgId] = status;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// if forum id does not exist create one
|
||||
if(lit == mReadStatus.end())
|
||||
{
|
||||
RsForumReadStatus* rsi = new RsForumReadStatus();
|
||||
rsi->forumId = forumId;
|
||||
rsi->msgReadStatus[msgId] = status;
|
||||
mReadStatus.push_back(rsi);
|
||||
mSaveList.push_back(rsi);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
bool p3Forums::childLoadList(std::list<RsItem* >& configSaves)
|
||||
{
|
||||
RsForumReadStatus* drs = NULL;
|
||||
|
@ -54,10 +54,9 @@ virtual bool getForumList(std::list<ForumInfo> &forumList);
|
||||
virtual bool getForumThreadList(std::string fId, std::list<ThreadInfoSummary> &msgs);
|
||||
virtual bool getForumThreadMsgList(std::string fId, std::string tId, std::list<ThreadInfoSummary> &msgs);
|
||||
virtual bool getForumMessage(std::string fId, std::string mId, ForumMsgInfo &msg);
|
||||
virtual void setReadStatus(const std::string& forumId,const std::string& msgId,const uint32_t status);
|
||||
virtual bool ForumMessageSend(ForumMsgInfo &info);
|
||||
virtual bool setMessageStatus(const std::string& fId, const std::string& mId, const uint32_t status, const uint32_t statusMask);
|
||||
virtual bool getMessageStatus(const std::string& fId, const std::string& mId, uint32_t& status, const uint32_t statusMask);
|
||||
virtual bool getMessageStatus(const std::string& fId, const std::string& mId, uint32_t& status);
|
||||
|
||||
virtual bool forumSubscribe(std::string fId, bool subscribe);
|
||||
|
||||
|
@ -247,6 +247,7 @@ HEADERS += rshare.h \
|
||||
gui/settings/CryptoPage.h \
|
||||
gui/settings/MessagePage.h \
|
||||
gui/settings/NewTag.h \
|
||||
gui/settings/ForumPage.h \
|
||||
gui/settings/AppearancePage.h \
|
||||
gui/settings/FileAssociationsPage.h \
|
||||
gui/settings/SoundPage.h \
|
||||
@ -342,6 +343,7 @@ FORMS += gui/StartDialog.ui \
|
||||
gui/settings/CryptoPage.ui \
|
||||
gui/settings/MessagePage.ui \
|
||||
gui/settings/NewTag.ui \
|
||||
gui/settings/ForumPage.ui \
|
||||
gui/settings/AppearancePage.ui \
|
||||
gui/settings/TransferPage.ui \
|
||||
gui/settings/SoundPage.ui \
|
||||
@ -455,6 +457,7 @@ SOURCES += main.cpp \
|
||||
gui/settings/CryptoPage.cpp \
|
||||
gui/settings/MessagePage.cpp \
|
||||
gui/settings/NewTag.cpp \
|
||||
gui/settings/ForumPage.cpp \
|
||||
gui/settings/AppearancePage.cpp \
|
||||
gui/settings/FileAssociationsPage.cpp \
|
||||
gui/settings/SoundPage.cpp \
|
||||
|
@ -31,95 +31,98 @@ class ForumsDialog : public RsAutoUpdatePage
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ForumsDialog(QWidget *parent = 0);
|
||||
~ForumsDialog();
|
||||
ForumsDialog(QWidget *parent = 0);
|
||||
~ForumsDialog();
|
||||
|
||||
/* overloaded from RsAuthUpdatePage */
|
||||
virtual void updateDisplay();
|
||||
|
||||
void insertForums();
|
||||
void insertPost();
|
||||
|
||||
void loadForumEmoticons();
|
||||
|
||||
/* overloaded from RsAuthUpdatePage */
|
||||
virtual void updateDisplay();
|
||||
|
||||
private slots:
|
||||
void anchorClicked (const QUrl &);
|
||||
/** Create the context popup menu and it's submenus */
|
||||
void forumListCustomPopupMenu( QPoint point );
|
||||
void threadListCustomPopupMenu( QPoint point );
|
||||
|
||||
void anchorClicked (const QUrl &);
|
||||
void insertThreads();
|
||||
/** Create the context popup menu and it's submenus */
|
||||
void forumListCustomPopupMenu( QPoint point );
|
||||
void threadListCustomPopupMenu( QPoint point );
|
||||
void newforum();
|
||||
|
||||
void newforum();
|
||||
void changedForum( QTreeWidgetItem *curr, QTreeWidgetItem *prev );
|
||||
void changedThread();
|
||||
void clickedThread (QTreeWidgetItem *item, int column);
|
||||
|
||||
void replytomessage();
|
||||
//void print();
|
||||
//void printpreview();
|
||||
|
||||
void changedForum( QTreeWidgetItem *curr, QTreeWidgetItem *prev );
|
||||
void changedThread();
|
||||
//void removemessage();
|
||||
void markMsgAsRead();
|
||||
void markMsgAsReadAll();
|
||||
void markMsgAsUnread();
|
||||
void markMsgAsUnreadAll();
|
||||
|
||||
void replytomessage();
|
||||
//void print();
|
||||
//void printpreview();
|
||||
|
||||
void removemessage();
|
||||
void markMsgAsRead();
|
||||
|
||||
/* handle splitter */
|
||||
void togglethreadview();
|
||||
/* handle splitter */
|
||||
void togglethreadview();
|
||||
|
||||
void showthread();
|
||||
void createmessage();
|
||||
void createthread();
|
||||
void createmessage();
|
||||
|
||||
void subscribeToForum();
|
||||
void unsubscribeToForum();
|
||||
void subscribeToForum();
|
||||
void unsubscribeToForum();
|
||||
|
||||
void showForumDetails();
|
||||
void showForumDetails();
|
||||
|
||||
void previousMessage ();
|
||||
void nextMessage ();
|
||||
void previousMessage ();
|
||||
void nextMessage ();
|
||||
|
||||
void changedViewBox();
|
||||
void changedViewBox();
|
||||
|
||||
void filterColumnChanged();
|
||||
void filterRegExpChanged();
|
||||
void clearFilter();
|
||||
void filterColumnChanged();
|
||||
void filterRegExpChanged();
|
||||
void clearFilter();
|
||||
|
||||
private:
|
||||
void insertForums();
|
||||
void insertThreads();
|
||||
void insertPost();
|
||||
|
||||
void forumSubscribe(bool subscribe);
|
||||
bool getCurrentMsg(std::string &cid, std::string &mid);
|
||||
void FillForums(QTreeWidgetItem *Forum, QList<QTreeWidgetItem *> &ChildList);
|
||||
void FillThreads(QList<QTreeWidgetItem *> &ThreadList);
|
||||
void FillChildren(QTreeWidgetItem *Parent, QTreeWidgetItem *NewParent);
|
||||
void loadForumEmoticons();
|
||||
|
||||
void processSettings(bool bLoad);
|
||||
void togglethreadview_internal();
|
||||
void forumSubscribe(bool subscribe);
|
||||
void FillForums(QTreeWidgetItem *Forum, QList<QTreeWidgetItem *> &ChildList);
|
||||
void FillThreads(QList<QTreeWidgetItem *> &ThreadList, bool bExpandNewMessages, std::list<QTreeWidgetItem*> &itemToExpand);
|
||||
void FillChildren(QTreeWidgetItem *Parent, QTreeWidgetItem *NewParent, bool bExpandNewMessages, std::list<QTreeWidgetItem*> &itemToExpand);
|
||||
|
||||
void FilterItems();
|
||||
bool FilterItem(QTreeWidgetItem *pItem, QString &sPattern, int nFilterColumn);
|
||||
int getSelectedMsgCount(QList<QTreeWidgetItem*> *pRows, QList<QTreeWidgetItem*> *pRowsRead, QList<QTreeWidgetItem*> *pRowsUnread);
|
||||
void setMsgAsReadUnread(QList<QTreeWidgetItem*> &Rows, bool bRead);
|
||||
void markMsgAsReadUnread(bool bRead, bool bAll);
|
||||
void CalculateIconsAndFonts(QTreeWidgetItem *pItem = NULL);
|
||||
void CalculateIconsAndFonts(QTreeWidgetItem *pItem, bool &bHasReadChilddren, bool &bHasUnreadChilddren);
|
||||
|
||||
bool m_bProcessSettings;
|
||||
void processSettings(bool bLoad);
|
||||
void togglethreadview_internal();
|
||||
|
||||
QTreeWidgetItem *YourForums;
|
||||
QTreeWidgetItem *SubscribedForums;
|
||||
QTreeWidgetItem *PopularForums;
|
||||
QTreeWidgetItem *OtherForums;
|
||||
void FilterItems();
|
||||
bool FilterItem(QTreeWidgetItem *pItem, QString &sPattern, int nFilterColumn);
|
||||
|
||||
std::string mCurrForumId;
|
||||
std::string mCurrThreadId;
|
||||
std::string mCurrPostId;
|
||||
bool m_bProcessSettings;
|
||||
|
||||
QFont m_ForumNameFont;
|
||||
QFont m_ItemFont;
|
||||
int m_LastViewType;
|
||||
std::string m_LastForumID;
|
||||
QTreeWidgetItem *YourForums;
|
||||
QTreeWidgetItem *SubscribedForums;
|
||||
QTreeWidgetItem *PopularForums;
|
||||
QTreeWidgetItem *OtherForums;
|
||||
|
||||
QHash<QString, QString> smileys;
|
||||
std::string mCurrForumId;
|
||||
std::string mCurrThreadId;
|
||||
bool m_bIsForumSubscribed;
|
||||
|
||||
std::string fId;
|
||||
std::string pId;
|
||||
QFont m_ForumNameFont;
|
||||
QFont m_ItemFont;
|
||||
int m_LastViewType;
|
||||
std::string m_LastForumID;
|
||||
|
||||
/** Qt Designer generated object */
|
||||
Ui::ForumsDialog ui;
|
||||
QHash<QString, QString> smileys;
|
||||
|
||||
/** Qt Designer generated object */
|
||||
Ui::ForumsDialog ui;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -878,6 +878,15 @@ background: white;}</string>
|
||||
<string>Title</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="images.qrc">
|
||||
<normaloff>:/images/message-state-header.png</normaloff>:/images/message-state-header.png</iconset>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Date</string>
|
||||
|
@ -55,7 +55,7 @@
|
||||
#define COLUMN_COUNT 7
|
||||
#define COLUMN_ATTACHEMENTS 0
|
||||
#define COLUMN_SUBJECT 1
|
||||
#define COLUMN_READ 2
|
||||
#define COLUMN_UNREAD 2
|
||||
#define COLUMN_FROM 3
|
||||
#define COLUMN_DATE 4
|
||||
#define COLUMN_CONTENT 5
|
||||
@ -63,9 +63,10 @@
|
||||
|
||||
#define COLUMN_DATA 0 // column for storing the userdata like msgid and srcid
|
||||
|
||||
#define ROLE_SORT Qt::UserRole
|
||||
#define ROLE_MSGID Qt::UserRole + 1
|
||||
#define ROLE_SRCID Qt::UserRole + 2
|
||||
#define ROLE_SORT Qt::UserRole
|
||||
#define ROLE_MSGID Qt::UserRole + 1
|
||||
#define ROLE_SRCID Qt::UserRole + 2
|
||||
#define ROLE_UNREAD Qt::UserRole + 3
|
||||
|
||||
#define ROW_INBOX 0
|
||||
#define ROW_OUTBOX 1
|
||||
@ -93,10 +94,10 @@
|
||||
#define CONFIG_SECTION_TAG "Tag"
|
||||
#define CONFIG_KEY_TAG "Tag"
|
||||
|
||||
class MyItemDelegate : public QItemDelegate
|
||||
class MessagesItemDelegate : public QItemDelegate
|
||||
{
|
||||
public:
|
||||
MyItemDelegate(QObject *parent = 0) : QItemDelegate(parent)
|
||||
MessagesItemDelegate(QObject *parent = 0) : QItemDelegate(parent)
|
||||
{
|
||||
}
|
||||
|
||||
@ -104,7 +105,7 @@ public:
|
||||
{
|
||||
QStyleOptionViewItem ownOption (option);
|
||||
|
||||
if (index.column() == COLUMN_READ) {
|
||||
if (index.column() == COLUMN_UNREAD) {
|
||||
ownOption.state &= ~QStyle::State_HasFocus; // don't show text and focus rectangle
|
||||
}
|
||||
|
||||
@ -115,7 +116,7 @@ public:
|
||||
{
|
||||
QStyleOptionViewItem ownOption (option);
|
||||
|
||||
if (index.column() == COLUMN_READ) {
|
||||
if (index.column() == COLUMN_UNREAD) {
|
||||
ownOption.state &= ~QStyle::State_HasFocus; // don't show text and focus rectangle
|
||||
}
|
||||
|
||||
@ -123,10 +124,10 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class MyMenu : public QMenu
|
||||
class MessagesMenu : public QMenu
|
||||
{
|
||||
public:
|
||||
MyMenu(const QString &title, QWidget *parent) : QMenu (title, parent)
|
||||
MessagesMenu(const QString &title, QWidget *parent) : QMenu (title, parent)
|
||||
{
|
||||
}
|
||||
|
||||
@ -287,7 +288,7 @@ MessagesDialog::MessagesDialog(QWidget *parent)
|
||||
MessagesModel = new QStandardItemModel(0, COLUMN_COUNT);
|
||||
MessagesModel->setHeaderData(COLUMN_ATTACHEMENTS, Qt::Horizontal, QIcon(":/images/attachment.png"), Qt::DecorationRole);
|
||||
MessagesModel->setHeaderData(COLUMN_SUBJECT, Qt::Horizontal, tr("Subject"));
|
||||
MessagesModel->setHeaderData(COLUMN_READ, Qt::Horizontal, QIcon(":/images/message-mail-state-header.png"), Qt::DecorationRole);
|
||||
MessagesModel->setHeaderData(COLUMN_UNREAD, Qt::Horizontal, QIcon(":/images/message-state-header.png"), Qt::DecorationRole);
|
||||
MessagesModel->setHeaderData(COLUMN_FROM, Qt::Horizontal, tr("From"));
|
||||
MessagesModel->setHeaderData(COLUMN_DATE, Qt::Horizontal, tr("Date"));
|
||||
MessagesModel->setHeaderData(COLUMN_TAGS, Qt::Horizontal, tr("Tags"));
|
||||
@ -301,7 +302,7 @@ MessagesDialog::MessagesDialog(QWidget *parent)
|
||||
ui.messagestreeView->setModel(proxyModel);
|
||||
ui.messagestreeView->setSelectionBehavior(QTreeView::SelectRows);
|
||||
|
||||
QItemDelegate *pDelegate = new MyItemDelegate(this);
|
||||
QItemDelegate *pDelegate = new MessagesItemDelegate(this);
|
||||
ui.messagestreeView->setItemDelegate(pDelegate);
|
||||
|
||||
ui.messagestreeView->setRootIsDecorated(false);
|
||||
@ -326,7 +327,7 @@ MessagesDialog::MessagesDialog(QWidget *parent)
|
||||
QHeaderView * msgwheader = ui.messagestreeView->header () ;
|
||||
msgwheader->resizeSection (COLUMN_ATTACHEMENTS, 24);
|
||||
msgwheader->resizeSection (COLUMN_SUBJECT, 250);
|
||||
msgwheader->resizeSection (COLUMN_READ, 16);
|
||||
msgwheader->resizeSection (COLUMN_UNREAD, 16);
|
||||
msgwheader->resizeSection (COLUMN_FROM, 140);
|
||||
msgwheader->resizeSection (COLUMN_DATE, 140);
|
||||
|
||||
@ -372,8 +373,8 @@ MessagesDialog::MessagesDialog(QWidget *parent)
|
||||
/* Set header sizes for the fixed columns and resize modes, must be set after processSettings */
|
||||
msgwheader->setResizeMode (COLUMN_ATTACHEMENTS, QHeaderView::Fixed);
|
||||
msgwheader->setResizeMode (COLUMN_DATE, QHeaderView::Interactive);
|
||||
msgwheader->setResizeMode (COLUMN_READ, QHeaderView::Fixed);
|
||||
msgwheader->resizeSection (COLUMN_READ, 24);
|
||||
msgwheader->setResizeMode (COLUMN_UNREAD, QHeaderView::Fixed);
|
||||
msgwheader->resizeSection (COLUMN_UNREAD, 24);
|
||||
|
||||
// fill folder list
|
||||
updateMessageSummaryList();
|
||||
@ -622,7 +623,7 @@ void MessagesDialog::fillTags()
|
||||
getTagItems(TagItems);
|
||||
|
||||
// create tag menu
|
||||
QMenu *pMenu = new MyMenu (tr("Tag"), this);
|
||||
QMenu *pMenu = new MessagesMenu (tr("Tag"), this);
|
||||
connect(pMenu, SIGNAL(triggered (QAction*)), this, SLOT(tagTriggered(QAction*)));
|
||||
connect(pMenu, SIGNAL(aboutToShow()), this, SLOT(tagAboutToShow()));
|
||||
|
||||
@ -735,7 +736,7 @@ int MessagesDialog::getSelectedMsgCount (QList<int> *pRows, QList<int> *pRowsRea
|
||||
|
||||
if (pRows) pRows->append(mappedRow);
|
||||
|
||||
if (MessagesModel->item(mappedRow, COLUMN_SUBJECT)->font().bold()) {
|
||||
if (MessagesModel->item(mappedRow, COLUMN_DATA)->data(ROLE_UNREAD).toBool()) {
|
||||
if (pRowsUnread) pRowsUnread->append(mappedRow);
|
||||
} else {
|
||||
if (pRowsRead) pRowsRead->append(mappedRow);
|
||||
@ -750,8 +751,8 @@ int MessagesDialog::getSelectedMsgCount (QList<int> *pRows, QList<int> *pRowsRea
|
||||
bool MessagesDialog::isMessageRead(int nRow)
|
||||
{
|
||||
QStandardItem *item;
|
||||
item = MessagesModel->item(nRow,COLUMN_SUBJECT);
|
||||
return !item->font().bold();
|
||||
item = MessagesModel->item(nRow,COLUMN_DATA);
|
||||
return !item->data(ROLE_UNREAD).toBool();
|
||||
}
|
||||
|
||||
void MessagesDialog::messageslistWidgetCostumPopupMenu( QPoint point )
|
||||
@ -1226,6 +1227,7 @@ static void InitIconAndFont(RSettings *pConfig, QStandardItem *pItem [COLUMN_COU
|
||||
} else {
|
||||
pItem[COLUMN_SUBJECT]->setIcon(QIcon(":/images/message-mail.png"));
|
||||
}
|
||||
pItem[COLUMN_SUBJECT]->setIcon(QIcon(":/images/message-state-new.png"));
|
||||
} else {
|
||||
// Change Message icon when Subject is Re: or Fwd:
|
||||
if (sText.startsWith("Re:", Qt::CaseInsensitive)) {
|
||||
@ -1235,6 +1237,7 @@ static void InitIconAndFont(RSettings *pConfig, QStandardItem *pItem [COLUMN_COU
|
||||
} else {
|
||||
pItem[COLUMN_SUBJECT]->setIcon(QIcon(":/images/message-mail-read.png"));
|
||||
}
|
||||
pItem[COLUMN_SUBJECT]->setIcon(QIcon());
|
||||
}
|
||||
|
||||
// show the locale "New" state
|
||||
@ -1245,10 +1248,11 @@ static void InitIconAndFont(RSettings *pConfig, QStandardItem *pItem [COLUMN_COU
|
||||
pConfig->endGroup();
|
||||
}
|
||||
|
||||
// set icon
|
||||
if (bNew) {
|
||||
pItem[COLUMN_READ]->setIcon(QIcon(":/images/message-mail-state-unread.png"));
|
||||
pItem[COLUMN_UNREAD]->setIcon(QIcon(":/images/message-state-unread.png"));
|
||||
} else {
|
||||
pItem[COLUMN_READ]->setIcon(QIcon(":/images/message-mail-state-read.png"));
|
||||
pItem[COLUMN_UNREAD]->setIcon(QIcon(":/images/message-state-read.png"));
|
||||
}
|
||||
|
||||
// set font
|
||||
@ -1257,6 +1261,8 @@ static void InitIconAndFont(RSettings *pConfig, QStandardItem *pItem [COLUMN_COU
|
||||
qf.setBold(bNew);
|
||||
pItem[i]->setFont(qf);
|
||||
}
|
||||
|
||||
pItem[COLUMN_DATA]->setData(bNew, ROLE_UNREAD);
|
||||
}
|
||||
|
||||
void MessagesDialog::insertMessages()
|
||||
@ -1596,7 +1602,7 @@ void MessagesDialog::insertMessages()
|
||||
|
||||
ui.messagestreeView->showColumn(COLUMN_ATTACHEMENTS);
|
||||
ui.messagestreeView->showColumn(COLUMN_SUBJECT);
|
||||
ui.messagestreeView->showColumn(COLUMN_READ);
|
||||
ui.messagestreeView->showColumn(COLUMN_UNREAD);
|
||||
ui.messagestreeView->showColumn(COLUMN_FROM);
|
||||
ui.messagestreeView->showColumn(COLUMN_DATE);
|
||||
ui.messagestreeView->showColumn(COLUMN_TAGS);
|
||||
@ -1620,7 +1626,7 @@ void MessagesDialog::clicked(const QModelIndex &index )
|
||||
return;
|
||||
}
|
||||
|
||||
if (index.column() == COLUMN_READ) {
|
||||
if (index.column() == COLUMN_UNREAD) {
|
||||
int mappedRow = proxyModel->mapToSource(index).row();
|
||||
|
||||
QList<int> Rows;
|
||||
|
@ -172,9 +172,9 @@ void CreateForumMsg::createMsg()
|
||||
if ((msgInfo.msg == L"") && (msgInfo.title == L""))
|
||||
return; /* do nothing */
|
||||
|
||||
rsForums->ForumMessageSend(msgInfo);
|
||||
|
||||
close();
|
||||
if (rsForums->ForumMessageSend(msgInfo) == true) {
|
||||
close();
|
||||
}
|
||||
}
|
||||
|
||||
void CreateForumMsg::closeEvent (QCloseEvent * event)
|
||||
|
@ -263,9 +263,10 @@
|
||||
<file>images/message-mail-forwarded-read.png</file>
|
||||
<file>images/message-mail-replied.png</file>
|
||||
<file>images/message-mail-forwarded.png</file>
|
||||
<file>images/message-mail-state-read.png</file>
|
||||
<file>images/message-mail-state-unread.png</file>
|
||||
<file>images/message-mail-state-header.png</file>
|
||||
<file>images/message-state-read.png</file>
|
||||
<file>images/message-state-unread.png</file>
|
||||
<file>images/message-state-header.png</file>
|
||||
<file>images/message-state-new.png</file>
|
||||
<file>images/message-news.png</file>
|
||||
<file>images/message.png</file>
|
||||
<file>images/messages_new.png</file>
|
||||
|
Before Width: | Height: | Size: 383 B After Width: | Height: | Size: 383 B |
BIN
retroshare-gui/src/gui/images/message-state-new.png
Normal file
After Width: | Height: | Size: 371 B |
Before Width: | Height: | Size: 208 B After Width: | Height: | Size: 208 B |
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 302 B |
62
retroshare-gui/src/gui/settings/ForumPage.cpp
Normal file
@ -0,0 +1,62 @@
|
||||
/****************************************************************
|
||||
* RetroShare is distributed under the following license:
|
||||
*
|
||||
* Copyright (C) 2006, crypton
|
||||
*
|
||||
* 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 program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
****************************************************************/
|
||||
|
||||
#include "ForumPage.h"
|
||||
#include "rshare.h"
|
||||
#include "rsharesettings.h"
|
||||
|
||||
#include "../MainWindow.h"
|
||||
#include "../ForumsDialog.h"
|
||||
|
||||
ForumPage::ForumPage(QWidget * parent, Qt::WFlags flags)
|
||||
: ConfigPage(parent, flags)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
setAttribute(Qt::WA_QuitOnClose, false);
|
||||
}
|
||||
|
||||
ForumPage::~ForumPage()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
ForumPage::closeEvent (QCloseEvent * event)
|
||||
{
|
||||
QWidget::closeEvent(event);
|
||||
}
|
||||
|
||||
/** Saves the changes on this page */
|
||||
bool
|
||||
ForumPage::save(QString &errmsg)
|
||||
{
|
||||
Settings->setForumMsgSetToReadOnActivate(ui.setMsgToReadOnActivate->isChecked());
|
||||
Settings->setExpandNewMessages(ui.expandNewMessages->isChecked());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Loads the settings for this page */
|
||||
void
|
||||
ForumPage::load()
|
||||
{
|
||||
ui.setMsgToReadOnActivate->setChecked(Settings->getForumMsgSetToReadOnActivate());
|
||||
ui.expandNewMessages->setChecked(Settings->getExpandNewMessages());
|
||||
}
|
52
retroshare-gui/src/gui/settings/ForumPage.h
Normal file
@ -0,0 +1,52 @@
|
||||
/****************************************************************
|
||||
* RetroShare is distributed under the following license:
|
||||
*
|
||||
* Copyright (C) 2006, crypton
|
||||
*
|
||||
* 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 program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
****************************************************************/
|
||||
|
||||
#ifndef FORUMPAGE_H
|
||||
#define FORUMPAGE_H
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "configpage.h"
|
||||
#include "ui_ForumPage.h"
|
||||
|
||||
#include "NewTag.h"
|
||||
|
||||
class ForumPage : public ConfigPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ForumPage(QWidget * parent = 0, Qt::WFlags flags = 0);
|
||||
~ForumPage();
|
||||
|
||||
/** Saves the changes on this page */
|
||||
bool save(QString &errmsg);
|
||||
/** Loads the settings for this page */
|
||||
void load();
|
||||
|
||||
private:
|
||||
void closeEvent (QCloseEvent * event);
|
||||
|
||||
Ui::ForumPage ui;
|
||||
};
|
||||
|
||||
#endif // !FORUMPAGE_H
|
||||
|
543
retroshare-gui/src/gui/settings/ForumPage.ui
Normal file
@ -0,0 +1,543 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ForumPage</class>
|
||||
<widget class="QWidget" name="ForumPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>423</width>
|
||||
<height>340</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="palette">
|
||||
<palette>
|
||||
<active>
|
||||
<colorrole role="WindowText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Button">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>208</red>
|
||||
<green>208</green>
|
||||
<blue>208</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Light">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Midlight">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>247</red>
|
||||
<green>247</green>
|
||||
<blue>247</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Dark">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>104</red>
|
||||
<green>104</green>
|
||||
<blue>104</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Mid">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>139</red>
|
||||
<green>139</green>
|
||||
<blue>139</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Text">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="BrightText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="ButtonText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>240</red>
|
||||
<green>240</green>
|
||||
<blue>240</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Shadow">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Highlight">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>128</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="HighlightedText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Link">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="LinkVisited">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>0</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="AlternateBase">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>231</red>
|
||||
<green>231</green>
|
||||
<blue>231</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</active>
|
||||
<inactive>
|
||||
<colorrole role="WindowText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Button">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>208</red>
|
||||
<green>208</green>
|
||||
<blue>208</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Light">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Midlight">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>247</red>
|
||||
<green>247</green>
|
||||
<blue>247</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Dark">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>104</red>
|
||||
<green>104</green>
|
||||
<blue>104</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Mid">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>139</red>
|
||||
<green>139</green>
|
||||
<blue>139</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Text">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="BrightText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="ButtonText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>240</red>
|
||||
<green>240</green>
|
||||
<blue>240</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Shadow">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Highlight">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>192</red>
|
||||
<green>192</green>
|
||||
<blue>192</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="HighlightedText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Link">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="LinkVisited">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>0</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="AlternateBase">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>231</red>
|
||||
<green>231</green>
|
||||
<blue>231</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</inactive>
|
||||
<disabled>
|
||||
<colorrole role="WindowText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>104</red>
|
||||
<green>104</green>
|
||||
<blue>104</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Button">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>208</red>
|
||||
<green>208</green>
|
||||
<blue>208</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Light">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Midlight">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>247</red>
|
||||
<green>247</green>
|
||||
<blue>247</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Dark">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>104</red>
|
||||
<green>104</green>
|
||||
<blue>104</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Mid">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>139</red>
|
||||
<green>139</green>
|
||||
<blue>139</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Text">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>104</red>
|
||||
<green>104</green>
|
||||
<blue>104</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="BrightText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="ButtonText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>104</red>
|
||||
<green>104</green>
|
||||
<blue>104</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>240</red>
|
||||
<green>240</green>
|
||||
<blue>240</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>240</red>
|
||||
<green>240</green>
|
||||
<blue>240</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Shadow">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Highlight">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>128</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="HighlightedText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Link">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="LinkVisited">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>0</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="AlternateBase">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>231</red>
|
||||
<green>231</green>
|
||||
<blue>231</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</disabled>
|
||||
</palette>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Arial</family>
|
||||
<pointsize>8</pointsize>
|
||||
<weight>50</weight>
|
||||
<italic>false</italic>
|
||||
<bold>false</bold>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</font>
|
||||
</property>
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::NoContextMenu</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Misc</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="setMsgToReadOnActivate">
|
||||
<property name="text">
|
||||
<string>Set message to read on activate</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="expandNewMessages">
|
||||
<property name="text">
|
||||
<string>Expand new messages</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -33,6 +33,7 @@
|
||||
#include "TransferPage.h"
|
||||
#include "ChatPage.h"
|
||||
#include "MessagePage.h"
|
||||
#include "ForumPage.h"
|
||||
|
||||
#define IMAGE_GENERAL ":/images/kcmsystem24.png"
|
||||
|
||||
@ -109,6 +110,7 @@ RSettingsWin::initStackedWidget()
|
||||
stackedWidget->addWidget(new NotifyPage());
|
||||
stackedWidget->addWidget(new CryptoPage());
|
||||
stackedWidget->addWidget(new MessagePage());
|
||||
stackedWidget->addWidget(new ForumPage());
|
||||
stackedWidget->addWidget(new ChatPage());
|
||||
stackedWidget->addWidget(new AppearancePage());
|
||||
stackedWidget->addWidget(new SoundPage() );
|
||||
@ -153,6 +155,10 @@ RSettingsWin::setNewPage(int page)
|
||||
text = tr("Message");
|
||||
pageicon->setPixmap(QPixmap(":/images/evolution.png"));
|
||||
break;
|
||||
case Forum:
|
||||
text = tr("Forum");
|
||||
pageicon->setPixmap(QPixmap(":/images/konversation.png"));
|
||||
break;
|
||||
case Chat:
|
||||
text = tr("Chat");
|
||||
pageicon->setPixmap(QPixmap(":/images/chat_24.png"));
|
||||
|
@ -32,7 +32,7 @@ class RSettingsWin: public QDialog, private Ui::Settings
|
||||
|
||||
public:
|
||||
enum PageType { General = 0, Server, Transfer,
|
||||
Directories, Notify, Security, Message, Chat, Appearance, Sound, Fileassociations };
|
||||
Directories, Notify, Security, Message, Forum, Chat, Appearance, Sound, Fileassociations };
|
||||
|
||||
static void showYourself(QWidget *parent);
|
||||
static void postModDirectories(bool update_local);
|
||||
|
@ -378,6 +378,27 @@ void RshareSettings::setMsgSetToReadOnActivate (bool bValue)
|
||||
setValueToGroup("MessageDialog", "SetMsgToReadOnActivate", bValue);
|
||||
}
|
||||
|
||||
/* Forums */
|
||||
bool RshareSettings::getForumMsgSetToReadOnActivate ()
|
||||
{
|
||||
return valueFromGroup("ForumDialog", "SetMsgToReadOnActivate", true).toBool();
|
||||
}
|
||||
|
||||
void RshareSettings::setForumMsgSetToReadOnActivate (bool bValue)
|
||||
{
|
||||
setValueToGroup("ForumDialog", "SetMsgToReadOnActivate", bValue);
|
||||
}
|
||||
|
||||
bool RshareSettings::getExpandNewMessages()
|
||||
{
|
||||
return valueFromGroup("ForumDialog", "ExpandNewMessages", true).toBool();
|
||||
}
|
||||
|
||||
void RshareSettings::setExpandNewMessages (bool bValue)
|
||||
{
|
||||
setValueToGroup("ForumDialog", "ExpandNewMessages", bValue);
|
||||
}
|
||||
|
||||
/* time before idle */
|
||||
uint RshareSettings::getMaxTimeBeforeIdle()
|
||||
{
|
||||
|
@ -133,6 +133,12 @@ public:
|
||||
bool getMsgSetToReadOnActivate ();
|
||||
void setMsgSetToReadOnActivate (bool bValue);
|
||||
|
||||
/* Forums */
|
||||
bool getForumMsgSetToReadOnActivate ();
|
||||
void setForumMsgSetToReadOnActivate (bool bValue);
|
||||
bool getExpandNewMessages ();
|
||||
void setExpandNewMessages (bool bValue);
|
||||
|
||||
/* time before idle */
|
||||
uint getMaxTimeBeforeIdle();
|
||||
void setMaxTimeBeforeIdle(uint nValue);
|
||||
|
@ -140,6 +140,15 @@
|
||||
<normaloff>:/images/evolution.png</normaloff>:/images/evolution.png</iconset>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Forum</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../images.qrc">
|
||||
<normaloff>:/images/konversation.png</normaloff>:/images/konversation.png</iconset>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Chat</string>
|
||||
|