mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-12-16 17:13:58 -05:00
Merge branch 'RetroShare:master' into darkmode-fix
This commit is contained in:
commit
38374883f2
10 changed files with 186 additions and 78 deletions
83
.github/workflows/ci-macOS.yml
vendored
Normal file
83
.github/workflows/ci-macOS.yml
vendored
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
name: macOS Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths-ignore:
|
||||||
|
- '**/*.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**/*.md'
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow}}-${{ github.head_ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: macos-14
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Setup XCode
|
||||||
|
uses: maxim-lobanov/setup-xcode@v1
|
||||||
|
with:
|
||||||
|
xcode-version: 15.0.1
|
||||||
|
|
||||||
|
- name: Show current version of Xcode
|
||||||
|
run: xcodebuild -version
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Setup Homebrew
|
||||||
|
id: set-up-homebrew
|
||||||
|
uses: Homebrew/actions/setup-homebrew@main
|
||||||
|
|
||||||
|
- name: Show OpenSSL version
|
||||||
|
run: pkg-config --cflags libcrypto
|
||||||
|
|
||||||
|
- name: Install Packages
|
||||||
|
run: brew install openssl
|
||||||
|
miniupnpc
|
||||||
|
rapidjson
|
||||||
|
sqlcipher
|
||||||
|
bzip2
|
||||||
|
zlib
|
||||||
|
botan@2
|
||||||
|
libxslt
|
||||||
|
libxml2
|
||||||
|
qt
|
||||||
|
|
||||||
|
- name: Checkout submodules
|
||||||
|
run: |
|
||||||
|
env
|
||||||
|
git submodule update --init --remote libbitdht/ libretroshare/ retroshare-webui/
|
||||||
|
git submodule update --init supportlibs/librnp supportlibs/rapidjson supportlibs/restbed openpgpsdk/
|
||||||
|
|
||||||
|
- name: CI-Build
|
||||||
|
run: |
|
||||||
|
qmake6 . -r "CONFIG+=rs_macos14.0" "CONFIG+=release" "CONFIG+=rs_autologin" "CONFIG+=no_rs_sam3" "CONFIG+=no_rs_sam3_libsam3" "CONFIG+=rs_no_rnplib" \
|
||||||
|
INCLUDEPATH+="/opt/homebrew/opt/openssl@3/include" \
|
||||||
|
INCLUDEPATH+="/opt/homebrew/opt/rapidjson/include" \
|
||||||
|
INCLUDEPATH+="/opt/homebrew/opt/sqlcipher/include" \
|
||||||
|
INCLUDEPATH+="/opt/homebrew/opt/miniupnpc/include" \
|
||||||
|
INCLUDEPATH+="/opt/homebrew/opt/libxslt/include" \
|
||||||
|
INCLUDEPATH+="/opt/homebrew/opt/libxml2/include" \
|
||||||
|
QMAKE_LIBDIR+="/opt/homebrew/opt/openssl@3/lib" \
|
||||||
|
QMAKE_LIBDIR+="/opt/homebrew/opt/rapidjson/lib" \
|
||||||
|
QMAKE_LIBDIR+="/opt/homebrew/opt/sqlcipher/lib" \
|
||||||
|
QMAKE_LIBDIR+="/opt/homebrew/opt/miniupnpc/lib" \
|
||||||
|
QMAKE_LIBDIR+="/opt/homebrew/opt/libxslt/lib" \
|
||||||
|
QMAKE_LIBDIR+="/opt/homebrew/opt/libxml2/lib" \
|
||||||
|
CONFIG+=no_retroshare_service \
|
||||||
|
CONFIG+=no_retroshare_friendserver
|
||||||
|
make
|
||||||
|
|
@ -30,7 +30,9 @@ in the aim of creating packages for the supported platforms (and more)
|
||||||
in the [build_scripts](https://github.com/RetroShare/RetroShare/tree/master/build_scripts) directory of this repository.
|
in the [build_scripts](https://github.com/RetroShare/RetroShare/tree/master/build_scripts) directory of this repository.
|
||||||
|
|
||||||
## Compilation on Windows
|
## Compilation on Windows
|
||||||
Follow this file : [WindowsMSys2_InstallGuide.md](https://github.com/RetroShare/RetroShare/blob/master/build_scripts/Windows-msys2/WindowsMSys2_InstallGuide.md)
|
Follow this file : [WindowsMSys2_InstallGuide](https://github.com/RetroShare/RetroShare/blob/master/build_scripts/Windows-msys2/WindowsMSys2_InstallGuide.md)
|
||||||
|
|
||||||
|
With QtCreator : [Windows-QtCreator-InstallGuide](https://github.com/RetroShare/RetroShare/blob/master/build_scripts/Windows/Windows-QtCreator-InstallGuide.md)
|
||||||
|
|
||||||
## Compilation on MacOSX
|
## Compilation on MacOSX
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,15 @@
|
||||||
|
|
||||||
|
|
||||||
### Install package dependencies:
|
### Install package dependencies:
|
||||||
#### Debian/Ubuntu
|
#### Debian / Ubuntu / Linux Mint
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install g++ cmake libbz2-dev libjson-c-dev libssl-dev libsqlcipher-dev \
|
sudo apt-get install git g++ cmake libbz2-dev libjson-c-dev libssl-dev libsqlcipher-dev \
|
||||||
libupnp-dev libxss-dev rapidjson-dev libbotan-2-dev libasio-dev
|
libupnp-dev doxygen libxss-dev rapidjson-dev libbotan-2-dev libasio-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
To compile with Qt5:
|
To compile with Qt5:
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install qt5-qmake qtmultimedia5-dev qt6-5compat-dev libqt5x11extras5-dev
|
sudo apt-get install qt5-qmake qtmultimedia5-dev libqt5x11extras5-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
To compile with Qt6:
|
To compile with Qt6:
|
||||||
|
|
@ -54,17 +54,15 @@ Additional dependencies for plugins:
|
||||||
libxslt-devel speex-devel speexdsp-devel
|
libxslt-devel speex-devel speexdsp-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Linux Mint
|
#### Arch Linux / Manjaro / EndeavourOS
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install git g++ cmake qt5-qmake qtmultimedia5-dev \
|
sudo pacman -S base-devel libgnome-keyring cmake qt5-tools qt5-multimedia qt5-x11extras \
|
||||||
libqt5x11extras5-dev libupnp-dev libxss-dev libssl-dev libsqlcipher-dev \
|
rapidjson doxygen libupnp libxslt libxss sqlcipher botan2 bzip2 json-c
|
||||||
rapidjson-dev doxygen libbz2-dev libjson-c-dev libbotan-2-dev libasio-dev
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Arch Linux
|
To compile with Qt6:
|
||||||
```bash
|
```bash
|
||||||
pacman -S base-devel libgnome-keyring cmake qt5-tools qt5-multimedia qt5-x11extras \
|
sudo pacman -S qt6-base qt6-multimedia qt6-5compat
|
||||||
rapidjson libupnp libxslt libxss sqlcipher botan2 bzip2 json-c
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Checkout the source code
|
### Checkout the source code
|
||||||
|
|
@ -88,7 +86,7 @@ Additional dependencies for plugins:
|
||||||
|
|
||||||
The executable produced will be:
|
The executable produced will be:
|
||||||
```bash
|
```bash
|
||||||
./retroshare-gui/src/retroshare
|
./retroshare-gui/src/retroshare
|
||||||
```
|
```
|
||||||
|
|
||||||
### Install
|
### Install
|
||||||
|
|
@ -98,7 +96,7 @@ The executable produced will be:
|
||||||
|
|
||||||
The executable produced will be:
|
The executable produced will be:
|
||||||
```bash
|
```bash
|
||||||
~/usr/bin/RetroShare
|
~/usr/bin/RetroShare
|
||||||
```
|
```
|
||||||
|
|
||||||
### For packagers
|
### For packagers
|
||||||
|
|
@ -135,6 +133,8 @@ You need to place sqlcipher so that the hierarchy is:
|
||||||
|
|
||||||
### Build infos
|
### Build infos
|
||||||
|
|
||||||
|
Note: If you installed Qt6 you need to use `qmake6` on the command line.
|
||||||
|
|
||||||
For the `FeedReader` it is required to append the config option `CONFIG+=retroshare_plugins`.
|
For the `FeedReader` it is required to append the config option `CONFIG+=retroshare_plugins`.
|
||||||
Make sure `plugins/plugins.pro` contains `FeedReader` in the list of plugins to compile.
|
Make sure `plugins/plugins.pro` contains `FeedReader` in the list of plugins to compile.
|
||||||
|
|
||||||
|
|
@ -162,10 +162,9 @@ For `Autologin` it is required to append the config option `CONFIG+=rs_autologin
|
||||||
* rs_deep_files_index: build with deep file indexing support
|
* rs_deep_files_index: build with deep file indexing support
|
||||||
* "CONFIG+=..." enable other extra compile time features, you can find the almost complete list in file *<sourcefolder>\retroshare.pri*
|
* "CONFIG+=..." enable other extra compile time features, you can find the almost complete list in file *<sourcefolder>\retroshare.pri*
|
||||||
|
|
||||||
Example:
|
### Examples:
|
||||||
|
|
||||||
```batch
|
```batch
|
||||||
qmake CONFIG-=debug CONFIG+=release CONFIG+=rs_use_native_dialog CONFIG+=rs_gui_cmark
|
qmake CONFIG+=debug CONFIG+=release CONFIG+=rs_use_native_dialog CONFIG+=rs_gui_cmark
|
||||||
qmake CONFIG+=rs_jsonapi CONFIG+=rs_webui CONFIG+=rs_autologin
|
qmake CONFIG+=rs_jsonapi CONFIG+=rs_webui CONFIG+=rs_autologin
|
||||||
qmake CONFIG+=rs_deep_channels_index CONFIG += gxsthewire CONFIG += wikipoos
|
|
||||||
```
|
```
|
||||||
|
|
@ -5,9 +5,9 @@
|
||||||
### Install package dependencies:
|
### Install package dependencies:
|
||||||
#### RedHat/Fedora
|
#### RedHat/Fedora
|
||||||
```bash
|
```bash
|
||||||
sudo dnf install mesa-libGL-devel gcc cmake rapidjson-devel \
|
sudo dnf install mesa-libGL-devel gcc cmake rapidjson-devel \
|
||||||
libupnp openssl sqlcipher sqlcipher-devel \
|
libupnp openssl sqlcipher sqlcipher-devel \
|
||||||
botan2 botan2-devel json-c-devel bzip2-devel asio-devel libsecret libXScrnSaver-devel
|
botan2 botan2-devel json-c-devel bzip2-devel asio-devel libsecret libXScrnSaver-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
To compile with Qt5:
|
To compile with Qt5:
|
||||||
|
|
@ -46,7 +46,7 @@ Additional dependencies for Feedreader plugin:
|
||||||
|
|
||||||
The executable produced will be:
|
The executable produced will be:
|
||||||
```bash
|
```bash
|
||||||
./retroshare-gui/src/retroshare
|
./retroshare-gui/src/retroshare
|
||||||
```
|
```
|
||||||
|
|
||||||
### Install
|
### Install
|
||||||
|
|
@ -56,7 +56,7 @@ The executable produced will be:
|
||||||
|
|
||||||
The executable produced will be:
|
The executable produced will be:
|
||||||
```bash
|
```bash
|
||||||
~/usr/bin/RetroShare
|
~/usr/bin/RetroShare
|
||||||
```
|
```
|
||||||
|
|
||||||
### For packagers
|
### For packagers
|
||||||
|
|
@ -92,6 +92,8 @@ You need to place sqlcipher so that the hierarchy is:
|
||||||
|
|
||||||
### Build infos
|
### Build infos
|
||||||
|
|
||||||
|
Note: If you installed Qt6 you need to use `qmake6` on the command line.
|
||||||
|
|
||||||
For the `FeedReader` it is required to append the config option `CONFIG+=retroshare_plugins`.
|
For the `FeedReader` it is required to append the config option `CONFIG+=retroshare_plugins`.
|
||||||
Make sure `plugins/plugins.pro` contains `FeedReader` in the list of plugins to compile.
|
Make sure `plugins/plugins.pro` contains `FeedReader` in the list of plugins to compile.
|
||||||
|
|
||||||
|
|
@ -122,7 +124,6 @@ For `Autologin` it is required to append the config option `CONFIG+=rs_autologin
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
```batch
|
```batch
|
||||||
qmake CONFIG-=debug CONFIG+=release CONFIG+=rs_use_native_dialog CONFIG+=rs_gui_cmark
|
qmake CONFIG+=debug CONFIG+=release CONFIG+=rs_use_native_dialog CONFIG+=rs_gui_cmark
|
||||||
qmake CONFIG+=rs_jsonapi CONFIG+=rs_webui CONFIG+=rs_autologin
|
qmake CONFIG+=rs_jsonapi CONFIG+=rs_webui CONFIG+=rs_autologin
|
||||||
qmake CONFIG+=rs_deep_channels_index CONFIG += gxsthewire CONFIG += wikipoos
|
|
||||||
```
|
```
|
||||||
|
|
@ -77,14 +77,24 @@ set(CMAKE_AUTOMOC ON)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
set(CMAKE_AUTOUIC ON)
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
find_package( Qt5 COMPONENTS Core REQUIRED)
|
find_package( Qt6 COMPONENTS Core REQUIRED)
|
||||||
find_package( Qt5 COMPONENTS Widgets REQUIRED)
|
find_package( Qt6 COMPONENTS Widgets REQUIRED)
|
||||||
find_package( Qt5 COMPONENTS Xml REQUIRED)
|
find_package( Qt6 COMPONENTS Xml REQUIRED)
|
||||||
find_package( Qt5 COMPONENTS Network REQUIRED)
|
find_package( Qt6 COMPONENTS Network REQUIRED)
|
||||||
find_package( Qt5 COMPONENTS Multimedia REQUIRED)
|
find_package( Qt6 COMPONENTS Multimedia REQUIRED)
|
||||||
find_package( Qt5 COMPONENTS PrintSupport REQUIRED)
|
find_package( Qt6 COMPONENTS PrintSupport REQUIRED)
|
||||||
|
|
||||||
list( APPEND RS_LINK_LIBRARIES Qt5::Multimedia Qt5::Widgets Qt5::Xml Qt5::Network Qt5::PrintSupport)
|
list( APPEND RS_LINK_LIBRARIES Qt6::Multimedia Qt6::Widgets Qt6::Xml Qt6::Network Qt6::PrintSupport)
|
||||||
|
if (NOT Qt6_FOUND)
|
||||||
|
find_package( Qt5 COMPONENTS Core REQUIRED)
|
||||||
|
find_package( Qt5 COMPONENTS Widgets REQUIRED)
|
||||||
|
find_package( Qt5 COMPONENTS Xml REQUIRED)
|
||||||
|
find_package( Qt5 COMPONENTS Network REQUIRED)
|
||||||
|
find_package( Qt5 COMPONENTS Multimedia REQUIRED)
|
||||||
|
find_package( Qt5 COMPONENTS PrintSupport REQUIRED)
|
||||||
|
|
||||||
|
list( APPEND RS_LINK_LIBRARIES Qt5::Multimedia Qt5::Widgets Qt5::Xml Qt5::Network Qt5::PrintSupport)
|
||||||
|
endif()
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
|
@ -104,7 +114,10 @@ endif(RS_DEVELOPMENT_BUILD)
|
||||||
|
|
||||||
include(src/CMakeLists.txt)
|
include(src/CMakeLists.txt)
|
||||||
|
|
||||||
qt5_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS})
|
qt_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS})
|
||||||
|
if (NOT Qt6_FOUND)
|
||||||
|
qt5_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS})
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME} ${RS_GUI_SOURCES} ${RS_UI_HEADERS} ${RS_GUI_QTRESOURCES})
|
add_executable(${PROJECT_NAME} ${RS_GUI_SOURCES} ${RS_UI_HEADERS} ${RS_GUI_QTRESOURCES})
|
||||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${RS_BIN_INSTALL_DIR})
|
install(TARGETS ${PROJECT_NAME} DESTINATION ${RS_BIN_INSTALL_DIR})
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ void ChatPage::updateFontsAndEmotes()
|
||||||
Settings->setValue("Emoteicons_GroupChat", ui.checkBox_emotegroupchat->isChecked());
|
Settings->setValue("Emoteicons_GroupChat", ui.checkBox_emotegroupchat->isChecked());
|
||||||
Settings->setValue("EnableCustomFonts", ui.checkBox_enableCustomFonts->isChecked());
|
Settings->setValue("EnableCustomFonts", ui.checkBox_enableCustomFonts->isChecked());
|
||||||
Settings->setValue("EnableCustomFontSize", ui.checkBox_enableCustomFontSize->isChecked());
|
Settings->setValue("EnableCustomFontSize", ui.checkBox_enableCustomFontSize->isChecked());
|
||||||
Settings->setValue("MinimumFontSize", ui.minimumFontSize->value());
|
Settings->setValue("MinimumFontSize", ui.minimumFontSize->value());
|
||||||
Settings->setValue("EnableBold", ui.checkBox_enableBold->isChecked());
|
Settings->setValue("EnableBold", ui.checkBox_enableBold->isChecked());
|
||||||
Settings->setValue("EnableItalics", ui.checkBox_enableItalics->isChecked());
|
Settings->setValue("EnableItalics", ui.checkBox_enableItalics->isChecked());
|
||||||
Settings->setValue("MinimumContrast", ui.minimumContrast->value());
|
Settings->setValue("MinimumContrast", ui.minimumContrast->value());
|
||||||
|
|
@ -234,13 +234,14 @@ ChatPage::ChatPage(QWidget * parent, Qt::WindowFlags flags)
|
||||||
|
|
||||||
connect(ui.distantChatComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(distantChatComboBoxChanged(int)));
|
connect(ui.distantChatComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(distantChatComboBoxChanged(int)));
|
||||||
|
|
||||||
connect(ui.checkBox_emoteprivchat, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
connect(ui.checkBox_emoteprivchat, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
||||||
connect(ui.checkBox_emotegroupchat, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
connect(ui.checkBox_emotegroupchat, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
||||||
connect(ui.checkBox_enableCustomFonts, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
connect(ui.checkBox_enableCustomFonts, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
||||||
connect(ui.minimumFontSize, SIGNAL(valueChanged(int)), this, SLOT(updateFontsAndEmotes()));
|
connect(ui.checkBox_enableCustomFontSize, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
||||||
connect(ui.checkBox_enableBold, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
connect(ui.minimumFontSize, SIGNAL(valueChanged(int)), this, SLOT(updateFontsAndEmotes()));
|
||||||
connect(ui.checkBox_enableItalics, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
connect(ui.checkBox_enableBold, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
||||||
connect(ui.minimumContrast, SIGNAL(valueChanged(int)), this, SLOT(updateFontsAndEmotes()));
|
connect(ui.checkBox_enableItalics, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes()));
|
||||||
|
connect(ui.minimumContrast, SIGNAL(valueChanged(int)), this, SLOT(updateFontsAndEmotes()));
|
||||||
|
|
||||||
connect(ui.distantChatComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateChatParams()));
|
connect(ui.distantChatComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateChatParams()));
|
||||||
connect(ui.sendMessageWithCtrlReturn, SIGNAL(toggled(bool)), this, SLOT(updateChatParams()));
|
connect(ui.sendMessageWithCtrlReturn, SIGNAL(toggled(bool)), this, SLOT(updateChatParams()));
|
||||||
|
|
@ -387,7 +388,7 @@ ChatPage::load()
|
||||||
whileBlocking(ui.checkBox_emotegroupchat)->setChecked(Settings->value("Emoteicons_GroupChat", true).toBool());
|
whileBlocking(ui.checkBox_emotegroupchat)->setChecked(Settings->value("Emoteicons_GroupChat", true).toBool());
|
||||||
whileBlocking(ui.checkBox_enableCustomFonts)->setChecked(Settings->value("EnableCustomFonts", true).toBool());
|
whileBlocking(ui.checkBox_enableCustomFonts)->setChecked(Settings->value("EnableCustomFonts", true).toBool());
|
||||||
whileBlocking(ui.checkBox_enableCustomFontSize)->setChecked(Settings->value("EnableCustomFontSize", true).toBool());
|
whileBlocking(ui.checkBox_enableCustomFontSize)->setChecked(Settings->value("EnableCustomFontSize", true).toBool());
|
||||||
whileBlocking(ui.minimumFontSize)->setValue(Settings->value("MinimumFontSize", 10).toInt());
|
whileBlocking(ui.minimumFontSize)->setValue(Settings->value("MinimumFontSize", 10).toInt());
|
||||||
whileBlocking(ui.checkBox_enableBold)->setChecked(Settings->value("EnableBold", true).toBool());
|
whileBlocking(ui.checkBox_enableBold)->setChecked(Settings->value("EnableBold", true).toBool());
|
||||||
whileBlocking(ui.checkBox_enableItalics)->setChecked(Settings->value("EnableItalics", true).toBool());
|
whileBlocking(ui.checkBox_enableItalics)->setChecked(Settings->value("EnableItalics", true).toBool());
|
||||||
whileBlocking(ui.minimumContrast)->setValue(Settings->value("MinimumContrast", 4.5).toDouble());
|
whileBlocking(ui.minimumContrast)->setValue(Settings->value("MinimumContrast", 4.5).toDouble());
|
||||||
|
|
@ -711,4 +712,3 @@ void ChatPage::distantChatComboBoxChanged(int i)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -612,20 +612,24 @@ bool RSPermissionMatrixWidget::computeServiceAndPeer(int x,int y,uint32_t& servi
|
||||||
|
|
||||||
x -= matrix_start_x ;
|
x -= matrix_start_x ;
|
||||||
y -= S*fMATRIX_START_Y ;
|
y -= S*fMATRIX_START_Y ;
|
||||||
|
float fi = x / (S*fCOL_SIZE);
|
||||||
|
float fj = y / (S*fROW_SIZE);
|
||||||
|
int i = (int)fi;
|
||||||
|
int j = (int)fj;
|
||||||
|
const float icoFracX = fICON_SIZE_X/fCOL_SIZE;
|
||||||
|
const float icoFracY = fICON_SIZE_Y/fROW_SIZE;
|
||||||
|
|
||||||
if(x < 0 || x >= service_ids.size() * S*fCOL_SIZE) return false ;
|
if(
|
||||||
if(y < 0 || y >= peer_ids.size() * S*fROW_SIZE) return false ;
|
i < 0 || i >= service_ids.size() ||
|
||||||
|
j < 0 || j >= peer_ids.size() ||
|
||||||
if( (x % (int)(S*fCOL_SIZE)) < (S*fCOL_SIZE - S*fICON_SIZE_X)/2) return false ;
|
std::fmod(fi + icoFracX/2 + .5f, 1.f) >= icoFracX ||
|
||||||
if( (x % (int)(S*fCOL_SIZE)) > (S*fCOL_SIZE + S*fICON_SIZE_X)/2) return false ;
|
std::fmod(fj + icoFracY/2 + .5f, 1.f) >= icoFracY
|
||||||
|
) return false;
|
||||||
if( (y % (int)(S*fROW_SIZE)) < (S*fROW_SIZE - S*fICON_SIZE_Y)/2) return false ;
|
|
||||||
if( (y % (int)(S*fROW_SIZE)) > (S*fROW_SIZE + S*fICON_SIZE_Y)/2) return false ;
|
|
||||||
|
|
||||||
// 2 - find which widget, by looking into the service perm matrix
|
// 2 - find which widget, by looking into the service perm matrix
|
||||||
|
|
||||||
service_id = service_ids[x / (int)(S*fCOL_SIZE)] ;
|
service_id = service_ids[i];
|
||||||
peer_id = peer_ids[y / (int)(S*fCOL_SIZE)] ;
|
peer_id = peer_ids[j];
|
||||||
|
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
|
|
@ -636,22 +640,23 @@ bool RSPermissionMatrixWidget::computeServiceGlobalSwitch(int x,int y,uint32_t&
|
||||||
|
|
||||||
float S = QFontMetricsF(font()).height();
|
float S = QFontMetricsF(font()).height();
|
||||||
|
|
||||||
x -= matrix_start_x ;
|
x -= matrix_start_x;
|
||||||
y -= S*fMATRIX_START_Y ;
|
y -= S*fMATRIX_START_Y;
|
||||||
|
float fi = x / (S*fCOL_SIZE);
|
||||||
|
int i = (int)fi;
|
||||||
|
const float icoFracX = fICON_SIZE_X/fCOL_SIZE;
|
||||||
|
|
||||||
if(x < 0 || x >= service_ids.size() * S*fCOL_SIZE) return false ;
|
if(
|
||||||
|
i < 0 || i >= service_ids.size() ||
|
||||||
if( (x % (int)(S*fCOL_SIZE)) < (S*fCOL_SIZE - S*fICON_SIZE_X)/2) return false ;
|
y < -S*fROW_SIZE || y > 0 ||
|
||||||
if( (x % (int)(S*fCOL_SIZE)) > (S*fCOL_SIZE + S*fICON_SIZE_X)/2) return false ;
|
std::fmod(fi + icoFracX/2 + .5f, 1.f) >= icoFracX
|
||||||
|
) return false;
|
||||||
if( y < -S*fROW_SIZE ) return false ;
|
|
||||||
if( y > 0 ) return false ;
|
|
||||||
|
|
||||||
// 2 - find which widget, by looking into the service perm matrix
|
// 2 - find which widget, by looking into the service perm matrix
|
||||||
|
|
||||||
service_id = service_ids[x / (int)(S*fCOL_SIZE)] ;
|
service_id = service_ids[i];
|
||||||
|
|
||||||
return true ;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RSPermissionMatrixWidget::defaultPermissionSwitched(uint32_t /* ServiceId */,bool /* b */)
|
void RSPermissionMatrixWidget::defaultPermissionSwitched(uint32_t /* ServiceId */,bool /* b */)
|
||||||
|
|
|
||||||
|
|
@ -1771,8 +1771,6 @@ void ServerPage::updateStatusSam()
|
||||||
ui.leBobB32Addr->hide();
|
ui.leBobB32Addr->hide();
|
||||||
ui.pbBobGenAddr->hide();
|
ui.pbBobGenAddr->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
saveAddresses();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
samStatus ss;
|
samStatus ss;
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ void RsSyntaxHighlighter::highlightBlock(const QString &text)
|
||||||
{
|
{
|
||||||
if (text == "") return;
|
if (text == "") return;
|
||||||
|
|
||||||
QRegularExpression endl("[\\r\\n\\x2028]"); //Usually 0x2028 character is used for newline, no idea why
|
QRegularExpression endl("[\\r\\n\\N{U+2028}]"); //Usually 0x2028 character is used for newline, no idea why
|
||||||
int index = 0;
|
int index = 0;
|
||||||
QStringList lines = text.split(endl);
|
QStringList lines = text.split(endl);
|
||||||
foreach (const QString &cLine, lines) {
|
foreach (const QString &cLine, lines) {
|
||||||
|
|
|
||||||
|
|
@ -133,13 +133,13 @@ use_dht_stunner_ext_ip:CONFIG -= no_use_dht_stunner_ext_ip
|
||||||
# To select your MacOsX version append the following assignation to qmake
|
# To select your MacOsX version append the following assignation to qmake
|
||||||
# command line "CONFIG+=rs_macos10.13" where 10.13 depends your version
|
# command line "CONFIG+=rs_macos10.13" where 10.13 depends your version
|
||||||
macx:CONFIG *= rs_macos10.13
|
macx:CONFIG *= rs_macos10.13
|
||||||
rs_macos10.13:CONFIG -= rs_macos10.11
|
rs_macos10.14:CONFIG -= rs_macos10.13
|
||||||
rs_macos10.14:CONFIG -= rs_macos10.11
|
rs_macos10.15:CONFIG -= rs_macos10.13
|
||||||
rs_macos10.15:CONFIG -= rs_macos10.11
|
rs_macos11.1:CONFIG -= rs_macos10.13
|
||||||
rs_macos11.1:CONFIG -= rs_macos10.11
|
rs_macos14.0:CONFIG -= rs_macos10.13
|
||||||
rs_macos14.5:CONFIG -= rs_macos10.11
|
rs_macos14.5:CONFIG -= rs_macos10.13
|
||||||
rs_macos15.2:CONFIG -= rs_macos10.11
|
rs_macos15.2:CONFIG -= rs_macos10.13
|
||||||
rs_macos15.5:CONFIG -= rs_macos10.11
|
rs_macos15.5:CONFIG -= rs_macos10.13
|
||||||
|
|
||||||
# To enable JSON API append the following assignation to qmake command line
|
# To enable JSON API append the following assignation to qmake command line
|
||||||
# "CONFIG+=rs_jsonapi"
|
# "CONFIG+=rs_jsonapi"
|
||||||
|
|
@ -823,6 +823,13 @@ macx-* {
|
||||||
QMAKE_CXXFLAGS += -Wno-nullability-completeness
|
QMAKE_CXXFLAGS += -Wno-nullability-completeness
|
||||||
QMAKE_CFLAGS += -Wno-nullability-completeness
|
QMAKE_CFLAGS += -Wno-nullability-completeness
|
||||||
}
|
}
|
||||||
|
rs_macos14.0 {
|
||||||
|
message(***retroshare.pri: Set Target and SDK to MacOS 14.0 )
|
||||||
|
QMAKE_MACOSX_DEPLOYMENT_TARGET=14.0
|
||||||
|
QMAKE_MAC_SDK = macosx14.0
|
||||||
|
QMAKE_CXXFLAGS += -Wno-nullability-completeness
|
||||||
|
QMAKE_CFLAGS += -Wno-nullability-completeness
|
||||||
|
}
|
||||||
rs_macos14.5 {
|
rs_macos14.5 {
|
||||||
message(***retroshare.pri: Set Target and SDK to MacOS 14.5 )
|
message(***retroshare.pri: Set Target and SDK to MacOS 14.5 )
|
||||||
QMAKE_MACOSX_DEPLOYMENT_TARGET=10.13
|
QMAKE_MACOSX_DEPLOYMENT_TARGET=10.13
|
||||||
|
|
@ -851,7 +858,7 @@ macx-* {
|
||||||
BIN_DIR += "/Applications/Xcode.app/Contents/Developer/usr/bin"
|
BIN_DIR += "/Applications/Xcode.app/Contents/Developer/usr/bin"
|
||||||
INCLUDEPATH += "/usr/local/include"
|
INCLUDEPATH += "/usr/local/include"
|
||||||
RS_UPNP_LIB = miniupnpc
|
RS_UPNP_LIB = miniupnpc
|
||||||
QT += macextras
|
lessThan(QT_MAJOR_VERSION, 6): QT += macextras
|
||||||
INCLUDEPATH += "/usr/local/opt/openssl/include"
|
INCLUDEPATH += "/usr/local/opt/openssl/include"
|
||||||
QMAKE_LIBDIR += "/usr/local/opt/openssl/lib"
|
QMAKE_LIBDIR += "/usr/local/opt/openssl/lib"
|
||||||
QMAKE_LIBDIR += "/usr/local/opt/sqlcipher/lib"
|
QMAKE_LIBDIR += "/usr/local/opt/sqlcipher/lib"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue