Merge remote-tracking branch 'origin/master' into desktop-file2

This commit is contained in:
Christoph Johannes Kleine 2025-07-14 13:24:49 +02:00
commit 24112db83f
No known key found for this signature in database
GPG key ID: FF75D4DF473093E5
72 changed files with 606 additions and 434 deletions

2
.gitmodules vendored
View file

@ -36,6 +36,8 @@
[submodule "retroshare-webui"]
path = retroshare-webui
url = https://github.com/RetroShare/RSNewWebUI.git
branch = master
[submodule "supportlibs/librnp"]
path = supportlibs/librnp
url = https://github.com/rnpgp/rnp.git
branch = main

View file

@ -7,6 +7,9 @@ RetroShare is a decentralized, private, secure, cross-platform, communication
toolkit.
RetroShare provides file sharing, chat, messages, forums, channels and more.
|===============================================================================
| Developer Documentation | image:https://deepwiki.com/badge.svg[link="https://deepwiki.com/RetroShare/RetroShare",title="Ask DeepWiki"]
|===============================================================================
.Build Status
|===============================================================================
|GNU/Linux (via Gitlab CI) | image:https://gitlab.com/RetroShare/RetroShare/badges/master/pipeline.svg[link="https://gitlab.com/RetroShare/RetroShare/-/commits/master",title="pipeline status"]

View file

