Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
df83501
Try with macos-14
sdmytrievs Feb 13, 2026
d67e5fd
Update macOS deployment to use arm64 architecture
gdmiron Feb 15, 2026
f0c2ab4
Change macOS runner to macos-14 from macos-14-arm64
gdmiron Feb 15, 2026
740dd14
Fix formatting in deploy-macos.yml for CMake command
gdmiron Feb 15, 2026
03382bf
Add ARM64 verification and smoke test for GEMSGUI
gdmiron Feb 15, 2026
05acb6a
-d flag
gdmiron Feb 15, 2026
084ee6f
Update deploy-macos.yml
gdmiron Feb 15, 2026
58ed438
Disable smoke test for GEMSGUI in deploy-macos.yml
gdmiron Feb 15, 2026
e4665f8
Refactor GEMSGUI smoke test in deploy-macos.yml
gdmiron Feb 15, 2026
2163024
Fix syntax error in deploy-macos.yml
gdmiron Feb 15, 2026
a0333cb
Update user directory in smoke test command
gdmiron Feb 15, 2026
30e2c45
Add smoke test for GEMSGUI in deploy workflow
gdmiron Feb 15, 2026
706f0da
Refactor smoke test for GEMSGUI
gdmiron Feb 15, 2026
5993350
Update deploy-macos.yml
gdmiron Feb 15, 2026
02fde99
Update deploy-macos.yml
gdmiron Feb 15, 2026
a4d49e6
Update deploy-macos.yml
gdmiron Feb 15, 2026
7682096
Update deploy-macos.yml
gdmiron Feb 15, 2026
ee6af77
Update deploy-macos.yml
gdmiron Feb 15, 2026
60bfe63
Update deploy-macos.yml
gdmiron Feb 15, 2026
ef443c6
Update deploy-macos.yml
gdmiron Feb 15, 2026
d0626a9
Recalculate GEMS3K export systems
sdmytrievs Feb 18, 2026
a245000
Merge branch 'test_arm' of https://github.com/gemshub/GEMSGUI into te…
sdmytrievs Feb 18, 2026
5131459
Implemented GEMSGUI dark/light mode for Ubuntu
sdmytrievs Feb 23, 2026
774c9e0
Fix logging in process
sdmytrievs Feb 24, 2026
348bb16
Added a menu flag to expand/collapse the tree view with the phases co…
sdmytrievs Feb 25, 2026
43515f1
made Windows deploy
sdmytrievs Feb 25, 2026
7ebeb76
Update deploy workflow for macOS
gdmiron Mar 7, 2026
5fdc6b6
Use a fixed path to help files, and remove from the GUI the path to '…
sdmytrievs Mar 10, 2026
734767f
Merge branch 'test_arm' of https://github.com/gemshub/GEMSGUI into te…
sdmytrievs Mar 10, 2026
a8641c3
Refactor macOS deployment workflow
gdmiron Mar 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/deploy-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: deploy-linux
on:
push:
branches:
- process_reset_err
- test_arm1
release:
types:
- published
Expand Down
71 changes: 57 additions & 14 deletions .github/workflows/deploy-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: deploy-macos
on:
push:
branches:
- LESTO_project
- test_arm
release:
types:
- published
Expand All @@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ macos-latest ]
os: [ macos-14 ]
conda_platform: [ osx-arm64 ]
artifact_name: [ gemsgui-macos ]

Expand Down Expand Up @@ -73,6 +73,7 @@ jobs:
mkdir .build && cd .build
cmake -GNinja .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DCMAKE_INSTALL_PREFIX=${{ steps.strings2.outputs.deploy-output-dir }}
ninja
ninja install
Expand All @@ -87,30 +88,72 @@ jobs:
cp "Resources/rungems3-mac.sh" "${{ steps.strings.outputs.deploy-name }}/rungems3.sh"
cp "Resources/README-macos.txt" "${{ steps.strings.outputs.deploy-name }}/README.txt"

- name: Install timeout tool
run: brew install coreutils

# -------------------------
# ZIP packaging
# Verify architecture + smoke test GUI app
# -------------------------
- name: Create zip archive for GitHub release
- name: Verify runner architecture
run: |
cd ${{ github.workspace }}
zip -r ${{ steps.strings2.outputs.deploy-output-name }} ${{ steps.strings.outputs.deploy-name }}
echo "uname -m:"
uname -m
if [ "$(uname -m)" != "arm64" ]; then
echo "ERROR: Not running on ARM64 runner"
exit 1
fi

- name: Smoke test GEMSGUI
run: |
APP="${{ steps.strings2.outputs.deploy-output-dir }}/gem-selektor.app/Contents/MacOS/gem-selektor"
set +e
gtimeout 10 "$APP" -u "$HOME/gems-user-dir"
EXIT_CODE=$?
set -e
if [ "$EXIT_CODE" -ne 124 ] && [ "$EXIT_CODE" -ne 0 ]; then
echo "App crashed with exit code $EXIT_CODE"
exit 1
fi

# -------------------------
# DMG packaging (system Qt)
# macdeployqt (NO DMG)
# -------------------------
- name: Clean previous DMG
run: |
hdiutil detach /Volumes/gem-selektor || true
rm -f gem-selektor.dmg

- name: Create DMG with macdeployqt
- name: Run macdeployqt (no DMG)
shell: bash -l {0}
run: |
conda activate GEMSGUI
cd "${{ steps.strings2.outputs.deploy-output-dir }}"
/Users/runner/miniconda3/envs/GEMSGUI/lib/qt6/bin/macdeployqt gem-selektor.app -verbose=2 -dmg
/Users/runner/miniconda3/envs/GEMSGUI/lib/qt6/bin/macdeployqt gem-selektor.app -verbose=2

# -------------------------
# Ad-hoc signing
# -------------------------
- name: Ad-hoc sign .app bundle
run: |
cd "${{ steps.strings2.outputs.deploy-output-dir }}"
xattr -dr com.apple.quarantine gem-selektor.app || true
codesign --force --deep --sign - gem-selektor.app
codesign --verify --deep --strict gem-selektor.app

# -------------------------
# Create DMG (signed app inside)
# -------------------------
- name: Create DMG
run: |
cd "${{ steps.strings2.outputs.deploy-output-dir }}"
hdiutil create -volname gem-selektor \
-srcfolder gem-selektor.app \
-ov -format UDZO gem-selektor.dmg
mv gem-selektor.dmg "${{ github.workspace }}/macos-${{ steps.strings.outputs.deploy-name }}.dmg"

# -------------------------
# ZIP packaging
# -------------------------
- name: Create zip archive for GitHub release
run: |
cd ${{ github.workspace }}
zip -r ${{ steps.strings2.outputs.deploy-output-name }} ${{ steps.strings.outputs.deploy-name }}

# -------------------------
# Upload artifacts
# -------------------------
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: deploy-windows
on:
push:
branches:
- LESTO_project1
- test_arm
release:
types:
- published
Expand Down
4 changes: 1 addition & 3 deletions App/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,7 @@

#include <QApplication>
#include <QtWidgets>
#include "visor.h"
#include "GemsMainWindow.h"
#include "GEMS3K/jsonconfig.h"

class TIntegApp: public QApplication
{
Expand Down Expand Up @@ -80,7 +78,7 @@ TIntegApp::TIntegApp(int& c, char** v):
void TIntegApp::InitMainWindow()
{
pVisorImp = new TVisorImp(argc, argv);
// styleHints()->setColorScheme(static_cast<Qt::ColorScheme>(pVisorImp->getColorScheme()));
styleHints()->setColorScheme(static_cast<Qt::ColorScheme>(pVisorImp->getColorScheme()));
pVisorImp->show();
// init Help Window
pVisorImp->GetHelp();
Expand Down
4 changes: 4 additions & 0 deletions GUI/Dialogs4/GemsMainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ TVisorImp::TVisorImp(int c, char** v):
ui->setupUi(this);
GEMS3KGenerator::default_type_f = GEMS3KGenerator::f_json;
ui->action_Use_ThermoFUN->setChecked(GEMS3KGenerator::default_type_f>=GEMS3KGenerator::f_thermofun);
ui->actionExpanded_view->setChecked(getPhaseExpandMode());

(void)statusBar();
//setMinimumSize( 300, 200 );
Expand Down Expand Up @@ -222,6 +223,9 @@ TVisorImp::TVisorImp(int c, char** v):
GEMS3KGenerator::default_type_f = GEMS3KGenerator::f_json;
}
});
connect( ui->actionExpanded_view, &QAction::toggled, [&](bool checked){
setPhaseExpandMode(checked);
});
connect( ui->action_calcMode, SIGNAL( triggered()), this, SLOT(CmCalcMode()));
connect( ui->actionDataBaseMode, SIGNAL( triggered()), this, SLOT(CmDataBaseMode()));

Expand Down
7 changes: 6 additions & 1 deletion GUI/Dialogs4/GemsMainWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
#include <QHBoxLayout>
#include <QTableWidget>
#include "module_w.h"
#include "v_vals.h"

QT_BEGIN_NAMESPACE
class QLabel;
Expand Down Expand Up @@ -162,6 +161,7 @@ class TVisorImp: public QMainWindow
int charWidth;
int charHeight;
int colorScheme=0;
bool phaseExpandMode = false;

char TCpoint[32]; // Step point ID for stepwise mode

Expand Down Expand Up @@ -214,6 +214,11 @@ class TVisorImp: public QMainWindow
updateTime = updInterval;
}

void setPhaseExpandMode(bool expand_all)
{ phaseExpandMode = expand_all; }
bool getPhaseExpandMode() const
{ return phaseExpandMode; }

const char* version();
const char* getGEMTitle();
const QFont& getCellFont() const
Expand Down
9 changes: 9 additions & 0 deletions GUI/Dialogs4/GemsMainWindow4.ui
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@
<addaction name="sactionPrecise"/>
<addaction name="sactionStepwise"/>
<addaction name="action_Use_ThermoFUN"/>
<addaction name="actionExpanded_view"/>
</widget>
<widget class="QMenu" name="smenu_View">
<property name="title">
Expand Down Expand Up @@ -1301,6 +1302,14 @@
<string>Import JSON files...</string>
</property>
</action>
<action name="actionExpanded_view">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Expanded view</string>
</property>
</action>
</widget>
<resources>
<include location="../GUI.qrc"/>
Expand Down
2 changes: 1 addition & 1 deletion GUI/Dialogs4/HelpWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ HelpWindow::HelpWindow( QWidget* parent):

//End Ui form

QString collectionFile = QString( pVisor->docDir().c_str() )+ QLatin1String("gems3help.qhc");
QString collectionFile = QString::fromStdString(pVisor->localDocDir())+ QLatin1String("gems3help.qhc");
// "/home/gems/gemworks/gems3/shared/doc/html/gems3help.qhc";

findLine = nullptr;
Expand Down
25 changes: 8 additions & 17 deletions GUI/Dialogs4/SettingsDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
//-------------------------------------------------------------------

#include <QFontDialog>
#include <QApplication>
#include <QStyleHints>

#include "ui_SettingsDialog4.h"
#include "SettingsDialog.h"
Expand All @@ -35,20 +37,15 @@ SettingsDialog::SettingsDialog (QWidget* parent)
setWindowTitle( "GEM-Selektor: Settings and preferences" );

ui->pUpdateInterval->setValue( pVisorImp->updateInterval() );

ui->comboBox->setCurrentIndex(pVisorImp->getColorScheme());
ui->pLocalDocDir->setText(pVisor->localDocDir().c_str());
ui->pRemoteHTML->setText(pVisor->remoteHTML().c_str());
//pLocalDoc->setChecked(pVisor->localDoc());
//pRemoteDoc->setChecked(!pVisor->localDoc());
ui->pSysDBDir->setText(pVisor->sysGEMDir().c_str());
ui->pUserDBDir->setText(pVisor->userGEMDir().c_str());
ui->pUserDBDir->setText(pVisor->userProfDir().c_str());
ui->pLocalDocDir->setText(QString::fromStdString(pVisor->localDocDir()));
ui->pSysDBDir->setText(QString::fromStdString(pVisor->sysGEMDir()));
//ui->pUserDBDir->setText(pVisor->userGEMDir().c_str());
ui->pUserDBDir->setText(QString::fromStdString(pVisor->userProfDir()));
ui->pFontRawName->setText(cellFont.toString());
ui->pNumDigits->setValue(pVisor->getDoubleDigits());
ui->pUpdateInterval->setValue(pVisorImp->updateInterval());
ui->pConfigAutosave->setChecked(pVisor->getConfigAutosave());
// pConfigAutosave->setChecked( true );

if( pVisor->getElemPrMode() )
{ ui->rbNewPrMode->setChecked( true );
Expand Down Expand Up @@ -84,20 +81,14 @@ void SettingsDialog::accept()
void SettingsDialog::CmApply()
{
pVisorImp->setCellFont(cellFont);

pVisorImp->setColorScheme(ui->comboBox->currentIndex());
pVisor->setDoubleDigits(ui->pNumDigits->value());
pVisorImp->setUpdateInterval( ui->pUpdateInterval->value() );
pVisor->setConfigAutosave( ui->pConfigAutosave->isChecked() );
pVisor->setElemPrMode(ui->rbNewPrMode->isChecked());

pVisor->setLocalDocDir(ui->pLocalDocDir->text().toStdString());
pVisor->setRemoteHTML(ui->pRemoteHTML->text().toStdString());

//pVisor->setLocalDocDir(ui->pLocalDocDir->text().toStdString());
pVisor->setDefaultBuiltinTDB(ui->pBuiltinTDB->text().toStdString());

//pVisor->setLocalDoc(pLocalDoc->isChecked());

qApp->styleHints()->setColorScheme(static_cast<Qt::ColorScheme>(pVisorImp->getColorScheme()));
//pVisorImp->Update(true);
}

Expand Down
Loading
Loading