Compare commits

...

4 Commits

Author SHA1 Message Date
sami7777 5ad0bb53b4 Derive release VERSION from clientversion.h instead of hardcoding
Build All Platforms / test-linux-unit (push) Waiting to run
Build All Platforms / build-windows-qt (push) Waiting to run
Build All Platforms / build-windows-daemon (push) Waiting to run
Build All Platforms / build-linux-qt (push) Waiting to run
Build All Platforms / build-linux-daemon (push) Waiting to run
Build All Platforms / build-macos (push) Waiting to run
Build All Platforms / release (push) Blocked by required conditions
Build jobs extract MAJOR.MINOR.REVISION from src/clientversion.h.
Release job extracts from the git tag name. No more forgetting to
update the workflow when bumping versions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 22:38:37 -07:00
sami7777 da41cc8718 Fix release filenames: update VERSION env to 5.3.9
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 22:36:00 -07:00
sami7777 07e6eccc44 Bump version to v5.3.9
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 22:20:27 -07:00
sami7777 f52f83dc71 Fix Qt widget embedding: pages rendered as floating windows instead of tabs
Move centralWidget assignment before page creation to fix use of
uninitialized pointer. Use Qt::Widget flags when pages have a parent
(embedded in QStackedWidget) and pass centralWidget as parent for all
lazily-created pages (messagePage, signMessagePage, verifyMessagePage).
Also fix TransactionView which unconditionally set FramelessWindowHint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 22:18:01 -07:00
7 changed files with 45 additions and 15 deletions
+24 -3
View File
@@ -8,9 +8,6 @@ on:
branches: [master]
workflow_dispatch:
env:
VERSION: "5.3.7"
jobs:
test-linux-unit:
runs-on: ubuntu-22.04
@@ -149,6 +146,13 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set VERSION from source
run: |
MAJOR=$(grep 'CLIENT_VERSION_MAJOR' src/clientversion.h | awk '{print $3}')
MINOR=$(grep 'CLIENT_VERSION_MINOR' src/clientversion.h | awk '{print $3}')
REV=$(grep 'CLIENT_VERSION_REVISION' src/clientversion.h | awk '{print $3}')
echo "VERSION=${MAJOR}.${MINOR}.${REV}" >> $GITHUB_ENV
- name: Install dependencies
run: |
sudo apt-get update
@@ -189,6 +193,13 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set VERSION from source
run: |
MAJOR=$(grep 'CLIENT_VERSION_MAJOR' src/clientversion.h | awk '{print $3}')
MINOR=$(grep 'CLIENT_VERSION_MINOR' src/clientversion.h | awk '{print $3}')
REV=$(grep 'CLIENT_VERSION_REVISION' src/clientversion.h | awk '{print $3}')
echo "VERSION=${MAJOR}.${MINOR}.${REV}" >> $GITHUB_ENV
- name: Install dependencies
run: |
sudo apt-get update
@@ -225,6 +236,13 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set VERSION from source
run: |
MAJOR=$(grep 'CLIENT_VERSION_MAJOR' src/clientversion.h | awk '{print $3}')
MINOR=$(grep 'CLIENT_VERSION_MINOR' src/clientversion.h | awk '{print $3}')
REV=$(grep 'CLIENT_VERSION_REVISION' src/clientversion.h | awk '{print $3}')
echo "VERSION=${MAJOR}.${MINOR}.${REV}" >> $GITHUB_ENV
- name: Install dependencies
run: |
brew install qt@5 openssl@3 boost berkeley-db@5 leveldb libevent miniupnpc
@@ -289,6 +307,9 @@ jobs:
permissions:
contents: write
steps:
- name: Set VERSION from tag
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
+1 -1
View File
@@ -8,7 +8,7 @@
// These need to be macros, as version.cpp's and triangles-qt.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 5
#define CLIENT_VERSION_MINOR 3
#define CLIENT_VERSION_REVISION 8
#define CLIENT_VERSION_REVISION 9
#define CLIENT_VERSION_BUILD 0
// Converts the parameter X to a string after macro replacement on X has been performed.
+4 -1
View File
@@ -27,7 +27,10 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
tab(tab)
{
ui->setupUi(this);
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
if (mode == ForEditing && parent)
setWindowFlags(Qt::Widget);
else
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
ui->wAddressBookHeader->installEventFilter(new DialogMoveHandler(this));
#ifdef Q_OS_MAC // Icons on push buttons are very uncommon on Mac
+4 -1
View File
@@ -28,7 +28,10 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) :
model(0)
{
ui->setupUi(this);
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
if (parent)
setWindowFlags(Qt::Widget);
else
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
#ifdef Q_OS_MAC // Icons on push buttons are very uncommon on Mac
ui->addButton->setIcon(QIcon());
+4 -1
View File
@@ -40,7 +40,10 @@ TransactionView::TransactionView(QWidget *parent) :
transactionSortOrder(Qt::DescendingOrder)
{
ui->setupUi(this);
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
if (parent)
setWindowFlags(Qt::Widget);
else
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
// Build filter row
dateWidget = ui->dateWidget;
dateWidget->addItem(tr("All"), All);
+7 -7
View File
@@ -284,6 +284,7 @@ TrianglesGUI::TrianglesGUI(bool fIsTestnet, QWidget *parent):
createTrayIcon();
// Create tabs
centralWidget = ui->stackedWidget;
overviewPage = new OverviewPage();
{
transactionsPage = new QWidget(this);
@@ -296,15 +297,14 @@ TrianglesGUI::TrianglesGUI(bool fIsTestnet, QWidget *parent):
vbox->addWidget(transactionView);
frameMain->setLayout(vbox);
}
addressBookPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::SendingTab);
addressBookPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::SendingTab, centralWidget);
receiveCoinsPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::ReceivingTab);
receiveCoinsPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::ReceivingTab, centralWidget);
sendCoinsPage = 0;
messagePage = 0;
signMessagePage = 0;
verifyMessagePage = 0;
centralWidget = ui->stackedWidget;
centralWidget->addWidget(overviewPage);
centralWidget->addWidget(transactionsPage);
centralWidget->addWidget(addressBookPage);
@@ -641,7 +641,7 @@ void TrianglesGUI::ensureSendCoinsPage()
if (sendCoinsPage)
return;
sendCoinsPage = new SendCoinsDialog(this);
sendCoinsPage = new SendCoinsDialog(centralWidget);
if (walletModel)
sendCoinsPage->setModel(walletModel);
centralWidget->addWidget(sendCoinsPage);
@@ -652,7 +652,7 @@ void TrianglesGUI::ensureMessagePage()
if (messagePage)
return;
messagePage = new MessagePage(this);
messagePage = new MessagePage(centralWidget);
if (messageModel)
messagePage->setModel(messageModel);
centralWidget->addWidget(messagePage);
@@ -663,7 +663,7 @@ void TrianglesGUI::ensureSignMessagePage()
if (signMessagePage)
return;
signMessagePage = new SignMessagePage(this);
signMessagePage = new SignMessagePage(centralWidget);
if (walletModel)
signMessagePage->setModel(walletModel);
centralWidget->addWidget(signMessagePage);
@@ -674,7 +674,7 @@ void TrianglesGUI::ensureVerifyMessagePage()
if (verifyMessagePage)
return;
verifyMessagePage = new VerifyMessagePage(this);
verifyMessagePage = new VerifyMessagePage(centralWidget);
if (walletModel)
verifyMessagePage->setModel(walletModel);
centralWidget->addWidget(verifyMessagePage);
+1 -1
View File
@@ -1,7 +1,7 @@
TEMPLATE = app
TARGET = triangles-qt
VERSION = 5.3.8.0
VERSION = 5.3.9.0
INCLUDEPATH += src src/json src/qt src/qt/plugins/mrichtexteditor
DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN BOOST_BIND_GLOBAL_PLACEHOLDERS __NO_SYSTEM_INCLUDES
CONFIG += no_include_pwd