Skip to content

Sync Upstream#2

Open
dmlyons wants to merge 3434 commits intodmlyons:developfrom
nullptrlabs:develop
Open

Sync Upstream#2
dmlyons wants to merge 3434 commits intodmlyons:developfrom
nullptrlabs:develop

Conversation

@dmlyons
Copy link
Owner

@dmlyons dmlyons commented Jun 15, 2022

No description provided.

…ctangles. When possible, we are using QRect::adjust()
… the arrow size

Modified the method drawButtonMenuArrow to render a small button when the butotn in question is not TextUnderIcon
Minor adjustement in drawButtonMneuArrow to avoid drawing arrow for icon-only QToolButtons
Added the rendering of sort arrows in QHeaderView rendering
Adjusted the position of the "New tab" corner button in SQLToolWidget
…lor and bg-color in *-highlight.conf

Adjusting the AppearanceConfigWidget the use system colors as a fallback (WIP)
…its usage by CustomUiStyle::isDarkPalette

Several adjustments in UI stylesheets of all themes (WIP)
Removed unused code in AppearanceConfigWidget
Several adjustments in themes stylesheets and other confs

Removed unused code in AppearanceConfigWidget
Adjusted the rendering of QScroolBars
- Implemented #ifdef PGMODELER_DEBUG to switch between URLs
- Debug builds use http://localhost:8000 for local testing
- Release builds use https://pgmodeler.io
- Removed hardcoded test URL and #warning directive
- Replaced 'static const' with 'inline const' for namespaces with few constants:
  * DefaultLanguages (7 constants)
  * PgSqlVersions (~10 constants)
  * UtilsNs (~7 constants)
  * CoreUtilsNs (1 constant)

- Migrated Attributes to extern + .cpp pattern (~800 constants):
  * Created attributes.cpp with constant definitions
  * Changed attributes.h to use extern const declarations
  * Updated CMakeLists.txt to include attributes.cpp

- Removed redundant 'extern' keyword from function declarations:
  * GuiUtilsNs: ~30 functions
  * UtilsNs: 5 functions
  * CoreUtilsNs: 3 functions
  * CompatNs: 3 functions

- Removed redundant 'static' from constexpr in namespaces:
  * GuiUtilsNs: FontAdjustedProp, LtMargin, LtSpacing

- Additional fixes:
  * Updated contact email in aboutwidget.ui
  * Added PRIV_CODE_SYMBOLS support in pgmodelercliapp.cpp
  * Added pgm_inc_priv_core_sources in libcli/CMakeLists.txt
  * Fixed logMessage declaration in application.h

Goals: Standardize namespace usage following C++17 best practices,
eliminate clazy warnings, and improve compilation performance.
- Created printMenuItem method that formats menu items with automatic line breaking
- Supports customizable initial position (ini_pos) and break position (break_pos)
- Uses continuation symbol (⤷) for wrapped lines with proper indentation
- Converted all help menu sections to use the new method
- Line breaking is intelligent, only breaks at word boundaries
- Default break position set to 120 characters
- All spacing uses spaces instead of tabs for consistent alignment
…d breaks

- Created MenuItem struct to better organize menu item data (section, option, value, text)
- Implemented intelligent line breaking based on sentence detection using regex pattern
- Added automatic alignment calculation for consistent menu formatting
- Lines break at sentence boundaries (period + space + uppercase letter) when exceeding 120 chars
- Short descriptions (< 120 chars) remain on single line even with multiple sentences
- Break indicator symbol (↲) shows continuation lines
- Integrated plugin options into unified menu items list
- Improved code maintainability with centralized printMenuItems() function
- Updated all option descriptions for better clarity and brevity
- Strip symbols from executables and libraries in Release mode
- Makes reverse engineering significantly harder for license validation code
- Removes function names, making debugging and patching more difficult for attackers
- Applied to both pgm_add_executable and pgm_add_library functions
Updated the README.md to enhance clarity and organization, including sections on capabilities, support, and known issues.
Implement conditional compilation to support both DEMO and PLUS versions
with different feature sets:

PLUS version (PLUS_VERSION=ON):
- Includes full priv-core code (license checking, etc.)
- Includes all assets (logo and icons)
- OpenSSL enabled
- PRIV_CODE_SYMBOLS defined

DEMO version (DEMO_VERSION=ON):
- Includes only priv-core assets (logo and icons)
- NO license checking code compiled
- NO OpenSSL dependency
- Maintains visual branding without licensing features

Changes:
- Split priv-core components into PRIV_CORE_CODE_SOURCES/FORMS (code)
  and PRIV_CORE_ASSETS_ONLY (resources) in priv-core/CMakeLists.txt
- Added BUILD_PRIV_ASSETS variable to control asset inclusion
- Modified BuildConfs.cmake to enable assets for both versions but
  code only for PLUS version
- Updated pgm_inc_priv_core_sources() function to handle both modes
- Updated CMakeLists.txt to use BUILD_PRIV_ASSETS instead of
  BUILD_PRIV_CODE for including priv-core
- Updated InstallAssets.cmake and PrintSummary.cmake references
- Add isModelLoading() method to check if model is currently loading from file
- Change ModelWidget to only mark as modified when not loading model
- Add wait cursor feedback in DatabaseImportWidget, DiffToolWidget and SQLToolWidget
- Fix setCurrentModel() call order in MainWindow::addModel()
- Fix space formatting around assignments in createSystemObjects()
- Fix conditional formatting in closeModel()
- Improve ModelNavigationWidget to set modified flag on model addition
- Remove unnecessary braces in DiffToolWidget
difftoolwidget.ui, fixtoolswidget.ui and modelexportwidget.ui
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants