This commit is contained in:
defnax 2016-04-15 20:32:00 +02:00
commit 2552b556eb
11 changed files with 271 additions and 298 deletions

View File

@ -2840,8 +2840,8 @@ void RsGenExchange::processRecvdGroups()
// now check if group already existss
if(std::find(existingGrpIds.begin(), existingGrpIds.end(), grp->grpId) == existingGrpIds.end())
{
if(meta->mCircleType == GXS_CIRCLE_TYPE_YOUREYESONLY)
meta->mOriginator = grp->PeerId();
//if(meta->mCircleType == GXS_CIRCLE_TYPE_YOUREYESONLY)
meta->mOriginator = grp->PeerId();
meta->mSubscribeFlags = GXS_SERV::GROUP_SUBSCRIBE_NOT_SUBSCRIBED;

View File

@ -119,9 +119,8 @@ p3GxsCircles::p3GxsCircles(RsGeneralDataService *gds, RsNetworkExchangeService *
RsTickEvent::schedule_now(CIRCLE_EVENT_LOADIDS);
// Dummy Circles.
// RsTickEvent::schedule_in(CIRCLE_EVENT_DUMMYSTART, CIRCLE_DUMMY_STARTPERIOD);
mDummyIdToken = 0;
// RsTickEvent::schedule_in(CIRCLE_EVENT_DUMMYSTART, CIRCLE_DUMMY_STARTPERIOD);
mDummyIdToken = 0;
}
@ -978,6 +977,7 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token)
RsGxsCircleCache &cache = it->second;
cache.loadBaseCircle(group);
cache.mOriginator = item->meta.mOriginator ;
delete item;
@ -1043,6 +1043,8 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token)
#endif
std::list<PeerId> peers;
peers.push_back(cache.mOriginator) ;
mIdentities->requestKey(*pit, peers);
/* store in to_process queue. */
@ -1114,12 +1116,12 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token)
isUnprocessedPeers = false;
}
// we can check for self inclusion in the circle right away, since own ids are always loaded.
// that allows to subscribe/unsubscribe uncomplete circles
checkCircleCacheForAutoSubscribe(cache);
if (isComplete)
{
checkCircleCacheForAutoSubscribe(cache);
/* move straight into the cache */
mCircleCache.store(id, cache);
mCircleCache.resize();
@ -1266,8 +1268,11 @@ bool p3GxsCircles::cache_reloadids(const RsGxsCircleId &circleId)
/* We need to AutoSubscribe if the Circle is relevent to us */
bool p3GxsCircles::checkCircleCacheForAutoSubscribe(RsGxsCircleCache &cache)
{
#warning we should also check for items in mLoadingCache in this method.
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() : "<< cache.mCircleId << std::endl;
#endif

View File

@ -156,6 +156,8 @@ class RsGxsCircleCache
std::set<RsGxsId> mAllowedAnonPeers;
std::map<RsPgpId, std::set<RsGxsId> > mAllowedSignedPeers;
RsPeerId mOriginator ; // peer who sent the data, in case we need to ask for ids
};

View File

@ -882,9 +882,6 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item,
item->setToolTip(RSID_COL_IDTYPE, tooltip) ;
}
#ifdef ID_DEBUG
std::cerr << "Setting item image : " << pixmap.width() << " x " << pixmap.height() << std::endl;
#endif
QPixmap pixmap ;
if(data.mImage.mSize == 0 || !pixmap.loadFromData(data.mImage.mData, data.mImage.mSize, "PNG"))
@ -1119,7 +1116,7 @@ void IdDialog::insertIdDetails(uint32_t token)
pixmap = QPixmap::fromImage(GxsIdDetails::makeDefaultIcon(RsGxsId(data.mMeta.mGroupId))) ;
#ifdef ID_DEBUG
std::cerr << "Setting header frame image : " << pix.width() << " x " << pix.height() << std::endl;
std::cerr << "Setting header frame image : " << pixmap.width() << " x " << pixmap.height() << std::endl;
#endif
ui->avlabel->setPixmap(pixmap);
@ -1263,7 +1260,7 @@ void IdDialog::modifyReputation()
rsReputations->setOwnOpinion(id,op) ;
#ifdef ID_DEBUG
std::cerr << "IdDialog::modifyReputation() ID: " << id << " Mod: " << mod;
std::cerr << "IdDialog::modifyReputation() ID: " << id << " Mod: " << op;
std::cerr << std::endl;
#endif
@ -1281,11 +1278,6 @@ void IdDialog::modifyReputation()
}
#endif
#ifdef ID_DEBUG
std::cerr << "IdDialog::modifyReputation() queuingRequest(), token: " << token;
std::cerr << std::endl;
#endif
// trigger refresh when finished.
// basic / anstype are not needed.
requestIdDetails();