@ -2,13 +2,15 @@
## Qt Installation
Install Qt via: [Qt Download](http://www.qt.io/download/)
Qt 5.15 is not available as install package.
Use default options. And add Qt Script support.
Download Qt 5.15.x from here: [Qt 5.15.17](https://download.qt.io/archive/qt/5.15/5.15.17/single/qt-everywhere-opensource-src-5.15.17.tar.xz)
Instruction howto Build Qt 5.15.x on macOS: [macOS Building](https://doc.qt.io/archives/qt-5.15/macos-building.html)
## Set the Environment Variables
Add to the PATH environment variable by editing your *~/.profile* file.
export PATH="/users/$USER/Qt/5.14.1/clang_64/bin:$PATH"
export PATH="/users/$USER/Qt/5.15.17/clang_64/bin:$PATH"
Depends on which version of Qt you use.
@ -32,11 +34,9 @@ In GitHub Desktop -> Clone Repository -> URL
## ***Get XCode & MacOSX SDK***
Install XCode following this guide: [XCode](http://guide.macports.org/#installing.xcode)
To identify the correct version of Xcode to install, you need to know which OS you are running. Go to the [x] menu -> "About This Mac" and read the macOS version number.
If you are running the macOS Catalina >= 10.15, you can install Xcode directly from App Store using the instructions below.
If you are running macOS Ventura 13.5 or later, you can install Xcode directly from App Store using the instructions below.
You can find older versions of Xcode at [Apple Developer Downloads](https://developer.apple.com/downloads/). Find the appropriate .xip file for your macOS version
@ -53,27 +53,12 @@ Install XCode command line developer tools:
Start XCode to get it updated and to able C compiler to create executables.
Get Your MacOSX SDK if missing: [MacOSX-SDKs](https://github.com/phracker/MacOSX-SDKs)
## ***Choose if you use MacPort or HomeBrew***
Older MacOSX SDK is available from here: [MacOSX-SDKs](https://github.com/phracker/MacOSX-SDKs)
### MacPort Installation
Install MacPort following this guide: [MacPort](http://guide.macports.org/#installing.xcode)
#### Install libraries
$ sudo port -v selfupdate
$ sudo port install openssl
$ sudo port install miniupnpc
For VOIP Plugin:
$ sudo port install speex-devel
$ sudo port install opencv
$ sudo port install ffmpeg
### HOMEBREW Installation
Install HomeBrew following this guide: [HomeBrew](http://brew.sh/)

View file

@ -1,10 +1,11 @@
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=RetroShare
Comment=Securely share files with your friends
Comment=Securely communicate with your friends
Exec=retroshare %U
Icon=retroshare.xpm
Terminal=false
Type=Application
Categories=Network;P2P;
Categories=Network;Email;InstantMessaging;Chat;Feed;FileTransfer;P2P
MimeType=x-scheme-handler/retroshare;

View file

@ -18,8 +18,8 @@ At the end, you'll get at ..\\*-msys2\deploy\ the Portable 7zip file.
### MSYS2 INSTALLATION (for editing or debugging)
Download MSYS2 from [MSYS2](http://www.msys2.org/). Get the i686 version
if you run a 32-bit Windows or the x86_64 if you run a 64-bit Windows.
Download MSYS2 from [MSYS2](http://www.msys2.org/). Installing
MSYS2 requires 64 bit Windows 10 or newer.
Run the installer and install MSYS2.
@ -40,26 +40,29 @@ Run MSYS2 MSYS again and finish updating with:
Install the default programs needed to build:
pacman -S base-devel git wget p7zip gcc perl ruby python2 doxygen cmake
pacman -S base-devel git wget p7zip gcc perl ruby doxygen cmake
Install the 32-bit toolchain:
Install the 64-bit toolchain:
pacman -S mingw-w64-i686-toolchain
pacman -S mingw-w64-x86_64-toolchain
Install all needed dependencies:
pacman -S mingw-w64-i686-miniupnpc
pacman -S mingw-w64-i686-libmicrohttpd
pacman -S mingw-w64-i686-libxslt
pacman -S mingw-w64-i686-xapian-core
pacman -S mingw-w64-i686-sqlcipher
pacman -S mingw-w64-i686-qt5
pacman -S mingw32/mingw-w64-i686-cmake
pacman -S mingw-w64-i686-rapidjson
pacman -S mingw-w64-x86_64-miniupnpc
pacman -S mingw-w64-x86_64-libxslt
pacman -S mingw-w64-x86_64-xapian-core
pacman -S mingw-w64-x86_64-sqlcipher
pacman -S mingw-w64-x86_64-qt5-base
pacman -S mingw-w64-x86_64-qt5-multimedia
pacman -S mingw-w64-x86_64-ccmake
pacman -S mingw-w64-x86_64-rapidjson
pacman -S mingw-w64-x86_64-json-c
pacman -S mingw-w64-x86_64-libbotan
pacman -S mingw-w64-x86_64-asio
If you want to use QtCreator as IDE, prefer using this one publish by MSYS2 as all build Kit are already setted.
pacman -S mingw-w64-i686-qt-creator
pacman -S mingw-w64-x86_64-qt-creator
*You can start it from MSYS2 terminal.*
@ -67,7 +70,7 @@ We're done installing MSYS2, close the shell terminal.
### BUILDING RETROSHARE
Now run the MSYS2 MinGW 32-bit shell terminal (it's in the start menu).
Now run the MSYS2 MinGW 64-bit shell terminal (it's in the start menu).
We will use it to checkout Retroshare and build it:
git clone https://github.com/RetroShare/RetroShare.git

View file

@ -22,7 +22,7 @@ if not "%ParamNoupdate%"=="1" (
%EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-json-c mingw-w64-%RsMSYS2Architecture%-libbotan"
:: Webui
if "%ParamWebui%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-doxygen"
if "%ParamWebui%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-doxygen mingw-w64-%RsMSYS2Architecture%-asio"
:: Plugins
if "%ParamPlugins%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-speex mingw-w64-%RsMSYS2Architecture%-speexdsp mingw-w64-%RsMSYS2Architecture%-curl mingw-w64-%RsMSYS2Architecture%-libxslt mingw-w64-%RsMSYS2Architecture%-opencv mingw-w64-%RsMSYS2Architecture%-ffmpeg"

View file

@ -13,6 +13,7 @@ LIBMICROHTTPD_VERSION=0.9.75
FFMPEG_VERSION=4.4
RAPIDJSON_VERSION=1.1.0
XAPIAN_VERSION=1.4.19
ASIO_VERSION=1-34-2
#RNP_VERSION=0.17.1
# libaries for rnp
@ -23,7 +24,7 @@ DOWNLOAD_PATH?=download
BUILD_PATH=build
LIBS_PATH?=libs
all: dirs zlib bzip2 miniupnpc openssl speex speexdsp libxml2 libxslt curl sqlcipher libmicrohttpd ffmpeg rapidjson xapian jsonc botan copylibs
all: dirs zlib bzip2 miniupnpc openssl speex speexdsp libxml2 libxslt curl sqlcipher libmicrohttpd ffmpeg rapidjson xapian jsonc botan asio copylibs
#rnp
download: \
@ -398,6 +399,20 @@ $(BUILD_PATH)/botan-$(BOTAN_VERSION):
rm -r -f botan-$(BOTAN_VERSION)
mv $(BUILD_PATH)/botan-$(BOTAN_VERSION).tmp $(BUILD_PATH)/botan-$(BOTAN_VERSION)
asio: $(BUILD_PATH)/asio-$(ASIO_VERSION)
$(BUILD_PATH)/asio-$(ASIO_VERSION):
# prepare
rm -r -f $(BUILD_PATH)/asio-*
[ -d "asio-$(ASIO_VERSION)" ] || git clone https://github.com/chriskohlhoff/asio.git --depth=1 --branch asio-$(ASIO_VERSION) "asio-$(ASIO_VERSION)"
# copy files
mkdir -p $(BUILD_PATH)/asio-$(ASIO_VERSION).tmp/include/asio
cp asio-$(ASIO_VERSION)/asio/include/*.hpp $(BUILD_PATH)/asio-$(ASIO_VERSION).tmp/include/
cp -r asio-$(ASIO_VERSION)/asio/include/asio/* $(BUILD_PATH)/asio-$(ASIO_VERSION).tmp/include/asio/
# cleanup
rm -r -f asio-$(ASIO_VERSION)
mv $(BUILD_PATH)/asio-$(ASIO_VERSION).tmp $(BUILD_PATH)/asio-$(ASIO_VERSION)
rnp: $(BUILD_PATH)/rnp-$(RNP_VERSION)
$(BUILD_PATH)/rnp-$(RNP_VERSION):

View file

@ -7,5 +7,5 @@ Exec=retroshare %U
Icon=retroshare.xpm
Terminal=false
Type=Application
Categories=Application;Network;Email;InstantMessaging;Chat;Feed;FileTransfer;P2P
Categories=Network;Email;InstantMessaging;Chat;Feed;FileTransfer;P2P
MimeType=x-scheme-handler/retroshare;

View file

@ -45,6 +45,7 @@ SOURCES = FeedReaderPlugin.cpp \
gui/FeedReaderUserNotify.cpp \
gui/FeedReaderFeedItem.cpp \
gui/FeedTreeWidget.cpp \
gui/ProxyWidget.cpp \
util/CURLWrapper.cpp \
util/XMLWrapper.cpp \
util/HTMLWrapper.cpp \
@ -66,6 +67,7 @@ HEADERS = FeedReaderPlugin.h \
gui/FeedReaderUserNotify.h \
gui/FeedReaderFeedItem.h \
gui/FeedTreeWidget.h \
gui/ProxyWidget.h \
util/CURLWrapper.h \
util/XMLWrapper.h \
util/HTMLWrapper.h \
@ -76,7 +78,8 @@ FORMS = gui/FeedReaderDialog.ui \
gui/AddFeedDialog.ui \
gui/PreviewFeedDialog.ui \
gui/FeedReaderConfig.ui \
gui/FeedReaderFeedItem.ui
gui/FeedReaderFeedItem.ui \
gui/ProxyWidget.ui
TARGET = FeedReader

View file

@ -180,8 +180,7 @@ void AddFeedDialog::useStandardUpdateIntervalToggled()
void AddFeedDialog::useStandardProxyToggled()
{
bool checked = ui->useStandardProxyCheckBox->isChecked();
ui->proxyAddressLineEdit->setEnabled(!checked);
ui->proxyPortSpinBox->setEnabled(!checked);
ui->proxyWidget->setEnabled(!checked);
}
void AddFeedDialog::typeForumToggled()
@ -335,8 +334,8 @@ bool AddFeedDialog::fillFeed(uint32_t feedId)
ui->passwordLineEdit->setText(QString::fromUtf8(feedInfo.password.c_str()));
ui->useStandardProxyCheckBox->setChecked(feedInfo.flag.standardProxy);
ui->proxyAddressLineEdit->setText(QString::fromUtf8(feedInfo.proxyAddress.c_str()));
ui->proxyPortSpinBox->setValue(feedInfo.proxyPort);
ui->proxyWidget->setAddress(QString::fromUtf8(feedInfo.proxyAddress.c_str()));
ui->proxyWidget->setPort(feedInfo.proxyPort);
ui->useStandardUpdateInterval->setChecked(feedInfo.flag.standardUpdateInterval);
ui->updateIntervalSpinBox->setValue(feedInfo.updateInterval / 60);
@ -425,8 +424,8 @@ void AddFeedDialog::getFeedInfo(FeedInfo &feedInfo)
feedInfo.password = ui->passwordLineEdit->text().toUtf8().constData();
feedInfo.flag.standardProxy = ui->useStandardProxyCheckBox->isChecked();
feedInfo.proxyAddress = ui->proxyAddressLineEdit->text().toUtf8().constData();
feedInfo.proxyPort = ui->proxyPortSpinBox->value();
feedInfo.proxyAddress = ui->proxyWidget->address().toUtf8().constData();
feedInfo.proxyPort = ui->proxyWidget->port();
feedInfo.flag.standardUpdateInterval = ui->useStandardUpdateInterval->isChecked();
feedInfo.updateInterval = ui->updateIntervalSpinBox->value() * 60;

View file

@ -133,37 +133,16 @@
<property name="title">
<string>Proxy</string>
</property>
<layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0" colspan="2">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QCheckBox" name="useStandardProxyCheckBox">
<property name="text">
<string>Use standard proxy</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="serverLabel">
<property name="text">
<string>Server</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="proxyAddressLineEdit"/>
</item>
<item row="1" column="2">
<widget class="QLabel" name="portLabel">
<property name="text">
<string>:</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QSpinBox" name="proxyPortSpinBox">
<property name="maximum">
<number>65535</number>
</property>
</widget>
<item>
<widget class="ProxyWidget" name="proxyWidget" native="true"/>
</item>
</layout>
</widget>
@ -465,6 +444,12 @@
<extends>QComboBox</extends>
<header>gui/common/RSComboBox.h</header>
</customwidget>
<customwidget>
<class>ProxyWidget</class>
<extends>QWidget</extends>
<header>gui/ProxyWidget.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>urlLineEdit</tabstop>
@ -494,8 +479,7 @@
<tabstop>useStandardUpdateInterval</tabstop>
<tabstop>updateIntervalSpinBox</tabstop>
<tabstop>useStandardProxyCheckBox</tabstop>
<tabstop>proxyAddressLineEdit</tabstop>
<tabstop>proxyPortSpinBox</tabstop>
<tabstop>proxyWidget</tabstop>
</tabstops>
<resources/>
<connections/>

View file

@ -31,8 +31,7 @@ FeedReaderConfig::FeedReaderConfig(QWidget *parent, Qt::WindowFlags flags)
/* Invoke the Qt Designer generated object setup routine */
ui->setupUi(this);
ui->proxyAddressLineEdit->setEnabled(false);
ui->proxyPortSpinBox->setEnabled(false);
ui->proxyWidget->setEnabled(false);
/* Connect signals */
connect(ui->updateIntervalSpinBox, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, this, [this]() {
@ -51,8 +50,7 @@ FeedReaderConfig::FeedReaderConfig(QWidget *parent, Qt::WindowFlags flags)
Settings->setValueToGroup("FeedReaderDialog", "OpenAllInNewTab", ui->openAllInNewTabCheckBox->isChecked());
});
connect(ui->useProxyCheckBox, &QCheckBox::toggled, this, &FeedReaderConfig::updateProxy);
connect(ui->proxyAddressLineEdit, &QLineEdit::textChanged, this, &FeedReaderConfig::updateProxy);
connect(ui->proxyPortSpinBox, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, this, &FeedReaderConfig::updateProxy);
connect(ui->proxyWidget, &ProxyWidget::changed, this, &FeedReaderConfig::updateProxy);
connect(ui->useProxyCheckBox, SIGNAL(toggled(bool)), this, SLOT(useProxyToggled()));
}
@ -75,8 +73,8 @@ void FeedReaderConfig::load()
std::string proxyAddress;
uint16_t proxyPort;
whileBlocking(ui->useProxyCheckBox)->setChecked(rsFeedReader->getStandardProxy(proxyAddress, proxyPort));
whileBlocking(ui->proxyAddressLineEdit)->setText(QString::fromUtf8(proxyAddress.c_str()));
whileBlocking(ui->proxyPortSpinBox)->setValue(proxyPort);
whileBlocking(ui->proxyWidget)->setAddress(QString::fromUtf8(proxyAddress.c_str()));
whileBlocking(ui->proxyWidget)->setPort(proxyPort);
loaded = true;
@ -87,11 +85,10 @@ void FeedReaderConfig::useProxyToggled()
{
bool enabled = ui->useProxyCheckBox->isChecked();
ui->proxyAddressLineEdit->setEnabled(enabled);
ui->proxyPortSpinBox->setEnabled(enabled);
ui->proxyWidget->setEnabled(enabled);
}
void FeedReaderConfig::updateProxy()
{
rsFeedReader->setStandardProxy(ui->useProxyCheckBox->isChecked(), ui->proxyAddressLineEdit->text().toUtf8().constData(), ui->proxyPortSpinBox->value());
rsFeedReader->setStandardProxy(ui->useProxyCheckBox->isChecked(), ui->proxyWidget->address().toUtf8().constData(), ui->proxyWidget->port());
}

View file

@ -77,37 +77,16 @@
<property name="title">
<string>Proxy</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="4">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="useProxyCheckBox">
<property name="text">
<string>Use proxy</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="serverLabel">
<property name="text">
<string>Server</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="proxyAddressLineEdit"/>
</item>
<item row="1" column="3">
<widget class="QSpinBox" name="proxyPortSpinBox">
<property name="maximum">
<number>65535</number>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="potLabel">
<property name="text">
<string>:</string>
</property>
</widget>
<item>
<widget class="ProxyWidget" name="proxyWidget" native="true"/>
</item>
</layout>
</widget>
@ -157,12 +136,19 @@
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>ProxyWidget</class>
<extends>QWidget</extends>
<header>gui/ProxyWidget.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>updateIntervalSpinBox</tabstop>
<tabstop>storageTimeSpinBox</tabstop>
<tabstop>useProxyCheckBox</tabstop>
<tabstop>proxyAddressLineEdit</tabstop>
<tabstop>proxyPortSpinBox</tabstop>
<tabstop>proxyWidget</tabstop>
<tabstop>saveInBackgroundCheckBox</tabstop>
<tabstop>setMsgToReadOnActivate</tabstop>
<tabstop>openAllInNewTabCheckBox</tabstop>

View file

@ -0,0 +1,142 @@
#include "ProxyWidget.h"
#include "ui_ProxyWidget.h"
ProxyWidget::ProxyWidget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::ProxyWidget)
{
ui->setupUi(this);
/* Connect signals */
connectUi(true);
connect(ui->portSpinBox, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, this, &ProxyWidget::changed);
/* Initialize types */
ui->schemeComboBox->addItem("", "");
ui->schemeComboBox->addItem("HTTP", "http://");
ui->schemeComboBox->setItemData(ui->schemeComboBox->count() - 1, tr("HTTP Proxy."), Qt::ToolTipRole);
ui->schemeComboBox->addItem("HTTPS", "https://");
ui->schemeComboBox->setItemData(ui->schemeComboBox->count() - 1, tr("HTTPS Proxy."), Qt::ToolTipRole);
ui->schemeComboBox->addItem("SOCKS4", "socks4://");
ui->schemeComboBox->setItemData(ui->schemeComboBox->count() - 1, tr("SOCKS4 Proxy."), Qt::ToolTipRole);
ui->schemeComboBox->addItem("SOCKS4a", "socks4a://");
ui->schemeComboBox->setItemData(ui->schemeComboBox->count() - 1, tr("SOCKS4a Proxy. Proxy resolves URL hostname."), Qt::ToolTipRole);
ui->schemeComboBox->addItem("SOCKS5", "socks5://");
ui->schemeComboBox->setItemData(ui->schemeComboBox->count() - 1, tr("SOCKS5 Proxy."), Qt::ToolTipRole);
ui->schemeComboBox->addItem("SOCKS5h", "socks5h://");
ui->schemeComboBox->setItemData(ui->schemeComboBox->count() - 1, tr("SOCKS5 Proxy. Proxy resolves URL hostname."), Qt::ToolTipRole);
}
ProxyWidget::~ProxyWidget()
{
delete ui;
}
void ProxyWidget::connectUi(bool doConnect)
{
if (doConnect) {
if (!mAddressConnection) {
mAddressConnection = connect(ui->addressLineEdit, &QLineEdit::textChanged, this, &ProxyWidget::addressChanged);
}
if (!mSchemeConnection) {
mSchemeConnection = connect(ui->schemeComboBox, (void(QComboBox::*)(int))&QComboBox::currentIndexChanged, this, &ProxyWidget::changed);
}
} else {
if (mAddressConnection) {
disconnect(mAddressConnection);
}
if (mSchemeConnection) {
disconnect(mSchemeConnection);
}
}
}
QString ProxyWidget::address()
{
QString host = ui->addressLineEdit->text();
if (host.isEmpty()) {
return "";
}
QString value;
QString scheme = ui->schemeComboBox->currentData().toString();
if (!scheme.isEmpty()) {
value = scheme;
}
value += ui->addressLineEdit->text();
return value;
}
void ProxyWidget::setAddress(const QString &value)
{
int schemeIndex;
QString host;
splitAddress(value, schemeIndex, host);
connectUi(false);
ui->schemeComboBox->setCurrentIndex(schemeIndex);
ui->addressLineEdit->setText(host);
connectUi(true);
}
int ProxyWidget::port()
{
return ui->portSpinBox->value();
}
void ProxyWidget::setPort(int value)
{
ui->portSpinBox->setValue(value);
}
void ProxyWidget::addressChanged(const QString &value)
{
int schemeIndex;
QString host;
splitAddress(value, schemeIndex, host);
connectUi(false);
ui->schemeComboBox->setCurrentIndex(schemeIndex);
if (host != ui->addressLineEdit->text()) {
ui->addressLineEdit->setText(host);
}
connectUi(true);
emit changed();
}
void ProxyWidget::splitAddress(const QString &value, int &schemeIndex, QString &host)
{
if (value.isEmpty()) {
schemeIndex = ui->schemeComboBox->currentIndex();
host = value;
return;
}
QString scheme;
int index = value.indexOf("://");
if (index >= 0) {
scheme = value.left(index + 3);
host = value.mid(index + 3);
} else {
if (ui->schemeComboBox->currentIndex() == 0) {
// Default to HTTP
scheme = "http://";
} else {
scheme = ui->schemeComboBox->currentData().toString();
}
host = value;
}
schemeIndex = ui->schemeComboBox->findData(scheme);
if (schemeIndex < 0) {
/* Unknown scheme */
schemeIndex = 0;
host = value;
}
}

View file

@ -0,0 +1,40 @@
#ifndef PROXYWIDGET_H
#define PROXYWIDGET_H
#include <QWidget>
namespace Ui {
class ProxyWidget;
}
class ProxyWidget : public QWidget
{
Q_OBJECT
public:
explicit ProxyWidget(QWidget *parent = nullptr);
~ProxyWidget();
QString address();
void setAddress(const QString &value);
int port();
void setPort(int value);
Q_SIGNALS:
void changed();
private Q_SLOTS:
void addressChanged(const QString &value);
private:
void connectUi(bool doConnect);
void splitAddress(const QString &value, int &schemeIndex, QString &host);
private:
Ui::ProxyWidget *ui;
QMetaObject::Connection mAddressConnection;
QMetaObject::Connection mSchemeConnection;
};
#endif // PROXYWIDGET_H

View file

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ProxyWidget</class>
<widget class="QWidget" name="ProxyWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>22</height>
</rect>
</property>
<property name="windowTitle">
<string notr="true"/>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<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>
<widget class="QComboBox" name="schemeComboBox"/>
</item>
<item>
<widget class="QLineEdit" name="addressLineEdit"/>
</item>
<item>
<widget class="QLabel" name="portLabel">
<property name="text">
<string notr="true">:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="portSpinBox">
<property name="maximum">
<number>65535</number>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -9,7 +9,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+398"/>
<location line="+377"/>
<source>Board</source>
<translation type="unfinished"></translation>
</message>
@ -34,7 +34,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="-391"/>
<location line="-370"/>
<source>Authentication (not yet supported)</source>
<translation type="unfinished"></translation>
</message>
@ -59,7 +59,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+50"/>
<location line="+29"/>
<source>Update interval</source>
<translation type="unfinished"></translation>
</message>
@ -89,7 +89,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="-216"/>
<location line="-195"/>
<source>Storage time</source>
<translation type="unfinished"></translation>
</message>
@ -114,17 +114,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+200"/>
<location line="+196"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
@ -199,7 +189,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+211"/>
<location line="+208"/>
<location line="+152"/>
<location line="+15"/>
<source>Edit feed</source>
@ -264,17 +254,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
<source>:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<location line="+13"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
@ -317,12 +297,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/FeedReaderDialog.cpp" line="+101"/>
<location filename="../gui/FeedReaderDialog.cpp" line="+105"/>
<source>Message Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+197"/>
<location line="+199"/>
<source>New</source>
<translation type="unfinished"></translation>
</message>
@ -372,7 +352,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+241"/>
<location line="+259"/>
<source>Add new folder</source>
<translation type="unfinished"></translation>
</message>
@ -535,7 +515,7 @@
</message>
<message>
<location line="+26"/>
<location filename="../gui/FeedReaderMessageWidget.cpp" line="+117"/>
<location filename="../gui/FeedReaderMessageWidget.cpp" line="+126"/>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
@ -551,6 +531,11 @@
<source>Author</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+121"/>
<source>Copy Link Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/FeedReaderMessageWidget.cpp" line="-2"/>
<source>Search Title</source>
@ -567,7 +552,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<location line="+16"/>
<source>Open link in browser</source>
<translation type="unfinished"></translation>
</message>
@ -577,7 +562,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+127"/>
<location line="+131"/>
<source>The messages will be added to the forum</source>
<translation type="unfinished"></translation>
</message>
@ -637,7 +622,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+374"/>
<location line="+412"/>
<source>Hide</source>
<translation type="unfinished"></translation>
</message>
@ -957,4 +942,37 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProxyWidget</name>
<message>
<location filename="../gui/ProxyWidget.cpp" line="+17"/>
<source>HTTP Proxy.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>HTTPS Proxy.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>SOCKS4 Proxy.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>SOCKS4a Proxy. Proxy resolves URL hostname.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>SOCKS5 Proxy.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>SOCKS5 Proxy. Proxy resolves URL hostname.</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -422,7 +422,7 @@ static void updateItem(QTreeWidget *treeWidget, QTreeWidgetItem *item, ChatLobby
if(lobby_flags & RS_CHAT_LOBBY_FLAGS_PGP_SIGNED)
{
tooltipstr += QObject::tr("\nSecurity: no anonymous IDs") ;
QColor foreground = QColor(0, 128, 0); // green
QColor foreground = QColor(16, 157, 0); // green
for (int column = 0; column < COLUMN_COUNT; ++column)
item->setData(column, Qt::ForegroundRole, foreground);
}

View file

@ -102,7 +102,7 @@
<enum>Qt::NoFocus</enum>
</property>
<property name="icon">
<iconset resource="images.qrc">
<iconset resource="icons.qrc">
<normaloff>:/icons/help_64.png</normaloff>:/icons/help_64.png</iconset>
</property>
<property name="checkable">
@ -132,10 +132,10 @@
<string notr="true"/>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="headerBFrame_GL">
<property name="leftMargin">
@ -401,8 +401,8 @@
</customwidget>
</customwidgets>
<resources>
<include location="images.qrc"/>
<include location="icons.qrc"/>
<include location="images.qrc"/>
</resources>
<connections/>
</ui>

View file

@ -27,11 +27,13 @@
#include "util/misc.h"
#include "gui/notifyqt.h"
#include "gui/common/FilesDefs.h"
#include "gui/msgs/MessageComposer.h"
#include "gui/connect/ConnectFriendWizard.h"
#include "gui/connect/ConfCertDialog.h"
#include <gui/QuickStartWizard.h>
#include "gui/connect/FriendRecommendDialog.h"
#include "settings/rsharesettings.h"
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
#include <QUrlQuery>
@ -135,6 +137,8 @@ HomePage::HomePage(QWidget *parent) :
rsEvents->registerEventsHandler( [this](std::shared_ptr<const RsEvent> event) { handleEvent(event); }, mEventHandlerId, RsEventType::NETWORK );
updateOwnCert();
updateHomeLogo();
}
void HomePage::handleEvent(std::shared_ptr<const RsEvent> e)
@ -377,3 +381,18 @@ void HomePage::openWebHelp()
{
QDesktopServices::openUrl(QUrl(QString("https://retrosharedocs.readthedocs.io/en/latest/")));
}
void HomePage::showEvent(QShowEvent *event)
{
if (!event->spontaneous()) {
updateHomeLogo();
}
}
void HomePage::updateHomeLogo()
{
if (Settings->getSheetName() == ":Standard_Dark")
ui->label->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":images/logo/logo_web_nobackground_black.png"));
else
ui->label->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":images/logo/logo_web_nobackground.png"));
}

View file

@ -51,6 +51,8 @@ public:
void getOwnCert(QString& invite,QString& description) const;
RetroshareInviteFlags currentInviteFlags() const ;
virtual void showEvent(QShowEvent *) override;
private slots:
#ifdef DEAD_CODE
void certContextMenu(QPoint);
@ -63,7 +65,8 @@ private slots:
void addFriend();
void webMail();
void openWebHelp() ;
void recommendFriends();
void recommendFriends();
void updateHomeLogo();
private:
Ui::HomePage *ui;

View file

@ -44,10 +44,10 @@
<bool>false</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="feedFrame_GL">
<property name="leftMargin">
@ -725,17 +725,17 @@
</layout>
</widget>
<customwidgets>
<customwidget>
<class>GxsIdLabel</class>
<extends>QLabel</extends>
<header>gui/gxs/GxsIdLabel.h</header>
</customwidget>
<customwidget>
<class>ElidedLabel</class>
<extends>QLabel</extends>
<header>gui/common/ElidedLabel.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>GxsIdLabel</class>
<extends>QLabel</extends>
<header>gui/gxs/GxsIdLabel.h</header>
</customwidget>
<customwidget>
<class>ZoomableLabel</class>
<extends>QLabel</extends>
@ -743,9 +743,9 @@
</customwidget>
</customwidgets>
<resources>
<include location="../icons.qrc"/>
<include location="Posted_images.qrc"/>
<include location="../images.qrc"/>
<include location="Posted_images.qrc"/>
<include location="../icons.qrc"/>
</resources>
<connections/>
</ui>

View file

@ -346,7 +346,7 @@ The current identities/locations will not be affected.</string>
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;Create new Profile...&quot;&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:14pt; text-decoration: underline; color:#0000ff;&quot;&gt;New Profile/Node&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;Create new Profile...&quot;&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:14pt; text-decoration: underline; color:#366fe0;&quot;&gt;New Profile/Node&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>

View file

@ -80,10 +80,10 @@
<item>
<widget class="QFrame" name="toolBarFrame">
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="toolBarFrame_HL">
<property name="leftMargin">

View file

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>755</width>
<height>157</height>
<width>836</width>
<height>160</height>
</rect>
</property>
<layout class="QGridLayout" name="ChannelsCommentsItem_GL">
@ -35,10 +35,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="feedFrame_GL">
<property name="topMargin">

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>618</width>
<height>176</height>
<height>189</height>
</rect>
</property>
<property name="font">
@ -134,10 +134,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="feedFrame_GL">
<item row="0" column="0">

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>1092</width>
<height>231</height>
<height>255</height>
</rect>
</property>
<layout class="QGridLayout" name="GxsChannelPostItem_GL">
@ -41,10 +41,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="feedFrame_VL">
<item>

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>618</width>
<height>108</height>
<height>128</height>
</rect>
</property>
<layout class="QGridLayout" name="GxsCircleItem_GL">
@ -126,10 +126,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="feedFrame_HL">
<item>
@ -317,7 +317,7 @@
<string>Revoke</string>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<iconset>
<normaloff>:/images/cancel.png</normaloff>:/images/cancel.png</iconset>
</property>
</widget>

View file

@ -126,10 +126,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="feedFrame_VL">
<item>

View file

@ -99,10 +99,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="feedFrame_GL">
<item row="0" column="0" rowspan="2">

View file

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>707</width>
<height>180</height>
<width>777</width>
<height>234</height>
</rect>
</property>
<layout class="QGridLayout" name="MsgItem_GL">
@ -35,10 +35,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="feedFrame_GL">
<item row="0" column="0">

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>476</width>
<height>283</height>
<height>328</height>
</rect>
</property>
<property name="autoFillBackground">
@ -38,10 +38,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="feedFrame_gL">
<property name="verticalSpacing">

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>618</width>
<height>161</height>
<height>195</height>
</rect>
</property>
<layout class="QGridLayout" name="PostedGroupItem_GL">
@ -126,10 +126,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="feedFrame_GL">
<item row="0" column="0">

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>763</width>
<height>185</height>
<height>205</height>
</rect>
</property>
<layout class="QGridLayout" name="SecurityIpItem_GL">
@ -38,10 +38,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="feedFrame_GL">
<property name="verticalSpacing">

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>1015</width>
<height>246</height>
<height>326</height>
</rect>
</property>
<layout class="QGridLayout" name="SecurityItem_GL">
@ -35,10 +35,10 @@
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="feedFrame_GL">
<property name="verticalSpacing">

View file

@ -29,10 +29,10 @@
<item row="0" column="0">
<widget class="QFrame" name="gradFrame">
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gradFrame_GL">
<item row="1" column="0">

View file

@ -34,7 +34,14 @@
<number>0</number>
</property>
<item>
<widget class="HeaderFrame" name="headerFrame"/>
<widget class="HeaderFrame" name="headerFrame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="gradFrame">
@ -150,10 +157,10 @@ p, li { white-space: pre-wrap; }
</size>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="toolBarFrame_HL">
<property name="spacing">

View file

@ -208,6 +208,7 @@
<file>images/logo/logo_info.png</file>
<file>images/logo/logo_splash.png</file>
<file>images/logo/logo_web_nobackground.png</file>
<file>images/logo/logo_web_nobackground_black.png</file>
<file>images/mail-signed.png</file>
<file>images/mail-signature-unknown.png</file>
<file>images/mailforward24-hover.png</file>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -528,7 +528,7 @@ void MessagesDialog::fillQuickView()
ui.quickViewWidget->clear();
// add static items
item = new QListWidgetItem(tr("Stared"), ui.quickViewWidget);
item = new QListWidgetItem(tr("Starred"), ui.quickViewWidget);
item->setIcon(FilesDefs::getIconFromQtResourcePath(IMAGE_STAR_ON));
item->setData(ROLE_QUICKVIEW_TYPE, QUICKVIEW_TYPE_STATIC);
item->setData(ROLE_QUICKVIEW_ID, QUICKVIEW_STATIC_ID_STARRED);

View file

@ -231,7 +231,7 @@ https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox
--------------------------------------------------------------------------- */
QGroupBox {
font-weight: bold;
border: 1px solid #C9CDD0;
border: 1px solid #C0C4C8;
border-radius: 4px;
padding: 2px;
margin-top: 6px;
@ -1234,7 +1234,7 @@ https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox
--------------------------------------------------------------------------- */
QComboBox {
border: 1px solid #C9CDD0;
border: 1px solid #C0C4C8;
border-radius: 4px;
selection-background-color: #9FCBFF;
padding-left: 4px;
@ -1250,7 +1250,7 @@ QComboBox {
}
QComboBox QAbstractItemView {
border: 1px solid #C9CDD0;
border: 1px solid #C0C4C8;
border-radius: 0;
background-color: #FAFAFA;
selection-background-color: #9FCBFF;
@ -1263,7 +1263,7 @@ QComboBox QAbstractItemView:hover {
QComboBox QAbstractItemView:selected {
background: #9FCBFF;
color: #C9CDD0;
color: #C0C4C8;
}
QComboBox QAbstractItemView:alternate {
@ -1301,6 +1301,18 @@ QComboBox::indicator:alternate {
background: #FAFAFA;
}
QComboBox::item {
/* Remove to fix #282, #285 and MR #288*/
/*&:checked {
font-weight: bold;
}
&:selected {
border: 0px solid transparent;
}
*/
}
QComboBox::item:alternate {
background: #FAFAFA;
}
@ -1433,14 +1445,14 @@ QLineEdit {
padding-left: 4px;
padding-right: 4px;
border-style: solid;
border: 1px solid #C9CDD0;
border: 1px solid #C0C4C8;
border-radius: 4px;
color: #19232D;
}
QLineEdit:disabled {
background-color: #FAFAFA;
color: #788D9C;
color: #9DA9B5;
}
QLineEdit:hover {
@ -2151,12 +2163,12 @@ QSplitter::handle:hover {
}
QSplitter::handle:horizontal {
width: 5px;
width: 2px;
image: url(":/standard_light/rc/line_vertical.png");
}
QSplitter::handle:vertical {
height: 5px;
height: 2px;
image: url(":/standard_light/rc/line_horizontal.png");
}
@ -2350,51 +2362,6 @@ QFrame#titleBarFrame QTextEdit {
background: white;
}
/**** Special Page tweak ****/
/* ConnectFriendWizard */
ConnectFriendWizard QPlainTextEdit#friendCertEdit {
border: none;
background: white;
color: black;
}
ConnectFriendWizard QFrame#friendFrame {
border: 2px solid #0099cc;
border-radius: 6px;
background: white;
}
ConnectFriendWizard QWizardPage#ConclusionPage > QGroupBox#peerDetailsFrame {
border: 2px solid #039bd5;
border-radius:6px;
background: white;
color: black;
padding: 12 12px;
}
ConnectFriendWizard QGroupBox::title#peerDetailsFrame
{
padding: 4 12px;
background: transparent;
padding: 4 12px;
background: #039bd5;
color: white;
}
/* GetStartedDialog */
GetStartedDialog QTextEdit {
border: 1px solid #B8B6B1;
border-radius: 6px;
background: white;
color: black;
}
/* HomePage */
HomePage QLabel#userCertLabel {
@ -2509,7 +2476,7 @@ GxsGroupDialog QLabel#groupLogo{
/* Settings */
PluginItem > QFrame#pluginFrame {
PluginItem QFrame#pluginFrame {
border: 2px solid #A8B8D1;
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #FCFDFE, stop: 1 #E2E8EF);
border-radius: 0px
@ -2521,7 +2488,7 @@ PluginItem QLabel#infoLabel {
/* Feeds */
AttachFileItem > QFrame#frame {
AttachFileItem QFrame#frame {
border: 2px solid black;
background: white;
}
@ -2627,88 +2594,78 @@ BoardPostDisplayWidget_card QLabel#siteBoldLabel {
color: #787c7e;
}
/* GenCertDialog
Change colors here because GUI is not started yet so no user StyleSheet loads */
/* MessengerWindow */
MessengerWindow QFrame#messengerframetop{
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9BDBF9, stop:1 #1592CD);
border: 0px;
GenCertDialog QFrame#profileframe{
border-image: url(:/images/logo/background.png) 0 0 0 0 stretch stretch;
border-width: 0px;
}
/*************** Optional ***************/
/**** WikiPoos ****/
WikiEditDialog QPushButton#pushButton_History {
color: white;
background: #5bb62b;
border-radius: 4px;
max-height: 20px;
min-width: 4em;
padding: 2px;
padding-left: 6px;
padding-right: 6px;
}
WikiEditDialog QPushButton#pushButton_History:hover {
background: #57af29;
}
/**** The Wire ****/
WireGroupItem QFrame#wire_frame:hover {
background-color: #7ecbfb;
}
WireGroupItem QFrame#wire_frame > QLabel {
GenCertDialog QFrame#profileframe QCheckBox,
GenCertDialog QFrame#profileframe QLabel {
background: transparent;
}
PulseTopLevel QFrame#plainFrame,
PulseViewGroup QFrame#plainFrame,
PulseReply QFrame#plainFrame {
border: 2px solid #c4cfd6;
background: white;
GenCertDialog QLabel#info_Label:enabled {
color: black;
border: 1px solid #DCDC41;
border-radius: 6px;
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2);
}
PulseAddDialog QTextEdit#textEdit_Pulse {
border: 2px solid #c4cfd6;
GenCertDialog QGroupBox#groupBox,
GenCertDialog QGroupBox#profile_groupBox {
background: rgba(0,0,0,10%);
}
GenCertDialog QGroupBox#profile_groupBox QComboBox,
GenCertDialog QGroupBox#profile_groupBox QSpinBox,
GenCertDialog QGroupBox#profile_groupBox QLineEdit,
GenCertDialog QComboBox#genPGPuser {
border: 2px solid #0099cc;
border-radius: 6px;
background: white;
color: black;
}
PulseReply #line_replyLine,
PulseMessage #line{
color: #c4cfd6;
GenCertDialog QPushButton#genButton {
border-image: url(:/images/btn_blue.png) 4;
border-width: 4;
color: white;
}
GenCertDialog QPushButton#genButton:hover {
border-image: url(:/images/btn_blue_hover.png) 4;
}
GenCertDialog QPushButton#genButton:disabled {
border-image: url(:/images/btn_27.png) 4;
color: black;
}
PulseReply QLabel#label_groupName{
color: #5b7083;
/* StartDialog
To get the same style for all user and not use last connected one. */
StartDialog QFrame#loginframe{
border-image: url(:/images/logo/background_lessblue.png) 0 0 0 0 stretch stretch;
border-width: 0px;
}
PulseReplySeperator QFrame#frame {
border: 2px solid #CCCCCC;
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #EEEEEE, stop: 1 #CCCCCC);
border-radius: 10px}
StartDialog QFrame#loginframe QCheckBox,
StartDialog QFrame#loginframe QLabel {
background: transparent;
}
StartDialog QGroupBox#profilGBox {
background: rgba(0,0,0,10%);
border-radius: 3px;
border-width: 0px;
}
QLabel#label_masthead{
border: 2px solid #CCCCCC;
border-radius: 4px;
StartDialog QPushButton#loadButton {
background: transparent;
border-image: url(:/images/btn_blue.png) 4;
border-width: 4;
color: white;
}
/**** PhotoShare ****/
AlbumItem QFrame#albumFrame {
border: 2px solid #CCCCCC;
border-radius: 10px
}
PhotoItem QFrame#photoFrame {
border: 2px solid #CCCCCC;
border-radius: 10px
}
PhotoItem QWidget:hover {
background-color: #7ecbfb;
StartDialog QPushButton#loadButton:hover {
background: transparent;
border-image: url(:/images/btn_blue_hover.png) 4;
}

View file

@ -141,88 +141,6 @@ QLabel#newLabel:enabled {
}
/* StartDialog
To get the same style for all user and not use last connected one. */
StartDialog QFrame#loginframe{
border-image: url(:/images/logo/background_lessblue.png) 0 0 0 0 stretch stretch;
border-width: 0px;
}
StartDialog QFrame#loginframe QCheckBox,
StartDialog QFrame#loginframe QLabel {
background: transparent;
}
StartDialog QGroupBox#profilGBox {
background: rgba(0,0,0,10%);
border-radius: 3px;
border-width: 0px;
}
StartDialog QGroupBox#profilGBox * {
background-color: white;
color: black;
}
StartDialog QPushButton#loadButton {
background: transparent;
border-image: url(:/images/btn_blue.png) 4;
border-width: 4;
color: white;
}
StartDialog QPushButton#loadButton:hover {
background: transparent;
border-image: url(:/images/btn_blue_hover.png) 4;
}
/* GenCertDialog
Change colors here because GUI is not started yet so no user StyleSheet loads */
GenCertDialog QFrame#profileframe{
border-image: url(:/images/logo/background.png) 0 0 0 0 stretch stretch;
border-width: 0px;
}
GenCertDialog QFrame#profileframe QCheckBox,
GenCertDialog QFrame#profileframe QLabel {
background: transparent;
}
GenCertDialog QLabel#info_Label:enabled {
color: black;
border: 1px solid #DCDC41;
border-radius: 6px;
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2);
}
GenCertDialog QGroupBox#groupBox,
GenCertDialog QGroupBox#profile_groupBox {
background: rgba(0,0,0,10%);
}
GenCertDialog QGroupBox#profile_groupBox QComboBox,
GenCertDialog QGroupBox#profile_groupBox QSpinBox,
GenCertDialog QGroupBox#profile_groupBox QLineEdit,
GenCertDialog QComboBox#genPGPuser {
border: 2px solid #0099cc;
border-radius: 6px;
background: white;
color: black;
}
GenCertDialog QPushButton#genButton {
border-image: url(:/images/btn_blue.png) 4;
border-width: 4;
color: white;
}
GenCertDialog QPushButton#genButton:hover {
border-image: url(:/images/btn_blue_hover.png) 4;
}
GenCertDialog QPushButton#genButton:disabled {
border-image: url(:/images/btn_27.png) 4;
color: black;
}
/* AvatarWidget */
AvatarWidget{border-width: 10px;}
@ -418,3 +336,27 @@ OpModeStatus[opMode="Minimal"] {
[WrongValue="true"] {
background-color: #FF8080;
}
GenCertDialog QPushButton#genButton {
border-image: url(:/images/btn_blue.png) 4;
border-width: 4;
color: white;
}
GenCertDialog QPushButton#genButton:hover {
border-image: url(:/images/btn_blue_hover.png) 4;
}
GenCertDialog QPushButton#genButton:disabled {
border-image: url(:/images/btn_27.png) 4;
color: black;
}
StartDialog QPushButton#loadButton {
background: transparent;
border-image: url(:/images/btn_blue.png) 4;
border-width: 4;
color: white;
}
StartDialog QPushButton#loadButton:hover {
background: transparent;
border-image: url(:/images/btn_blue_hover.png) 4;
}

