diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..56475a01 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,60 @@ +name: Build and Release + +on: + pull_request: + branches: + - main + push: + tags: + - 'v*' + +jobs: + build-windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: ilammy/msvc-dev-cmd@v1 + - name: Setup Qt environment + uses: jurplel/install-qt-action@v3 + with: + version: '5.15.2' + - name: Build QtPass + run: | + qmake qtpass.pro CONFIG+=static + nmake + copy README.md src\release\README.txt + copy LICENSE src\release\LICENSE.txt + - name: Install Inno Setup + run: choco install innosetup + - name: Create Installer with Inno Setup + run: ISCC.exe qtpass-gh.iss + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: QtPass-Windows + path: release + + build-mac: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - name: Setup Qt environment + uses: jurplel/install-qt-action@v3 + with: + version: '5.15.2' + - name: Install create-dmg + run: | + brew install create-dmg + - name: Build QtPass + run: | + qmake + make + macdeployqt main/QtPass.app + - name: Create DMG + run: create-dmg main/QtPass.dmg main/QtPass.app + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: QtPass-macOS + path: main/QtPass.dmg + diff --git a/localization/localization_ro.ts b/localization/localization_ro_RO.ts similarity index 100% rename from localization/localization_ro.ts rename to localization/localization_ro_RO.ts diff --git a/qtpass-gh.iss b/qtpass-gh.iss new file mode 100644 index 00000000..10f796d6 --- /dev/null +++ b/qtpass-gh.iss @@ -0,0 +1,82 @@ +; Script generated by the Inno Script Studio Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppName "QtPass" +#define MyAppVersion "1.4.0" +#define MyAppPublisher "IJhack" +#define MyAppURL "https://qtpass.org/" +#define MyAppExeName "qtpass.exe" + +#define QtDir GetEnv('QT_ROOT_DIR') + +[Setup] +; NOTE: The value of AppId uniquely identifies this application. +; Do not use the same AppId value in installers for other applications. +; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) +AppId={{C64A2871-0C42-4A90-9071-D84DC30563BF} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +;AppVerName={#MyAppName} {#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={pf}\{#MyAppName} +DefaultGroupName={#MyAppName} +LicenseFile=src\release\LICENSE.txt +OutputBaseFilename=qtpass-{#MyAppVersion} +PrivilegesRequired=lowest +Compression=lzma +SolidCompression=yes +ShowLanguageDialog=no + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" +Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" +Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl" +Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl" +Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" +Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl" +Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl" +Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl" +Name: "french"; MessagesFile: "compiler:Languages\French.isl" +Name: "german"; MessagesFile: "compiler:Languages\German.isl" +Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl" +Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl" +Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" +Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" +Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl" +Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" +Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" +Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" +Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl" +Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" +Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" +Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +Source: "{#QtDir}\bin\Qt5Gui.dll"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#QtDir}\bin\Qt5Network.dll"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#QtDir}\bin\Qt5Widgets.dll"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#QtDir}\bin\Qt5Svg.dll"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#QtDir}\bin\libgcc_s_dw2-1.dll"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#QtDir}\bin\libstdc++-6.dll"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#QtDir}\bin\libwinpthread-1.dll"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#QtDir}\bin\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#QtDir}\plugins\platforms\qwindows.dll"; DestDir: "{app}\platforms\"; Flags: ignoreversion +Source: "{#QtDir}\plugins\iconengines\qsvgicon.dll"; DestDir: "{app}\iconengines\"; Flags: ignoreversion + +Source: "main\release\qtpass.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "src\release\README.txt"; DestDir: "{app}"; Flags: ignoreversion +Source: "src\release\LICENSE.txt"; DestDir: "{app}"; Flags: ignoreversion + +[Icons] +Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" +Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent diff --git a/src/src.pro b/src/src.pro index 63f76664..b9c47c16 100644 --- a/src/src.pro +++ b/src/src.pro @@ -41,6 +41,7 @@ TRANSLATIONS += ../localization/localization_ar_MA.ts \ ../localization/localization_cy_GB.ts \ ../localization/localization_hr_HR.ts \ ../localization/localization_af_ZA.ts \ + ../localization/localization_ro_RO.ts \ ../localization/localization_sl_SI.ts \ ../localization/localization_sr_RS.ts \ ../localization/localization_ja_JA.ts \