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"] [submodule "retroshare-webui"]
path = retroshare-webui path = retroshare-webui
url = https://github.com/RetroShare/RSNewWebUI.git url = https://github.com/RetroShare/RSNewWebUI.git
branch = master
[submodule "supportlibs/librnp"] [submodule "supportlibs/librnp"]
path = supportlibs/librnp path = supportlibs/librnp
url = https://github.com/rnpgp/rnp.git 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. toolkit.
RetroShare provides file sharing, chat, messages, forums, channels and more. 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 .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"] |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 ## 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. 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. Depends on which version of Qt you use.
@ -32,11 +34,9 @@ In GitHub Desktop -> Clone Repository -> URL
## ***Get XCode & MacOSX SDK*** ## ***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. 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 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. 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) Older MacOSX SDK is available from here: [MacOSX-SDKs](https://github.com/phracker/MacOSX-SDKs)
## ***Choose if you use MacPort or HomeBrew***
### MacPort Installation ### MacPort Installation
Install MacPort following this guide: [MacPort](http://guide.macports.org/#installing.xcode) 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 ### HOMEBREW Installation
Install HomeBrew following this guide: [HomeBrew](http://brew.sh/) Install HomeBrew following this guide: [HomeBrew](http://brew.sh/)

View file

@ -1,10 +1,11 @@
[Desktop Entry] [Desktop Entry]
Encoding=UTF-8
Version=1.0 Version=1.0
Name=RetroShare Name=RetroShare
Comment=Securely share files with your friends Comment=Securely communicate with your friends
Exec=retroshare %U Exec=retroshare %U
Icon=retroshare.xpm Icon=retroshare.xpm
Terminal=false Terminal=false
Type=Application Type=Application
Categories=Network;P2P; Categories=Network;Email;InstantMessaging;Chat;Feed;FileTransfer;P2P
MimeType=x-scheme-handler/retroshare; 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) ### MSYS2 INSTALLATION (for editing or debugging)
Download MSYS2 from [MSYS2](http://www.msys2.org/). Get the i686 version Download MSYS2 from [MSYS2](http://www.msys2.org/). Installing
if you run a 32-bit Windows or the x86_64 if you run a 64-bit Windows. MSYS2 requires 64 bit Windows 10 or newer.
Run the installer and install MSYS2. 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: 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: Install all needed dependencies:
pacman -S mingw-w64-i686-miniupnpc pacman -S mingw-w64-x86_64-miniupnpc
pacman -S mingw-w64-i686-libmicrohttpd pacman -S mingw-w64-x86_64-libxslt
pacman -S mingw-w64-i686-libxslt pacman -S mingw-w64-x86_64-xapian-core
pacman -S mingw-w64-i686-xapian-core pacman -S mingw-w64-x86_64-sqlcipher
pacman -S mingw-w64-i686-sqlcipher pacman -S mingw-w64-x86_64-qt5-base
pacman -S mingw-w64-i686-qt5 pacman -S mingw-w64-x86_64-qt5-multimedia
pacman -S mingw32/mingw-w64-i686-cmake pacman -S mingw-w64-x86_64-ccmake
pacman -S mingw-w64-i686-rapidjson 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. 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.* *You can start it from MSYS2 terminal.*
@ -67,7 +70,7 @@ We're done installing MSYS2, close the shell terminal.
### BUILDING RETROSHARE ### 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: We will use it to checkout Retroshare and build it:
git clone https://github.com/RetroShare/RetroShare.git 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" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-json-c mingw-w64-%RsMSYS2Architecture%-libbotan"
:: Webui :: 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 :: 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" 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 FFMPEG_VERSION=4.4
RAPIDJSON_VERSION=1.1.0 RAPIDJSON_VERSION=1.1.0
XAPIAN_VERSION=1.4.19 XAPIAN_VERSION=1.4.19
ASIO_VERSION=1-34-2
#RNP_VERSION=0.17.1 #RNP_VERSION=0.17.1
# libaries for rnp # libaries for rnp
@ -23,7 +24,7 @@ DOWNLOAD_PATH?=download
BUILD_PATH=build BUILD_PATH=build
LIBS_PATH?=libs 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 #rnp
download: \ download: \
@ -398,6 +399,20 @@ $(BUILD_PATH)/botan-$(BOTAN_VERSION):
rm -r -f botan-$(BOTAN_VERSION) rm -r -f botan-$(BOTAN_VERSION)
mv $(BUILD_PATH)/botan-$(BOTAN_VERSION).tmp $(BUILD_PATH)/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) rnp: $(BUILD_PATH)/rnp-$(RNP_VERSION)
$(BUILD_PATH)/rnp-$(RNP_VERSION): $(BUILD_PATH)/rnp-$(RNP_VERSION):

View file

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

View file

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

View file

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

View file

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

View file

@ -31,8 +31,7 @@ FeedReaderConfig::FeedReaderConfig(QWidget *parent, Qt::WindowFlags flags)
/* Invoke the Qt Designer generated object setup routine */ /* Invoke the Qt Designer generated object setup routine */
ui->setupUi(this); ui->setupUi(this);
ui->proxyAddressLineEdit->setEnabled(false); ui->proxyWidget->setEnabled(false);
ui->proxyPortSpinBox->setEnabled(false);
/* Connect signals */ /* Connect signals */
connect(ui->updateIntervalSpinBox, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, this, [this]() { 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()); Settings->setValueToGroup("FeedReaderDialog", "OpenAllInNewTab", ui->openAllInNewTabCheckBox->isChecked());
}); });
connect(ui->useProxyCheckBox, &QCheckBox::toggled, this, &FeedReaderConfig::updateProxy); connect(ui->useProxyCheckBox, &QCheckBox::toggled, this, &FeedReaderConfig::updateProxy);
connect(ui->proxyAddressLineEdit, &QLineEdit::textChanged, this, &FeedReaderConfig::updateProxy); connect(ui->proxyWidget, &ProxyWidget::changed, this, &FeedReaderConfig::updateProxy);
connect(ui->proxyPortSpinBox, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, this, &FeedReaderConfig::updateProxy);
connect(ui->useProxyCheckBox, SIGNAL(toggled(bool)), this, SLOT(useProxyToggled())); connect(ui->useProxyCheckBox, SIGNAL(toggled(bool)), this, SLOT(useProxyToggled()));
} }
@ -75,8 +73,8 @@ void FeedReaderConfig::load()
std::string proxyAddress; std::string proxyAddress;
uint16_t proxyPort; uint16_t proxyPort;
whileBlocking(ui->useProxyCheckBox)->setChecked(rsFeedReader->getStandardProxy(proxyAddress, proxyPort)); whileBlocking(ui->useProxyCheckBox)->setChecked(rsFeedReader->getStandardProxy(proxyAddress, proxyPort));
whileBlocking(ui->proxyAddressLineEdit)->setText(QString::fromUtf8(proxyAddress.c_str())); whileBlocking(ui->proxyWidget)->setAddress(QString::fromUtf8(proxyAddress.c_str()));
whileBlocking(ui->proxyPortSpinBox)->setValue(proxyPort); whileBlocking(ui->proxyWidget)->setPort(proxyPort);
loaded = true; loaded = true;
@ -87,11 +85,10 @@ void FeedReaderConfig::useProxyToggled()
{ {
bool enabled = ui->useProxyCheckBox->isChecked(); bool enabled = ui->useProxyCheckBox->isChecked();
ui->proxyAddressLineEdit->setEnabled(enabled); ui->proxyWidget->setEnabled(enabled);
ui->proxyPortSpinBox->setEnabled(enabled);
} }
void FeedReaderConfig::updateProxy() 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"> <property name="title">
<string>Proxy</string> <string>Proxy</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item row="0" column="0" colspan="4"> <item>
<widget class="QCheckBox" name="useProxyCheckBox"> <widget class="QCheckBox" name="useProxyCheckBox">
<property name="text"> <property name="text">
<string>Use proxy</string> <string>Use proxy</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="QLabel" name="serverLabel"> <widget class="ProxyWidget" name="proxyWidget" native="true"/>
<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> </item>
</layout> </layout>
</widget> </widget>
@ -157,12 +136,19 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<customwidgets>
<customwidget>
<class>ProxyWidget</class>
<extends>QWidget</extends>
<header>gui/ProxyWidget.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<tabstops> <tabstops>
<tabstop>updateIntervalSpinBox</tabstop> <tabstop>updateIntervalSpinBox</tabstop>
<tabstop>storageTimeSpinBox</tabstop> <tabstop>storageTimeSpinBox</tabstop>
<tabstop>useProxyCheckBox</tabstop> <tabstop>useProxyCheckBox</tabstop>
<tabstop>proxyAddressLineEdit</tabstop> <tabstop>proxyWidget</tabstop>
<tabstop>proxyPortSpinBox</tabstop>
<tabstop>saveInBackgroundCheckBox</tabstop> <tabstop>saveInBackgroundCheckBox</tabstop>
<tabstop>setMsgToReadOnActivate</tabstop> <tabstop>setMsgToReadOnActivate</tabstop>
<tabstop>openAllInNewTabCheckBox</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> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+398"/> <location line="+377"/>
<source>Board</source> <source>Board</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -34,7 +34,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-391"/> <location line="-370"/>
<source>Authentication (not yet supported)</source> <source>Authentication (not yet supported)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -59,7 +59,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+50"/> <location line="+29"/>
<source>Update interval</source> <source>Update interval</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -89,7 +89,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-216"/> <location line="-195"/>
<source>Storage time</source> <source>Storage time</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -114,17 +114,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+7"/> <location line="+196"/>
<source>Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+200"/>
<source>Type</source> <source>Type</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -199,7 +189,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+211"/> <location line="+208"/>
<location line="+152"/> <location line="+152"/>
<location line="+15"/> <location line="+15"/>
<source>Edit feed</source> <source>Edit feed</source>
@ -264,17 +254,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+7"/> <location line="+13"/>
<source>Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
<source>:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>Misc</source> <source>Misc</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -317,12 +297,12 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/FeedReaderDialog.cpp" line="+101"/> <location filename="../gui/FeedReaderDialog.cpp" line="+105"/>
<source>Message Folders</source> <source>Message Folders</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+197"/> <location line="+199"/>
<source>New</source> <source>New</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -372,7 +352,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+241"/> <location line="+259"/>
<source>Add new folder</source> <source>Add new folder</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -535,7 +515,7 @@
</message> </message>
<message> <message>
<location line="+26"/> <location line="+26"/>
<location filename="../gui/FeedReaderMessageWidget.cpp" line="+117"/> <location filename="../gui/FeedReaderMessageWidget.cpp" line="+126"/>
<source>Title</source> <source>Title</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -551,6 +531,11 @@
<source>Author</source> <source>Author</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location line="+121"/>
<source>Copy Link Location</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../gui/FeedReaderMessageWidget.cpp" line="-2"/> <location filename="../gui/FeedReaderMessageWidget.cpp" line="-2"/>
<source>Search Title</source> <source>Search Title</source>
@ -567,7 +552,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+12"/> <location line="+16"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -577,7 +562,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+127"/> <location line="+131"/>
<source>The messages will be added to the forum</source> <source>The messages will be added to the forum</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -637,7 +622,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+374"/> <location line="+412"/>
<source>Hide</source> <source>Hide</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -957,4 +942,37 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </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> </TS>

View file

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

View file

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

View file

@ -27,11 +27,13 @@
#include "util/misc.h" #include "util/misc.h"
#include "gui/notifyqt.h" #include "gui/notifyqt.h"
#include "gui/common/FilesDefs.h"
#include "gui/msgs/MessageComposer.h" #include "gui/msgs/MessageComposer.h"
#include "gui/connect/ConnectFriendWizard.h" #include "gui/connect/ConnectFriendWizard.h"
#include "gui/connect/ConfCertDialog.h" #include "gui/connect/ConfCertDialog.h"
#include <gui/QuickStartWizard.h> #include <gui/QuickStartWizard.h>
#include "gui/connect/FriendRecommendDialog.h" #include "gui/connect/FriendRecommendDialog.h"
#include "settings/rsharesettings.h"
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0) #if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
#include <QUrlQuery> #include <QUrlQuery>
@ -135,6 +137,8 @@ HomePage::HomePage(QWidget *parent) :
rsEvents->registerEventsHandler( [this](std::shared_ptr<const RsEvent> event) { handleEvent(event); }, mEventHandlerId, RsEventType::NETWORK ); rsEvents->registerEventsHandler( [this](std::shared_ptr<const RsEvent> event) { handleEvent(event); }, mEventHandlerId, RsEventType::NETWORK );
updateOwnCert(); updateOwnCert();
updateHomeLogo();
} }
void HomePage::handleEvent(std::shared_ptr<const RsEvent> e) 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/"))); 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; void getOwnCert(QString& invite,QString& description) const;
RetroshareInviteFlags currentInviteFlags() const ; RetroshareInviteFlags currentInviteFlags() const ;
virtual void showEvent(QShowEvent *) override;
private slots: private slots:
#ifdef DEAD_CODE #ifdef DEAD_CODE
void certContextMenu(QPoint); void certContextMenu(QPoint);
@ -64,6 +66,7 @@ private slots:
void webMail(); void webMail();
void openWebHelp() ; void openWebHelp() ;
void recommendFriends(); void recommendFriends();
void updateHomeLogo();
private: private:
Ui::HomePage *ui; Ui::HomePage *ui;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -208,6 +208,7 @@
<file>images/logo/logo_info.png</file> <file>images/logo/logo_info.png</file>
<file>images/logo/logo_splash.png</file> <file>images/logo/logo_splash.png</file>
<file>images/logo/logo_web_nobackground.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-signed.png</file>
<file>images/mail-signature-unknown.png</file> <file>images/mail-signature-unknown.png</file>
<file>images/mailforward24-hover.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(); ui.quickViewWidget->clear();
// add static items // 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->setIcon(FilesDefs::getIconFromQtResourcePath(IMAGE_STAR_ON));
item->setData(ROLE_QUICKVIEW_TYPE, QUICKVIEW_TYPE_STATIC); item->setData(ROLE_QUICKVIEW_TYPE, QUICKVIEW_TYPE_STATIC);
item->setData(ROLE_QUICKVIEW_ID, QUICKVIEW_STATIC_ID_STARRED); 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 { QGroupBox {
font-weight: bold; font-weight: bold;
border: 1px solid #C9CDD0; border: 1px solid #C0C4C8;
border-radius: 4px; border-radius: 4px;
padding: 2px; padding: 2px;
margin-top: 6px; margin-top: 6px;
@ -1234,7 +1234,7 @@ https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox
--------------------------------------------------------------------------- */ --------------------------------------------------------------------------- */
QComboBox { QComboBox {
border: 1px solid #C9CDD0; border: 1px solid #C0C4C8;
border-radius: 4px; border-radius: 4px;
selection-background-color: #9FCBFF; selection-background-color: #9FCBFF;
padding-left: 4px; padding-left: 4px;
@ -1250,7 +1250,7 @@ QComboBox {
} }
QComboBox QAbstractItemView { QComboBox QAbstractItemView {
border: 1px solid #C9CDD0; border: 1px solid #C0C4C8;
border-radius: 0; border-radius: 0;
background-color: #FAFAFA; background-color: #FAFAFA;
selection-background-color: #9FCBFF; selection-background-color: #9FCBFF;
@ -1263,7 +1263,7 @@ QComboBox QAbstractItemView:hover {
QComboBox QAbstractItemView:selected { QComboBox QAbstractItemView:selected {
background: #9FCBFF; background: #9FCBFF;
color: #C9CDD0; color: #C0C4C8;
} }
QComboBox QAbstractItemView:alternate { QComboBox QAbstractItemView:alternate {
@ -1301,6 +1301,18 @@ QComboBox::indicator:alternate {
background: #FAFAFA; background: #FAFAFA;
} }
QComboBox::item {
/* Remove to fix #282, #285 and MR #288*/
/*&:checked {
font-weight: bold;
}
&:selected {
border: 0px solid transparent;
}
*/
}
QComboBox::item:alternate { QComboBox::item:alternate {
background: #FAFAFA; background: #FAFAFA;
} }
@ -1433,14 +1445,14 @@ QLineEdit {
padding-left: 4px; padding-left: 4px;
padding-right: 4px; padding-right: 4px;
border-style: solid; border-style: solid;
border: 1px solid #C9CDD0; border: 1px solid #C0C4C8;
border-radius: 4px; border-radius: 4px;
color: #19232D; color: #19232D;
} }
QLineEdit:disabled { QLineEdit:disabled {
background-color: #FAFAFA; background-color: #FAFAFA;
color: #788D9C; color: #9DA9B5;
} }
QLineEdit:hover { QLineEdit:hover {
@ -2151,12 +2163,12 @@ QSplitter::handle:hover {
} }
QSplitter::handle:horizontal { QSplitter::handle:horizontal {
width: 5px; width: 2px;
image: url(":/standard_light/rc/line_vertical.png"); image: url(":/standard_light/rc/line_vertical.png");
} }
QSplitter::handle:vertical { QSplitter::handle:vertical {
height: 5px; height: 2px;
image: url(":/standard_light/rc/line_horizontal.png"); image: url(":/standard_light/rc/line_horizontal.png");
} }
@ -2350,51 +2362,6 @@ QFrame#titleBarFrame QTextEdit {
background: white; 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 */
HomePage QLabel#userCertLabel { HomePage QLabel#userCertLabel {
@ -2509,7 +2476,7 @@ GxsGroupDialog QLabel#groupLogo{
/* Settings */ /* Settings */
PluginItem > QFrame#pluginFrame { PluginItem QFrame#pluginFrame {
border: 2px solid #A8B8D1; border: 2px solid #A8B8D1;
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #FCFDFE, stop: 1 #E2E8EF); background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #FCFDFE, stop: 1 #E2E8EF);
border-radius: 0px border-radius: 0px
@ -2521,7 +2488,7 @@ PluginItem QLabel#infoLabel {
/* Feeds */ /* Feeds */
AttachFileItem > QFrame#frame { AttachFileItem QFrame#frame {
border: 2px solid black; border: 2px solid black;
background: white; background: white;
} }
@ -2627,88 +2594,78 @@ BoardPostDisplayWidget_card QLabel#siteBoldLabel {
color: #787c7e; color: #787c7e;
} }
/* GenCertDialog
Change colors here because GUI is not started yet so no user StyleSheet loads */
/* MessengerWindow */ GenCertDialog QFrame#profileframe{
border-image: url(:/images/logo/background.png) 0 0 0 0 stretch stretch;
MessengerWindow QFrame#messengerframetop{ border-width: 0px;
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9BDBF9, stop:1 #1592CD);
border: 0px;
} }
GenCertDialog QFrame#profileframe QCheckBox,
/*************** Optional ***************/ GenCertDialog QFrame#profileframe QLabel {
/**** 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 {
background: transparent; background: transparent;
} }
PulseTopLevel QFrame#plainFrame, GenCertDialog QLabel#info_Label:enabled {
PulseViewGroup QFrame#plainFrame, color: black;
PulseReply QFrame#plainFrame { border: 1px solid #DCDC41;
border: 2px solid #c4cfd6; border-radius: 6px;
background: white; background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2);
} }
PulseAddDialog QTextEdit#textEdit_Pulse { GenCertDialog QGroupBox#groupBox,
border: 2px solid #c4cfd6; 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; border-radius: 6px;
background: white; background: white;
color: black; color: black;
} }
PulseReply #line_replyLine, GenCertDialog QPushButton#genButton {
PulseMessage #line{ border-image: url(:/images/btn_blue.png) 4;
color: #c4cfd6; 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{ /* StartDialog
color: #5b7083; 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 { StartDialog QFrame#loginframe QCheckBox,
border: 2px solid #CCCCCC; StartDialog QFrame#loginframe QLabel {
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #EEEEEE, stop: 1 #CCCCCC); background: transparent;
border-radius: 10px} }
StartDialog QGroupBox#profilGBox {
background: rgba(0,0,0,10%);
border-radius: 3px;
border-width: 0px;
} }
QLabel#label_masthead{ StartDialog QPushButton#loadButton {
border: 2px solid #CCCCCC; background: transparent;
border-radius: 4px; border-image: url(:/images/btn_blue.png) 4;
border-width: 4;
color: white;
} }
StartDialog QPushButton#loadButton:hover {
/**** PhotoShare ****/ background: transparent;
AlbumItem QFrame#albumFrame { border-image: url(:/images/btn_blue_hover.png) 4;
border: 2px solid #CCCCCC;
border-radius: 10px
}
PhotoItem QFrame#photoFrame {
border: 2px solid #CCCCCC;
border-radius: 10px
}
PhotoItem QWidget:hover {
background-color: #7ecbfb;
} }

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 */
AvatarWidget{border-width: 10px;} AvatarWidget{border-width: 10px;}
@ -418,3 +336,27 @@ OpModeStatus[opMode="Minimal"] {
[WrongValue="true"] { [WrongValue="true"] {
background-color: #FF8080; 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>
<message> <message>
<location line="+249"/> <location line="+249"/>
<source>Stared</source> <source>Starred</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -7,4 +7,4 @@ Exec=retroshare-service %U
Icon=retroshare-service Icon=retroshare-service
Terminal=false Terminal=false
Type=Application 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 gxsdistsync:DEFINES *= RS_USE_GXS_DISTANT_SYNC
wikipoos:DEFINES *= RS_USE_WIKI wikipoos:DEFINES *= RS_USE_WIKI
rs_gxs:DEFINES *= RS_ENABLE_GXS 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