View file

@ -14303,7 +14303,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14370,7 +14370,7 @@ Voleu desar el missatge?</translation>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14334,7 +14334,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14303,7 +14303,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14360,7 +14360,7 @@ Möchtest du die Nachricht speichern ?</translation>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation>Markiert</translation>
</message>
<message>

View file

@ -14332,7 +14332,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14303,7 +14303,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14369,7 +14369,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14374,7 +14374,7 @@ Haluatko tallentaa viestin?</translation>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14385,7 +14385,7 @@ Voulez-vous enregistrer votre message ?</translation>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14358,7 +14358,7 @@ Szeretnéd menteni az üzenetet?</translation>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14352,7 +14352,7 @@ ricerca</translation>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14304,7 +14304,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14312,7 +14312,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14331,7 +14331,7 @@ Wil je het bericht bewaren?</translation>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14434,7 +14434,7 @@ Czy chcesz zapisać wiadomość ?</translation>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14303,7 +14303,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14373,7 +14373,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14303,7 +14303,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14304,7 +14304,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14332,7 +14332,7 @@ Vill du spara meddelandet?</translation>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14374,7 +14374,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14361,7 +14361,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -14303,7 +14303,7 @@ Do you want to save message ?</source>
</message>
<message>
<location line="+249"/>
<source>Stared</source>
<source>Starred</source>
<translation type="unfinished"></translation>
</message>
<message>

View file

@ -7,4 +7,4 @@ Exec=retroshare-service %U
Icon=retroshare-service
Terminal=false
Type=Application
Categories=Application;Network;
Categories=Network;

View file

@ -520,6 +520,18 @@ trough qmake command line arguments!")
}
}
# Some supportlibs compilation won't start if the intstalled CMAKE verison is >=3.5.
# Force compilation in that case
CMAKE_FORCE_MINVERSION=""
CMAKE_VERSION_SPLIT = $$system(cmake --version)
CMAKE_VERSION_SPLIT = $$split(CMAKE_VERSION_SPLIT, \\s+)
CMAKE_VERSION = $$member(CMAKE_VERSION_SPLIT, 2)
message("Cmake version detected: $${CMAKE_VERSION}")
versionAtLeast(CMAKE_VERSION, 3.5) {
warning("Forcing compilation with CMAKE_POLICY_VERSION_MINIMUM=3.5")
CMAKE_FORCE_MINVERSION="-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
}
gxsdistsync:DEFINES *= RS_USE_GXS_DISTANT_SYNC
wikipoos:DEFINES *= RS_USE_WIKI
rs_gxs:DEFINES *= RS_ENABLE_GXS

@ -1 +1 @@
Subproject commit b9c7a496ba7dd9c3495bae2ff2855899e47b245d
Subproject commit 3460cd809b6dd311b58e92733ece2fc956224fd2

@ -1 +1 @@
Subproject commit ea52a3251d60906d67f9a1031a6ed7642753f94f
Subproject commit f90555ba4d6f9fadb6f0fbb1e2253e13557aad34

@ -1 +1 @@
Subproject commit f54b0e47a08782a6131cc3d60f94d038fa6e0a51
Subproject commit 24b5e7a8b27f42fa16b96fc70aade9106cf7102f

@ -1 +1 @@
Subproject commit c27c6726d28c42e2e1b7537ba63eeb23e944789d
Subproject commit 6001a322809b5005b8bcccdf593fdda6f0173691