View File

@ -62,6 +62,8 @@
#include <time.h>
#define FMM 2//fontMetricsMultiplicator
/*****
* #define CHAT_DEBUG 1
*****/
@ -71,6 +73,10 @@ ChatWidget::ChatWidget(QWidget *parent) :
{
ui->setupUi(this);
int iconHeight = FMM*QFontMetricsF(font()).height() ;
QSize iconSize = QSize(iconHeight,iconHeight);
QSize buttonSize = QSize(iconSize + QSize(FMM,FMM));
newMessages = false;
typing = false;
peerStatus = 0;
@ -82,6 +88,29 @@ ChatWidget::ChatWidget(QWidget *parent) :
lastStatusSendTime = 0 ;
//Resize Tool buttons
ui->emoteiconButton->setFixedSize(buttonSize);
ui->emoteiconButton->setIconSize(iconSize);
ui->fontButton->setFixedSize(buttonSize);
ui->fontButton->setIconSize(iconSize);
ui->attachPictureButton->setFixedSize(buttonSize);
ui->attachPictureButton->setIconSize(iconSize);
ui->addFileButton->setFixedSize(buttonSize);
ui->addFileButton->setIconSize(iconSize);
ui->pushtoolsButton->setFixedSize(buttonSize);
ui->pushtoolsButton->setIconSize(iconSize);
ui->notifyButton->setFixedSize(buttonSize);
ui->notifyButton->setIconSize(iconSize);
ui->markButton->setFixedSize(buttonSize);
ui->markButton->setIconSize(iconSize);
ui->leSearch->setFixedHeight(iconHeight);
ui->searchBefore->setFixedHeight(iconHeight);
ui->searchAfter->setFixedHeight(iconHeight);
ui->searchButton->setFixedSize(buttonSize);
ui->searchButton->setIconSize(iconSize);
ui->sendButton->setFixedHeight(iconHeight);
//Initialize search
iCharToStartSearch=Settings->getChatSearchCharToStartSearch();
bFindCaseSensitively=Settings->getChatSearchCaseSensitively();
bFindWholeWords=Settings->getChatSearchWholeWords();
@ -90,7 +119,6 @@ ChatWidget::ChatWidget(QWidget *parent) :
uiMaxSearchLimitColor=Settings->getChatSearchMaxSearchLimitColor();
cFoundColor=Settings->getChatSearchFoundColor();
ui->actionSearchWithoutLimit->setText(tr("Don't stop to color after")+" "+QString::number(uiMaxSearchLimitColor)+" "+tr("items found (need more CPU)"));
ui->leSearch->setVisible(false);
@ -102,23 +130,23 @@ ChatWidget::ChatWidget(QWidget *parent) :
ui->searchButton->setChecked(false);
ui->searchButton->setToolTip(tr("<b>Find </b><br/><i>Ctrl+F</i>"));
ui->leSearch->installEventFilter(this);
connect(ui->actionFindCaseSensitively, SIGNAL(triggered()), this, SLOT(toogle_FindCaseSensitively()));
connect(ui->actionFindWholeWords, SIGNAL(triggered()), this, SLOT(toogle_FindWholeWords()));
connect(ui->actionMoveToCursor, SIGNAL(triggered()), this, SLOT(toogle_MoveToCursor()));
connect(ui->actionSearchWithoutLimit, SIGNAL(triggered()), this, SLOT(toogle_SeachWithoutLimit()));
connect(ui->searchButton, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenuSearchButton(QPoint)));
connect(ui->actionSearch_History, SIGNAL(triggered()), this, SLOT(searchHistory()));
notify=NULL;
ui->notifyButton->setVisible(false);
ui->markButton->setToolTip(tr("<b>Mark this selected text</b><br><i>Ctrl+M</i>"));
connect(ui->sendButton, SIGNAL(clicked()), this, SLOT(sendChat()));
connect(ui->addFileButton, SIGNAL(clicked()), this , SLOT(addExtraFile()));
connect(ui->attachPictureButton, SIGNAL(clicked()), this, SLOT(addExtraPicture()));
connect(ui->emoteiconButton, SIGNAL(clicked()), this, SLOT(smileyWidget()));
connect(ui->attachPictureButton, SIGNAL(clicked()), this, SLOT(addExtraPicture()));
connect(ui->addFileButton, SIGNAL(clicked()), this , SLOT(addExtraFile()));
connect(ui->sendButton, SIGNAL(clicked()), this, SLOT(sendChat()));
connect(ui->actionSaveChatHistory, SIGNAL(triggered()), this, SLOT(fileSaveAs()));
connect(ui->actionClearChatHistory, SIGNAL(triggered()), this, SLOT(clearChatHistory()));
connect(ui->actionDeleteChatHistory, SIGNAL(triggered()), this, SLOT(deleteChatHistory()));
@ -146,9 +174,6 @@ ChatWidget::ChatWidget(QWidget *parent) :
ui->infoFrame->setVisible(false);
ui->statusMessageLabel->hide();
ui->actionSearch_History->setChecked(Settings->getChatSearchShowBarByDefault());
searchHistory();
setAcceptDrops(true);
ui->chatTextEdit->setAcceptDrops(false);
ui->hashBox->setDropWidget(this);
@ -165,7 +190,6 @@ ChatWidget::ChatWidget(QWidget *parent) :
menu->addAction(ui->actionDeleteChatHistory);
menu->addAction(ui->actionSaveChatHistory);
menu->addAction(ui->actionMessageHistory);
menu->addAction(ui->actionSearch_History);
ui->pushtoolsButton->setMenu(menu);
ui->textBrowser->installEventFilter(this);
@ -218,12 +242,16 @@ void ChatWidget::setDefaultExtraFileFlags(TransferRequestFlags fl)
void ChatWidget::addChatHorizontalWidget(QWidget *w)
{
ui->vl_Plugins->addWidget(w) ;
ui->pluginsVLayout->addWidget(w) ;
update() ;
}
void ChatWidget::addChatBarWidget(QWidget *w)
{
int iconHeight = FMM*QFontMetricsF(font()).height() ;
QSize iconSize = QSize(iconHeight,iconHeight);
QSize buttonSize = QSize(iconSize + QSize(FMM,FMM));
w->setFixedSize(buttonSize);
ui->pluginButtonFrame->layout()->addWidget(w) ;
}
@ -234,8 +262,7 @@ void ChatWidget::addTitleBarWidget(QWidget *w)
void ChatWidget::hideChatText(bool hidden)
{
ui->frame_ChatText->setHidden(hidden); ;
ui->searchframe->setVisible(ui->actionSearch_History->isChecked() && !hidden); ;
ui->chatTextFrame->setHidden(hidden); ;
}
RSButtonOnText* ChatWidget::getNewButtonOnTextBrowser()
@ -316,7 +343,6 @@ void ChatWidget::init(const ChatId &chat_id, const QString &title)
messageCount = Settings->getPublicChatHistoryCount();
ui->titleBarFrame->setVisible(false);
ui->actionSearch_History->setVisible(false);
}
if (rsHistory->getEnable(hist_chat_type))
@ -400,12 +426,12 @@ void ChatWidget::processSettings(bool load)
// load settings
// state of splitter
ui->chatsplitter->restoreState(Settings->value("ChatSplitter").toByteArray());
ui->chatVSplitter->restoreState(Settings->value("ChatSplitter").toByteArray());
} else {
// save settings
// state of splitter
Settings->setValue("ChatSplitter", ui->chatsplitter->saveState());
Settings->setValue("ChatSplitter", ui->chatVSplitter->saveState());
}
Settings->endGroup();
@ -835,7 +861,7 @@ void ChatWidget::on_notifyButton_clicked()
QIcon icoLobby=(ui->notifyButton->icon());
notify->makeSubMenu(menu, icoLobby, title, chatId.toLobbyId());
menu->exec(ui->notifyButton->mapToGlobal(ui->notifyButton->geometry().bottomLeft()));
menu->exec(ui->notifyButton->mapToGlobal(QPoint(0,ui->notifyButton->geometry().height())));
}
@ -1031,7 +1057,7 @@ void ChatWidget::chatCharFormatChanged()
void ChatWidget::resetStatusBar()
{
ui->typingLabel->clear();
ui->typingpixmapLabel->clear();
ui->typingPixmapLabel->clear();
typing = false;
@ -1076,15 +1102,21 @@ void ChatWidget::updateLenOfChatTextEdit()
break;
}
bool msgToLarge = false;
int charRemains = 0;
if (maxMessageSize > 0) {
msgToLarge = (msg.length() >= maxMessageSize);
charRemains = maxMessageSize - msg.length();
}
ui->sendButton->setEnabled(!msgToLarge);
text = tr("%1This message consists of %2 characters.").arg(msgToLarge ? tr("Warning:")+" " : "").arg(msg.length());
ui->sendButton->setEnabled(charRemains>=0);
if (charRemains>0)
text = tr("It remains %1 characters\nafter HTML conversion.").arg(charRemains);
else if(charRemains<0)
text = tr("Warning: This message is too big of %1 characters\nafter HTML conversion.").arg((0-charRemains));
else
text = "";
ui->sendButton->setToolTip(text);
ui->chatTextEdit->setToolTip(msgToLarge?text:"");
ui->chatTextEdit->setToolTip(text);
}
void ChatWidget::sendChat()
@ -1427,16 +1459,6 @@ void ChatWidget::messageHistory()
imBrowser.exec();
}
void ChatWidget::searchHistory()
{
if(ui->actionSearch_History->isChecked()){
ui->searchframe->show();
}else {
ui->searchframe->hide();
}
}
void ChatWidget::addExtraFile()
{
QStringList files;
@ -1660,8 +1682,8 @@ void ChatWidget::updatePeersCustomStateString(const QString& /*peer_id*/, const
void ChatWidget::updateStatusString(const QString &statusMask, const QString &statusString, bool permanent)
{
ui->typingLabel->setText(QString(statusMask).arg(tr(statusString.toUtf8()))); // displays info for 5 secs.
ui->typingpixmapLabel->setPixmap(QPixmap(":images/typing.png") );
ui->typingLabel->setText(QString(statusMask).arg(tr(statusString.toUtf8()))); // displays info for 5 secs.
ui->typingPixmapLabel->setPixmap(QPixmap(":images/typing.png") );
if (statusString == "is typing...") {
typing = true;

View File

@ -132,8 +132,6 @@ private slots:
void deleteChatHistory();
void messageHistory();
void resetStatusBar() ;
void searchHistory();
signals:
void infoChanged(ChatWidget*);

View File

@ -10,7 +10,7 @@
<height>323</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout">
<property name="leftMargin">
<number>0</number>
</property>
@ -27,12 +27,12 @@
<number>2</number>
</property>
<item row="1" column="0">
<layout class="QHBoxLayout" name="hl_TextChat">
<layout class="QHBoxLayout" name="textChatHLayout">
<property name="spacing">
<number>2</number>
</property>
<item>
<widget class="QFrame" name="frame_ChatText">
<widget class="QFrame" name="chatTextFrame">
<property name="minimumSize">
<size>
<width>20</width>
@ -45,7 +45,7 @@
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<layout class="QVBoxLayout" name="chatTextFrameVLayout">
<property name="leftMargin">
<number>0</number>
</property>
@ -130,7 +130,7 @@
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<layout class="QHBoxLayout" name="infoFrameHLayout">
<property name="leftMargin">
<number>6</number>
</property>
@ -207,7 +207,7 @@ border-image: url(:/images/closepressed.png)
</widget>
</item>
<item>
<widget class="QSplitter" name="chatsplitter">
<widget class="QSplitter" name="chatVSplitter">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
@ -235,14 +235,14 @@ border-image: url(:/images/closepressed.png)
</property>
</widget>
<widget class="QWidget" name="layoutWidget">
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="chatTextVLayout">
<property name="spacing">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<layout class="QHBoxLayout" name="typingHLayout">
<item>
<widget class="QLabel" name="typingpixmapLabel">
<widget class="QLabel" name="typingPixmapLabel">
<property name="minimumSize">
<size>
<width>18</width>
@ -280,7 +280,7 @@ border-image: url(:/images/closepressed.png)
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<spacer name="typingHSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -308,7 +308,7 @@ border-image: url(:/images/closepressed.png)
<height>30</height>
</size>
</property>
<property name="placeholderText" stdset="0">
<property name="placeholderText">
<string>Type a message here</string>
</property>
</widget>
@ -325,7 +325,7 @@ border-image: url(:/images/closepressed.png)
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<layout class="QHBoxLayout" name="toolBarFrameHLayout">
<property name="leftMargin">
<number>2</number>
</property>
@ -521,7 +521,7 @@ border-image: url(:/images/closepressed.png)
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<layout class="QHBoxLayout" name="HL_pluginButtonFrame">
<layout class="QHBoxLayout" name="pluginButtonFrameHLayout">
<property name="leftMargin">
<number>2</number>
</property>
@ -538,7 +538,179 @@ border-image: url(:/images/closepressed.png)
</widget>
</item>
<item>
<spacer>
<widget class="QToolButton" name="notifyButton">
<property name="minimumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/chat_red24.png</normaloff>:/images/chat_red24.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="markButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/highlight.png</normaloff>:/images/highlight.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="LineEditClear" name="leSearch"/>
</item>
<item>
<widget class="QToolButton" name="searchBefore">
<property name="minimumSize">
<size>
<width>14</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>14</width>
<height>28</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/arrow-left.png</normaloff>:/images/arrow-left.png</iconset>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="searchAfter">
<property name="minimumSize">
<size>
<width>14</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>14</width>
<height>28</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/arrow-right.png</normaloff>:/images/arrow-right.png</iconset>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="searchButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/find.png</normaloff>:/images/find.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="toolBarHSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -571,12 +743,12 @@ border-image: url(:/images/closepressed.png)
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="vl_Plugins"/>
<layout class="QVBoxLayout" name="pluginsVLayout"/>
</item>
</layout>
</item>
<item row="0" column="0">
<layout class="QHBoxLayout" name="hTitleLayout">
<layout class="QHBoxLayout" name="titleBarMainHLayout">
<property name="sizeConstraint">
<enum>QLayout::SetMaximumSize</enum>
</property>
@ -600,7 +772,7 @@ border-image: url(:/images/closepressed.png)
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<layout class="QHBoxLayout" name="hlTitleBarFrame">
<layout class="QHBoxLayout" name="titleBarFrameHLayout">
<property name="leftMargin">
<number>2</number>
</property>
@ -670,7 +842,7 @@ border-image: url(:/images/closepressed.png)
</layout>
</item>
<item>
<spacer name="horizontalSpacer">
<spacer name="titleBarHSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -690,7 +862,7 @@ border-image: url(:/images/closepressed.png)
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<layout class="QHBoxLayout" name="HL_pluginTitleFrame">
<layout class="QHBoxLayout" name="pluginTitleFrameHLayout">
<property name="leftMargin">
<number>2</number>
</property>
@ -706,202 +878,6 @@ border-image: url(:/images/closepressed.png)
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="searchframe">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="5">
<widget class="QToolButton" name="searchButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/find.png</normaloff>:/images/find.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QToolButton" name="notifyButton">
<property name="minimumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/chat_red24.png</normaloff>:/images/chat_red24.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QToolButton" name="searchAfter">
<property name="minimumSize">
<size>
<width>14</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>14</width>
<height>28</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/arrow-right.png</normaloff>:/images/arrow-right.png</iconset>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="LineEditClear" name="leSearch"/>
</item>
<item row="0" column="4">
<widget class="QToolButton" name="searchBefore">
<property name="minimumSize">
<size>
<width>14</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>14</width>
<height>28</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/arrow-left.png</normaloff>:/images/arrow-left.png</iconset>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QToolButton" name="markButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>28</width>
<height>28</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/highlight.png</normaloff>:/images/highlight.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
@ -1033,17 +1009,6 @@ border-image: url(:/images/closepressed.png)
<string>Choose color</string>
</property>
</action>
<action name="actionSearch_History">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Display Search Box</string>
</property>
<property name="toolTip">
<string>Search Box</string>
</property>
</action>
<action name="actionQuote">
<property name="text">
<string>Quote</string>
@ -1099,8 +1064,8 @@ border-image: url(:/images/closepressed.png)
</customwidget>
</customwidgets>
<resources>
<include location="../images.qrc"/>
<include location="../emojione.qrc"/>
<include location="../images.qrc"/>
</resources>
<connections/>
</ui>

View File

@ -262,7 +262,11 @@ bool GxsIdDetails::process(const RsGxsId &id, GxsIdDetailsCallbackFunction callb
if(it != mInstance->mPendingData.end())
{
mInstance->connectObject_locked(object, false);
mInstance->mPendingData.erase(it) ;
if(mInstance->mPendingDataIterator == it)
mInstance->mPendingDataIterator = mInstance->mPendingData.erase(it) ;
else
mInstance->mPendingData.erase(it) ;
}
/* Connect signal "destroy" */

View File

@ -130,7 +130,6 @@ ChatPage::save(QString &/*errmsg*/)
Settings->setChatSendMessageWithCtrlReturn(ui.sendMessageWithCtrlReturn->isChecked());
Settings->setChatSearchShowBarByDefault(ui.cbSearch_ShowBar->isChecked());
Settings->setChatSearchCharToStartSearch(ui.sbSearch_CharToStart->value());
Settings->setChatSearchCaseSensitively(ui.cbSearch_CaseSensitively->isChecked());
Settings->setChatSearchWholeWords(ui.cbSearch_WholeWords->isChecked());
@ -238,7 +237,6 @@ ChatPage::load()
ui.sendMessageWithCtrlReturn->setChecked(Settings->getChatSendMessageWithCtrlReturn());
ui.cbSearch_ShowBar->setChecked(Settings->getChatSearchShowBarByDefault());
ui.sbSearch_CharToStart->setValue(Settings->getChatSearchCharToStartSearch());
ui.cbSearch_CaseSensitively->setChecked(Settings->getChatSearchCaseSensitively());
ui.cbSearch_WholeWords->setChecked(Settings->getChatSearchWholeWords());

View File

@ -512,16 +512,6 @@ void RshareSettings::setChatSendMessageWithCtrlReturn(bool bValue)
setValueToGroup("Chat", "SendMessageWithCtrlReturn", bValue);
}
bool RshareSettings::getChatSearchShowBarByDefault()
{
return valueFromGroup("Chat", "SearchShowBarByDefault", false).toBool();
}
void RshareSettings::setChatSearchShowBarByDefault(bool bValue)
{
setValueToGroup("Chat", "SearchShowBarByDefault", bValue);
}
void RshareSettings::setChatSearchCharToStartSearch(int iValue)
{
setValueToGroup("Chat", "SearchCharToStartSearch", iValue);

View File

@ -209,9 +209,6 @@ public:
bool getChatSendMessageWithCtrlReturn();
void setChatSendMessageWithCtrlReturn(bool bValue);
bool getChatSearchShowBarByDefault();
void setChatSearchShowBarByDefault(bool bValue);
void setChatSearchCharToStartSearch(int iValue);
int getChatSearchCharToStartSearch();