Merge branch 'master' into webui
@ -19,7 +19,7 @@ Compilation on Linux
|
||||
sudo zypper install gcc-c++ libqt4-devel libgnome-keyring-devel \
|
||||
glib2-devel speex-devel libssh-devel protobuf-devel libcurl-devel \
|
||||
libxml2-devel libxslt-devel sqlcipher-devel libmicrohttpd-devel \
|
||||
opencv-devel speexdsp-devel libupnp-devel
|
||||
opencv-devel speexdsp-devel libupnp-devel libavcodec-devel
|
||||
```
|
||||
* Arch Linux
|
||||
```bash
|
||||
|
@ -1,5 +1,23 @@
|
||||
retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low
|
||||
|
||||
4953324 electron128 Sat, 2 Jan 2016 14:53:24 +0100 Merge pull request #235 from PhenomRetroShare/Fix_MakeMACOS_PluginWorking
|
||||
c5e6f62 Phenom Sat, 2 Jan 2016 14:19:53 +0100 Make Plugin working in Mac OSX.
|
||||
b6b5f9c csoler Fri, 1 Jan 2016 22:36:07 -0500 fixed some of the issues reported by coverity scan (mainly uninitialised class members)
|
||||
ab3939c csoler Fri, 1 Jan 2016 11:11:40 -0500 added missing update of mClientMsgUpdateMap, causing both a memory leak and an inconsistency in TS
|
||||
22c00fc electron128 Fri, 1 Jan 2016 14:07:15 +0100 fixed free() in UdpLayer::recv_loop
|
||||
58672e8 electron128 Fri, 1 Jan 2016 13:44:38 +0100 fix the logic to prevent using invalid iterators. First make a valid iterator, then dereference
|
||||
3b2eae4 electron128 Fri, 1 Jan 2016 12:17:08 +0100 fixed memory leak by using stack memory instead of heap memory
|
||||
9cb81f5 electron128 Fri, 1 Jan 2016 12:01:49 +0100 don't create wiki dataservice if wiki is not enabled for compile
|
||||
72812be electron128 Fri, 1 Jan 2016 11:54:59 +0100 added missing initialisation of integers in GxsForumThreadWidget
|
||||
55ea8a5 electron128 Fri, 1 Jan 2016 11:49:03 +0100 init pointer in RsServer
|
||||
7efb763 electron128 Fri, 1 Jan 2016 11:38:29 +0100 restore stream state of std::cerr after printing hex number
|
||||
640d71b electron128 Fri, 1 Jan 2016 11:09:49 +0100 removed delete of RsTemporaryMemory
|
||||
d24ff5a csoler Thu, 31 Dec 2015 19:42:50 -0500 Merge pull request #232 from G10h4ck/master
|
||||
7895932 Gio Fri, 1 Jan 2016 00:45:01 +0100 print_stacktrace is OS specific
|
||||
e872727 csoler Thu, 31 Dec 2015 17:37:05 -0500 updated dos->unix convertion script
|
||||
b6b04dc csoler Thu, 31 Dec 2015 17:28:42 -0500 added script to convert files to unix format
|
||||
6392d65 csoler Thu, 31 Dec 2015 16:50:52 -0500 fixed [dos] LF in IdDialog.h
|
||||
|
||||
a6ee7cc csoler Thu, 31 Dec 2015 14:15:14 -0500 Merge pull request #230 from G10h4ck/ss_port_invalid_family
|
||||
fac1524 csoler Thu, 31 Dec 2015 13:58:13 -0500 updated todo list
|
||||
c5feafa Gio Thu, 31 Dec 2015 19:56:50 +0100 Add missing stacktrace.h
|
||||
@ -2168,7 +2186,7 @@ retroshare (0.5.4-0.6546~precise) precise; urgency=low
|
||||
retroshare (0.5.4-0.6455~precise) precise; urgency=low
|
||||
|
||||
* Improvements
|
||||
- GUI
|
||||
- GUI
|
||||
* added/enabled GUI for distant chat (Invitation handler in config->chat, handling of Distant chat links)
|
||||
* Localized Greek and Dutch (patch from Henry). Updated English.
|
||||
* Languages updates from transifex
|
||||
@ -2217,7 +2235,7 @@ retroshare (0.5.4-0.6399~precise) precise; urgency=low
|
||||
- added columns for last used statistics on pgp keys in network dialog.
|
||||
|
||||
* Bugs
|
||||
- fixed display of names in file lists
|
||||
- fixed display of names in file lists
|
||||
- fixed destination directory when downloading channel items in auto DL mode
|
||||
- improved time-stamp management for pgp keys
|
||||
- fixed translatable string with .arg (Req. From H. Morgan)
|
||||
|
@ -38,121 +38,133 @@
|
||||
|
||||
class ServiceNotifications
|
||||
{
|
||||
public:
|
||||
public:
|
||||
std::set<RsPeerId> mAdded;
|
||||
std::set<RsPeerId> mRemoved;
|
||||
};
|
||||
|
||||
class ServicePeerFilter
|
||||
{
|
||||
public:
|
||||
ServicePeerFilter() : mDenyAll(true), mAllowAll(false) {}
|
||||
public:
|
||||
ServicePeerFilter()
|
||||
:mDenyAll(true), mAllowAll(false) {}
|
||||
|
||||
bool mDenyAll;
|
||||
bool mAllowAll;
|
||||
std::set<uint32_t> mAllowedServices;
|
||||
bool mDenyAll;
|
||||
bool mAllowAll;
|
||||
std::set<uint32_t> mAllowedServices;
|
||||
};
|
||||
|
||||
std::ostream &operator<<(std::ostream &out, const ServicePeerFilter &filter);
|
||||
|
||||
class ServiceControlSerialiser;
|
||||
class ServiceControlSerialiser ;
|
||||
|
||||
class p3ServiceControl: public RsServiceControl, public pqiMonitor, public p3Config
|
||||
{
|
||||
public:
|
||||
p3ServiceControl(p3LinkMgr *linkMgr);
|
||||
|
||||
/**
|
||||
* checks and update all added configurations
|
||||
* @see rsserver
|
||||
*/
|
||||
void tick();
|
||||
p3ServiceControl(p3LinkMgr *linkMgr);
|
||||
|
||||
/**
|
||||
* provided so that services don't need linkMgr, and can get all info
|
||||
/**
|
||||
* checks and update all added configurations
|
||||
* @see rsserver
|
||||
*/
|
||||
void tick();
|
||||
|
||||
/**
|
||||
* provided so that services don't need linkMgr, and can get all info
|
||||
* from ServiceControl.
|
||||
* @see rsserver
|
||||
*/
|
||||
virtual const RsPeerId& getOwnId();
|
||||
* @see rsserver
|
||||
*/
|
||||
|
||||
virtual const RsPeerId& getOwnId();
|
||||
|
||||
/**
|
||||
* External Interface (RsServiceControl).
|
||||
*/
|
||||
virtual bool getOwnServices(RsPeerServiceInfo &info);
|
||||
|
||||
virtual bool getOwnServices(RsPeerServiceInfo &info);
|
||||
|
||||
// This is what is passed to peers, can be displayed by GUI too.
|
||||
virtual bool getServicesAllowed(const RsPeerId &peerId, RsPeerServiceInfo &info);
|
||||
virtual bool getServicesAllowed(const RsPeerId &peerId, RsPeerServiceInfo &info);
|
||||
|
||||
// Information provided by peer.
|
||||
virtual bool getServicesProvided(const RsPeerId &peerId, RsPeerServiceInfo &info);
|
||||
virtual bool getServicesProvided(const RsPeerId &peerId, RsPeerServiceInfo &info);
|
||||
|
||||
// Main Permission Interface.
|
||||
virtual bool getServicePermissions(uint32_t serviceId, RsServicePermissions &permissions);
|
||||
virtual bool updateServicePermissions(uint32_t serviceId, const RsServicePermissions &permissions);
|
||||
virtual bool getServicePermissions(uint32_t serviceId, RsServicePermissions &permissions);
|
||||
virtual bool updateServicePermissions(uint32_t serviceId, const RsServicePermissions &permissions);
|
||||
|
||||
// Get List of Peers using this Service.
|
||||
virtual void getPeersConnected(const uint32_t serviceId, std::set<RsPeerId> &peerSet);
|
||||
virtual bool isPeerConnected(const uint32_t serviceId, const RsPeerId &peerId);
|
||||
virtual void getPeersConnected(const uint32_t serviceId, std::set<RsPeerId> &peerSet);
|
||||
virtual bool isPeerConnected(const uint32_t serviceId, const RsPeerId &peerId);
|
||||
|
||||
/**
|
||||
* Registration for all Services.
|
||||
*/
|
||||
virtual bool registerService(const RsServiceInfo &info, bool defaultOn);
|
||||
virtual bool deregisterService(uint32_t serviceId);
|
||||
|
||||
virtual bool registerServiceMonitor(pqiServiceMonitor *monitor, uint32_t serviceId);
|
||||
virtual bool deregisterServiceMonitor(pqiServiceMonitor *monitor);
|
||||
virtual bool registerService(const RsServiceInfo &info, bool defaultOn);
|
||||
virtual bool deregisterService(uint32_t serviceId);
|
||||
|
||||
virtual bool registerServiceMonitor(pqiServiceMonitor *monitor, uint32_t serviceId);
|
||||
virtual bool deregisterServiceMonitor(pqiServiceMonitor *monitor);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// Filter for services.
|
||||
virtual bool checkFilter(uint32_t serviceId, const RsPeerId &peerId);
|
||||
virtual bool checkFilter(uint32_t serviceId, const RsPeerId &peerId);
|
||||
|
||||
/*
|
||||
/**
|
||||
* Interface for ServiceInfo service.
|
||||
*/
|
||||
|
||||
// ServicesAllowed have changed for these peers.
|
||||
virtual void getServiceChanges(std::set<RsPeerId> &updateSet);
|
||||
virtual void getServiceChanges(std::set<RsPeerId> &updateSet);
|
||||
|
||||
// Input from peers.
|
||||
virtual bool updateServicesProvided(const RsPeerId &peerId, const RsPeerServiceInfo &info);
|
||||
// Input from peers.
|
||||
virtual bool updateServicesProvided(const RsPeerId &peerId, const RsPeerServiceInfo &info);
|
||||
|
||||
// pqiMonitor.
|
||||
virtual void statusChange(const std::list<pqipeer> &plist);
|
||||
virtual void statusChange(const std::list<pqipeer> &plist);
|
||||
|
||||
protected:
|
||||
// configuration.
|
||||
virtual bool saveList(bool &cleanup, std::list<RsItem *>&);
|
||||
virtual bool loadList(std::list<RsItem *>& load);
|
||||
virtual RsSerialiser *setupSerialiser() ;
|
||||
virtual bool saveList(bool &cleanup, std::list<RsItem *>&);
|
||||
virtual bool loadList(std::list<RsItem *>& load);
|
||||
virtual RsSerialiser *setupSerialiser() ;
|
||||
|
||||
private:
|
||||
void notifyServices();
|
||||
void notifyAboutFriends();
|
||||
|
||||
void updatePeerConnect(const RsPeerId &peerId);
|
||||
void updatePeerDisconnect(const RsPeerId &peerId);
|
||||
void updatePeerNew(const RsPeerId &peerId);
|
||||
void updatePeerRemoved(const RsPeerId &peerId);
|
||||
void notifyServices();
|
||||
void notifyAboutFriends();
|
||||
|
||||
void removePeer(const RsPeerId &peerId);
|
||||
void updatePeerConnect(const RsPeerId &peerId);
|
||||
void updatePeerDisconnect(const RsPeerId &peerId);
|
||||
void updatePeerNew(const RsPeerId &peerId);
|
||||
void updatePeerRemoved(const RsPeerId &peerId);
|
||||
|
||||
void removePeer(const RsPeerId &peerId);
|
||||
|
||||
|
||||
bool updateAllFilters();
|
||||
bool updateAllFilters_locked();
|
||||
bool updateFilterByPeer(const RsPeerId &peerId);
|
||||
bool updateFilterByPeer_locked(const RsPeerId &peerId);
|
||||
bool updateAllFilters();
|
||||
bool updateAllFilters_locked();
|
||||
bool updateFilterByPeer(const RsPeerId &peerId);
|
||||
bool updateFilterByPeer_locked(const RsPeerId &peerId);
|
||||
|
||||
|
||||
void recordFilterChanges_locked(const RsPeerId &peerId,
|
||||
ServicePeerFilter &originalFilter,
|
||||
ServicePeerFilter &updatedFilter);
|
||||
void recordFilterChanges_locked(const RsPeerId &peerId,
|
||||
ServicePeerFilter &originalFilter, ServicePeerFilter &updatedFilter);
|
||||
|
||||
// Called from recordFilterChanges.
|
||||
void filterChangeAdded_locked(const RsPeerId &peerId, uint32_t serviceId);
|
||||
void filterChangeRemoved_locked(const RsPeerId &peerId, uint32_t serviceId);
|
||||
|
||||
bool createDefaultPermissions_locked(uint32_t serviceId, std::string serviceName, bool defaultOn);
|
||||
bool peerHasPermissionForService_locked(const RsPeerId &peerId, uint32_t serviceId);
|
||||
bool createDefaultPermissions_locked(uint32_t serviceId, std::string serviceName, bool defaultOn);
|
||||
bool peerHasPermissionForService_locked(const RsPeerId &peerId, uint32_t serviceId);
|
||||
|
||||
p3LinkMgr *mLinkMgr;
|
||||
const RsPeerId mOwnPeerId; // const from constructor
|
||||
@ -164,22 +176,25 @@ private:
|
||||
// From registration / deregistration.
|
||||
std::map<uint32_t, RsServiceInfo> mOwnServices;
|
||||
// From peers.
|
||||
std::map<RsPeerId, RsPeerServiceInfo> mServicesProvided;
|
||||
std::map<RsPeerId, RsPeerServiceInfo> mServicesProvided;
|
||||
// derived from all the others.
|
||||
std::map<RsPeerId, ServicePeerFilter> mPeerFilterMap;
|
||||
std::map<RsPeerId, ServicePeerFilter> mPeerFilterMap;
|
||||
|
||||
std::map<uint32_t, ServiceNotifications> mNotifications;
|
||||
std::list<pqiServicePeer> mFriendNotifications;
|
||||
std::map<uint32_t, ServiceNotifications> mNotifications;
|
||||
std::list<pqiServicePeer> mFriendNotifications;
|
||||
|
||||
// Map of Connected Peers per Service.
|
||||
std::map<uint32_t, std::set<RsPeerId> > mServicePeerMap;
|
||||
|
||||
// Separate mutex here - must not hold both at the same time!
|
||||
RsMutex mMonitorMtx; /* below is protected */
|
||||
std::multimap<uint32_t, pqiServiceMonitor *> mMonitors;
|
||||
std::multimap<uint32_t, pqiServiceMonitor *> mMonitors;
|
||||
|
||||
ServiceControlSerialiser *mSerialiser ;
|
||||
|
||||
// Below here is saved in Configuration.
|
||||
std::map<uint32_t, RsServicePermissions> mServicePermissionMap;
|
||||
|
||||
// Below here is saved in Configuration.
|
||||
std::map<uint32_t, RsServicePermissions> mServicePermissionMap;
|
||||
};
|
||||
|
||||
|
||||
|
@ -441,7 +441,6 @@ int pqistreamer::handleoutgoing_locked()
|
||||
mPkt_wpending_size = 0 ;
|
||||
}
|
||||
|
||||
outSentBytes_locked(sentbytes);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -469,7 +468,6 @@ int pqistreamer::handleoutgoing_locked()
|
||||
}
|
||||
#endif
|
||||
|
||||
outSentBytes_locked(sentbytes);
|
||||
return 0;
|
||||
}
|
||||
#define GROUP_OUTGOING_PACKETS 1
|
||||
@ -524,12 +522,12 @@ int pqistreamer::handleoutgoing_locked()
|
||||
pqioutput(PQL_DEBUG_BASIC, pqistreamerzone, out);
|
||||
#endif
|
||||
|
||||
outSentBytes_locked(sentbytes);
|
||||
// pkt_wpending will kept til next time.
|
||||
// ensuring exactly the same data is written (openSSL requirement).
|
||||
return -1;
|
||||
}
|
||||
++nsent;
|
||||
outSentBytes_locked(mPkt_wpending_size); // this is the only time where we know exactly what was sent.
|
||||
|
||||
#ifdef DEBUG_TRANSFERS
|
||||
std::cerr << "pqistreamer::handleoutgoing_locked() Sent Packet len: " << mPkt_wpending_size << " @ " << RsUtil::AccurateTimeString();
|
||||
@ -549,7 +547,6 @@ int pqistreamer::handleoutgoing_locked()
|
||||
if(nsent > 0)
|
||||
std::cerr << "nsent = " << nsent << ", total bytes=" << sentbytes << std::endl;
|
||||
#endif
|
||||
outSentBytes_locked(sentbytes);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -568,7 +565,6 @@ int pqistreamer::handleincoming_locked()
|
||||
if(!(mBio->isactive()))
|
||||
{
|
||||
mReading_state = reading_state_initial ;
|
||||
inReadBytes_locked(readbytes);
|
||||
free_rpend_locked();
|
||||
return 0;
|
||||
}
|
||||
@ -606,8 +602,6 @@ start_packet_read:
|
||||
{
|
||||
pqioutput(PQL_DEBUG_BASIC, pqistreamerzone, "pqistreamer::handleincoming() Didn't read BasePkt!");
|
||||
|
||||
inReadBytes_locked(readbytes);
|
||||
|
||||
// error.... (either blocked or failure)
|
||||
if (tmplen == 0)
|
||||
{
|
||||
@ -652,7 +646,7 @@ start_packet_read:
|
||||
#endif
|
||||
|
||||
readbytes += blen;
|
||||
mReading_state = reading_state_packet_started ;
|
||||
mReading_state = reading_state_packet_started ;
|
||||
mFailed_read_attempts = 0 ; // reset failed read, as the packet has been totally read.
|
||||
}
|
||||
continue_packet:
|
||||
@ -805,7 +799,7 @@ continue_packet:
|
||||
|
||||
mFailed_read_attempts = 0 ;
|
||||
readbytes += extralen;
|
||||
}
|
||||
}
|
||||
|
||||
// create packet, based on header.
|
||||
#ifdef DEBUG_PQISTREAMER
|
||||
@ -824,7 +818,9 @@ continue_packet:
|
||||
std::cerr << "[" << (void*)pthread_self() << "] " << "deserializing. Size=" << pktlen << std::endl ;
|
||||
#endif
|
||||
|
||||
RsItem *pkt = mRsSerialiser->deserialise(block, &pktlen);
|
||||
inReadBytes_locked(pktlen); // only count deserialised packets, because that's what is actually been transfered.
|
||||
|
||||
RsItem *pkt = mRsSerialiser->deserialise(block, &pktlen);
|
||||
|
||||
if ((pkt != NULL) && (0 < handleincomingitem_locked(pkt,pktlen)))
|
||||
{
|
||||
@ -854,7 +850,6 @@ continue_packet:
|
||||
}
|
||||
#endif
|
||||
|
||||
inReadBytes_locked(readbytes);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1391,7 +1391,13 @@ void ChatWidget::smileyWidget()
|
||||
|
||||
void ChatWidget::addSmiley()
|
||||
{
|
||||
ui->chatTextEdit->textCursor().insertText(qobject_cast<QPushButton*>(sender())->toolTip().split("|").first());
|
||||
QString smiley = qobject_cast<QPushButton*>(sender())->toolTip().split("|").first();
|
||||
// add trailing space
|
||||
smiley += QString(" ");
|
||||
// add preceding space when needed (not at start of text or preceding space already exists)
|
||||
if(!ui->chatTextEdit->textCursor().atStart() && ui->chatTextEdit->toPlainText()[ui->chatTextEdit->textCursor().position() - 1] != QChar(' '))
|
||||
smiley = QString(" ") + smiley;
|
||||
ui->chatTextEdit->textCursor().insertText(smiley);
|
||||
}
|
||||
|
||||
void ChatWidget::clearChatHistory()
|
||||
|
@ -11,12 +11,21 @@
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<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>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="1" column="0">
|
||||
<layout class="QHBoxLayout" name="hl_TextChat">
|
||||
<property name="spacing">
|
||||
@ -37,7 +46,16 @@
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="margin">
|
||||
<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>
|
||||
@ -113,7 +131,16 @@
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
@ -299,7 +326,16 @@ border-image: url(:/images/closepressed.png)
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item>
|
||||
@ -326,8 +362,8 @@ border-image: url(:/images/closepressed.png)
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../images.qrc">
|
||||
<normaloff>:/images/emoticons/kopete/kopete020.png</normaloff>:/images/emoticons/kopete/kopete020.png</iconset>
|
||||
<iconset resource="../emojione.qrc">
|
||||
<normaloff>:/emojione/1F603.png</normaloff>:/emojione/1F603.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
@ -486,7 +522,16 @@ border-image: url(:/images/closepressed.png)
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="HL_pluginButtonFrame">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
</layout>
|
||||
@ -556,7 +601,16 @@ border-image: url(:/images/closepressed.png)
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="hlTitleBarFrame">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item>
|
||||
@ -637,7 +691,16 @@ border-image: url(:/images/closepressed.png)
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="HL_pluginTitleFrame">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
</layout>
|
||||
@ -652,7 +715,16 @@ border-image: url(:/images/closepressed.png)
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<property name="margin">
|
||||
<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">
|
||||
@ -980,7 +1052,7 @@ border-image: url(:/images/closepressed.png)
|
||||
<string>Quotes the selected text</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSave_image">
|
||||
<action name="actionSave_image">
|
||||
<property name="icon">
|
||||
<iconset resource="../images.qrc">
|
||||
<normaloff>:/images/document_save.png</normaloff>:/images/document_save.png</iconset>
|
||||
@ -1020,6 +1092,7 @@ border-image: url(:/images/closepressed.png)
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../images.qrc"/>
|
||||
<include location="../emojione.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
@ -94,7 +94,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="userCertLabel">
|
||||
<property name="text">
|
||||
<string>The text below is your PGP certificate. You have to provide it to your friend</string>
|
||||
<string>The text below is your Retroshare certificate. You have to provide it to your friend</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -278,7 +278,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="friendCertLabel">
|
||||
<property name="text">
|
||||
<string>Please, paste your friend's PGP certificate into the box below</string>
|
||||
<string>Please, paste your friend's Retroshare certificate into the box below</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -291,6 +291,9 @@
|
||||
<family>Courier New</family>
|
||||
</font>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your PGP key. Do not paste your PGP key here (or even a part of it). It's not going to work.</p></body></html></string>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
@ -524,16 +527,7 @@
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_10">
|
||||
<property name="leftMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<property name="margin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<item>
|
||||
|
@ -18,7 +18,7 @@
|
||||
<file>emojione/1F4A6.png</file>
|
||||
<file>emojione/1F4A7.png</file>
|
||||
<file>emojione/1F4A8.png</file>
|
||||
<file>emojione/1F4A9.png</file>
|
||||
<file>emojione/1F4A9.png</file>
|
||||
<file>emojione/1F4C0.png</file>
|
||||
<file>emojione/1F4C1.png</file>
|
||||
<file>emojione/1F4C2.png</file>
|
||||
@ -188,16 +188,6 @@
|
||||
<file>emojione/1F199.png</file>
|
||||
<file>emojione/1F201.png</file>
|
||||
<file>emojione/1F202.png</file>
|
||||
<file>emojione/1F232.png</file>
|
||||
<file>emojione/1F233.png</file>
|
||||
<file>emojione/1F234.png</file>
|
||||
<file>emojione/1F235.png</file>
|
||||
<file>emojione/1F236.png</file>
|
||||
<file>emojione/1F237.png</file>
|
||||
<file>emojione/1F238.png</file>
|
||||
<file>emojione/1F239.png</file>
|
||||
<file>emojione/1F250.png</file>
|
||||
<file>emojione/1F251.png</file>
|
||||
<file>emojione/1F300.png</file>
|
||||
<file>emojione/1F301.png</file>
|
||||
<file>emojione/1F302.png</file>
|
||||
@ -544,8 +534,6 @@
|
||||
<file>emojione/2934.png</file>
|
||||
<file>emojione/2935.png</file>
|
||||
<file>emojione/3030.png</file>
|
||||
<file>emojione/3297.png</file>
|
||||
<file>emojione/3299.png</file>
|
||||
<file>emojione/1f910.png</file>
|
||||
<file>emojione/1f911.png</file>
|
||||
<file>emojione/1f912.png</file>
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 950 B |
Before Width: | Height: | Size: 987 B After Width: | Height: | Size: 1010 B |
Before Width: | Height: | Size: 866 B After Width: | Height: | Size: 892 B |
Before Width: | Height: | Size: 656 B After Width: | Height: | Size: 693 B |
Before Width: | Height: | Size: 899 B After Width: | Height: | Size: 879 B |
Before Width: | Height: | Size: 967 B After Width: | Height: | Size: 948 B |
Before Width: | Height: | Size: 786 B After Width: | Height: | Size: 814 B |
Before Width: | Height: | Size: 923 B After Width: | Height: | Size: 904 B |
Before Width: | Height: | Size: 961 B After Width: | Height: | Size: 956 B |
Before Width: | Height: | Size: 782 B After Width: | Height: | Size: 795 B |
Before Width: | Height: | Size: 1002 B After Width: | Height: | Size: 930 B |
Before Width: | Height: | Size: 976 B After Width: | Height: | Size: 920 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 689 B After Width: | Height: | Size: 840 B |
Before Width: | Height: | Size: 710 B After Width: | Height: | Size: 793 B |
Before Width: | Height: | Size: 881 B After Width: | Height: | Size: 919 B |
Before Width: | Height: | Size: 672 B After Width: | Height: | Size: 725 B |
Before Width: | Height: | Size: 951 B After Width: | Height: | Size: 931 B |
Before Width: | Height: | Size: 748 B After Width: | Height: | Size: 771 B |
Before Width: | Height: | Size: 601 B After Width: | Height: | Size: 797 B |
Before Width: | Height: | Size: 667 B After Width: | Height: | Size: 884 B |
Before Width: | Height: | Size: 646 B After Width: | Height: | Size: 706 B |
Before Width: | Height: | Size: 836 B After Width: | Height: | Size: 829 B |
Before Width: | Height: | Size: 793 B After Width: | Height: | Size: 895 B |
Before Width: | Height: | Size: 853 B After Width: | Height: | Size: 914 B |
Before Width: | Height: | Size: 935 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 697 B After Width: | Height: | Size: 793 B |
Before Width: | Height: | Size: 945 B After Width: | Height: | Size: 1013 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 804 B After Width: | Height: | Size: 887 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 755 B After Width: | Height: | Size: 833 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 742 B After Width: | Height: | Size: 808 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 758 B After Width: | Height: | Size: 842 B |
Before Width: | Height: | Size: 962 B After Width: | Height: | Size: 983 B |
Before Width: | Height: | Size: 748 B After Width: | Height: | Size: 795 B |
Before Width: | Height: | Size: 969 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 775 B After Width: | Height: | Size: 827 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 934 B After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 781 B After Width: | Height: | Size: 858 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1009 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 853 B After Width: | Height: | Size: 998 B |
Before Width: | Height: | Size: 835 B After Width: | Height: | Size: 980 B |
Before Width: | Height: | Size: 848 B After Width: | Height: | Size: 933 B |
Before Width: | Height: | Size: 746 B After Width: | Height: | Size: 831 B |
Before Width: | Height: | Size: 970 B After Width: | Height: | Size: 982 B |
Before Width: | Height: | Size: 907 B After Width: | Height: | Size: 984 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 851 B |
Before Width: | Height: | Size: 716 B After Width: | Height: | Size: 856 B |
Before Width: | Height: | Size: 1016 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 994 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 877 B After Width: | Height: | Size: 964 B |
Before Width: | Height: | Size: 766 B After Width: | Height: | Size: 835 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 873 B After Width: | Height: | Size: 878 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1013 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 760 B After Width: | Height: | Size: 810 B |
Before Width: | Height: | Size: 962 B After Width: | Height: | Size: 973 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |