diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml index 3aae3be..87dc9d7 100644 --- a/.github/workflows/flatpak.yml +++ b/.github/workflows/flatpak.yml @@ -8,12 +8,12 @@ jobs: name: "Flatpak" runs-on: ubuntu-latest container: - image: bilelmoussaoui/flatpak-github-actions:gnome-44 + image: bilelmoussaoui/flatpak-github-actions:gnome-46 options: --privileged steps: - uses: actions/checkout@v4 - uses: flatpak/flatpak-github-actions/flatpak-builder@v6 with: - bundle: palette.flatpak + bundle: me.ppvan.psequel.flatpak manifest-path: me.ppvan.psequel.json cache-key: flatpak-builder-${{ github.sha }} \ No newline at end of file diff --git a/Makefile b/Makefile index 55bb4d9..a217523 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,7 @@ # This is just a file for me to type command faster, not the build file. - -debug: clean - ninja -C build/ && G_MESSAGES_DEBUG=Psequel ./build/src/psequel +debug: + ninja -C build/ && G_MESSAGES_DEBUG=Psequel ./build/src/me.ppvan.psequel clean: rm -rf build/res @@ -11,7 +10,9 @@ test: ninja -C build/ && ./build/test/psequel-test flatpak: - flatpak-builder _build/ me.ppvan.psequel.Devel.json --force-clean + flatpak-builder build-aux/ me.ppvan.psequel.json --force-clean + flatpak build-export export build-aux + flatpak build-bundle export me.ppvan.psequel.flatpak --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo run: - G_MESSAGES_DEBUG=Psequel ./build/src/psequel \ No newline at end of file + G_MESSAGES_DEBUG=Psequel ./build/src/me.ppvan.psequel \ No newline at end of file diff --git a/meson.build b/meson.build index 1bad65a..091780e 100644 --- a/meson.build +++ b/meson.build @@ -1,37 +1,24 @@ project( - 'psequel', + 'me.ppvan.psequel', ['c', 'vala'], version: '0.2.0', meson_version: '>= 1.2.0', default_options: [ - 'warning_level=2', + 'warning_level=1', 'werror=false', ], ) -app_is_development = false -app_id = 'me.ppvan.psequel' - -if get_option('buildtype') == 'debug' - add_project_arguments('--debug', language: 'vala') - app_is_development = true -endif - - - +app_id = meson.project_name() +app_resource_prefix = meson.project_name().replace('.', '/') +app_name = meson.project_name().split('.')[-1] i18n = import('i18n') gnome = import('gnome') -# cc = meson.get_compiler('c') valac = meson.get_compiler('vala') - -# Pass custom vapi to compiler (for libpq) -vapi_dir = join_paths(meson.project_source_root(), 'src', 'vapi') -add_project_arguments(['--vapidir', vapi_dir], language: 'vala') - subdir('data') -subdir('res') +subdir('resources') subdir('src') subdir('po') diff --git a/res/meson.build b/res/meson.build deleted file mode 100644 index df92f7d..0000000 --- a/res/meson.build +++ /dev/null @@ -1,60 +0,0 @@ - - -blueprint_compiler = find_program('blueprint-compiler') - -# CURRENT_SOURCE_DIR relative to BUILDDIR -blueprints_output_dir = meson.current_build_dir() -# This is a hack to make sure below target was run. For some reason you can't use example from blueprint docs. - -blueprints = custom_target('blueprints', - input: files( - - 'gtk/style-switcher.blp', - 'gtk/datacell.blp', - 'gtk/connection-view.blp', - 'gtk/connection-row.blp', - 'gtk/connection-listitem.blp', - - 'gtk/query-editor.blp', - 'gtk/query-results.blp', - - 'gtk/schema-view.blp', - - 'gtk/table-data-view.blp', - 'gtk/view-data-view.blp', - - 'gtk/table-cols.blp', - 'gtk/table-listitem.blp', - 'gtk/table-row.blp', - 'gtk/table-graph.blp', - 'gtk/query-listitem.blp', - 'gtk/view-listitem.blp', - 'gtk/table-fk.blp', - 'gtk/table-index.blp', - 'gtk/table-structure-view.blp', - 'gtk/view-structure-view.blp', - - 'gtk/help-overlay.blp', - 'gtk/preferences-window.blp', - 'gtk/window.blp', - ), - build_by_default: true, -# This does not run if you use an dot (.) - output: 'dot', - command: [blueprint_compiler, 'batch-compile', blueprints_output_dir , '@CURRENT_SOURCE_DIR@', '@INPUT@'], -) - -blueprint_vala = 'blueprint.vala' - -blueprint_hack = custom_target('blueprint-hack', - input: blueprints, - output: blueprint_vala, - command: [find_program('touch'), '@OUTPUT@'] -) - - -psequel_resources = gnome.compile_resources('psequel_resources', - 'psequel.gresource.xml', - c_name: 'psequel_resources', - dependencies: [blueprints], -) \ No newline at end of file diff --git a/res/psequel.gresource.xml b/res/psequel.gresource.xml deleted file mode 100644 index aa798d9..0000000 --- a/res/psequel.gresource.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - gtk/style.css - - migrations/version-0.sql - migrations/version-1.sql - - - gtk/style-switcher.ui - gtk/connection-view.ui - gtk/connection-row.ui - gtk/connection-listitem.ui - gtk/datacell.ui - gtk/schema-view.ui - - gtk/query-editor.ui - gtk/query-results.ui - gtk/table-cols.ui - gtk/table-data-view.ui - gtk/view-data-view.ui - gtk/table-fk.ui - gtk/table-index.ui - gtk/table-structure-view.ui - gtk/view-structure-view.ui - gtk/table-row.ui - gtk/table-graph.ui - gtk/table-listitem.ui - gtk/view-listitem.ui - gtk/query-listitem.ui - - gtk/help-overlay.ui - gtk/preferences-window.ui - gtk/window.ui - - - - - gtk/icons/plus-large-symbolic.svg - gtk/icons/minus-large-symbolic.svg - gtk/icons/library-symbolic.svg - gtk/icons/object-rows-symbolic.svg - gtk/icons/terminal-symbolic.svg - gtk/icons/loupe-large-symbolic.svg - gtk/icons/refresh-large-symbolic.svg - gtk/icons/table-symbolic.svg - gtk/icons/columns-symbolic.svg - gtk/icons/step-out-symbolic.svg - gtk/icons/arrow-into-box-symbolic.svg - gtk/icons/category-search-symbolic.svg - gtk/icons/left-large-symbolic.svg - gtk/icons/right-large-symbolic.svg - gtk/icons/text-sql-symbolic.svg - gtk/icons/webview-filler-symbolic.svg - gtk/icons/settings-symbolic.svg - gtk/icons/test-pass-symbolic.svg - gtk/icons/history-undo-symbolic.svg - gtk/icons/check-plain-symbolic.svg - gtk/icons/export-symbolic.svg - gtk/icons/filemanager-app-symbolic.svg - gtk/icons/application-certificate-symbolic.svg - - diff --git a/res/gtk/connection-listitem.blp b/resources/gtk/connection-listitem.blp similarity index 100% rename from res/gtk/connection-listitem.blp rename to resources/gtk/connection-listitem.blp diff --git a/res/gtk/connection-row.blp b/resources/gtk/connection-row.blp similarity index 100% rename from res/gtk/connection-row.blp rename to resources/gtk/connection-row.blp diff --git a/res/gtk/connection-view.blp b/resources/gtk/connection-view.blp similarity index 100% rename from res/gtk/connection-view.blp rename to resources/gtk/connection-view.blp diff --git a/res/gtk/datacell.blp b/resources/gtk/datacell.blp similarity index 100% rename from res/gtk/datacell.blp rename to resources/gtk/datacell.blp diff --git a/res/gtk/help-overlay.blp b/resources/gtk/help-overlay.blp similarity index 100% rename from res/gtk/help-overlay.blp rename to resources/gtk/help-overlay.blp diff --git a/res/gtk/icons/application-certificate-symbolic.svg b/resources/gtk/icons/application-certificate-symbolic.svg similarity index 100% rename from res/gtk/icons/application-certificate-symbolic.svg rename to resources/gtk/icons/application-certificate-symbolic.svg diff --git a/res/gtk/icons/arrow-into-box-symbolic.svg b/resources/gtk/icons/arrow-into-box-symbolic.svg similarity index 100% rename from res/gtk/icons/arrow-into-box-symbolic.svg rename to resources/gtk/icons/arrow-into-box-symbolic.svg diff --git a/res/gtk/icons/category-search-symbolic.svg b/resources/gtk/icons/category-search-symbolic.svg similarity index 100% rename from res/gtk/icons/category-search-symbolic.svg rename to resources/gtk/icons/category-search-symbolic.svg diff --git a/res/gtk/icons/check-plain-symbolic.svg b/resources/gtk/icons/check-plain-symbolic.svg similarity index 100% rename from res/gtk/icons/check-plain-symbolic.svg rename to resources/gtk/icons/check-plain-symbolic.svg diff --git a/res/gtk/icons/columns-symbolic.svg b/resources/gtk/icons/columns-symbolic.svg similarity index 100% rename from res/gtk/icons/columns-symbolic.svg rename to resources/gtk/icons/columns-symbolic.svg diff --git a/res/gtk/icons/export-symbolic.svg b/resources/gtk/icons/export-symbolic.svg similarity index 100% rename from res/gtk/icons/export-symbolic.svg rename to resources/gtk/icons/export-symbolic.svg diff --git a/res/gtk/icons/filemanager-app-symbolic.svg b/resources/gtk/icons/filemanager-app-symbolic.svg similarity index 100% rename from res/gtk/icons/filemanager-app-symbolic.svg rename to resources/gtk/icons/filemanager-app-symbolic.svg diff --git a/res/gtk/icons/history-undo-symbolic.svg b/resources/gtk/icons/history-undo-symbolic.svg similarity index 100% rename from res/gtk/icons/history-undo-symbolic.svg rename to resources/gtk/icons/history-undo-symbolic.svg diff --git a/res/gtk/icons/left-large-symbolic.svg b/resources/gtk/icons/left-large-symbolic.svg similarity index 100% rename from res/gtk/icons/left-large-symbolic.svg rename to resources/gtk/icons/left-large-symbolic.svg diff --git a/res/gtk/icons/library-symbolic.svg b/resources/gtk/icons/library-symbolic.svg similarity index 100% rename from res/gtk/icons/library-symbolic.svg rename to resources/gtk/icons/library-symbolic.svg diff --git a/res/gtk/icons/loupe-large-symbolic.svg b/resources/gtk/icons/loupe-large-symbolic.svg similarity index 100% rename from res/gtk/icons/loupe-large-symbolic.svg rename to resources/gtk/icons/loupe-large-symbolic.svg diff --git a/res/gtk/icons/minus-large-symbolic.svg b/resources/gtk/icons/minus-large-symbolic.svg similarity index 100% rename from res/gtk/icons/minus-large-symbolic.svg rename to resources/gtk/icons/minus-large-symbolic.svg diff --git a/res/gtk/icons/object-rows-symbolic.svg b/resources/gtk/icons/object-rows-symbolic.svg similarity index 100% rename from res/gtk/icons/object-rows-symbolic.svg rename to resources/gtk/icons/object-rows-symbolic.svg diff --git a/res/gtk/icons/plus-large-symbolic.svg b/resources/gtk/icons/plus-large-symbolic.svg similarity index 100% rename from res/gtk/icons/plus-large-symbolic.svg rename to resources/gtk/icons/plus-large-symbolic.svg diff --git a/res/gtk/icons/refresh-large-symbolic.svg b/resources/gtk/icons/refresh-large-symbolic.svg similarity index 100% rename from res/gtk/icons/refresh-large-symbolic.svg rename to resources/gtk/icons/refresh-large-symbolic.svg diff --git a/res/gtk/icons/right-large-symbolic.svg b/resources/gtk/icons/right-large-symbolic.svg similarity index 100% rename from res/gtk/icons/right-large-symbolic.svg rename to resources/gtk/icons/right-large-symbolic.svg diff --git a/res/gtk/icons/settings-symbolic.svg b/resources/gtk/icons/settings-symbolic.svg similarity index 100% rename from res/gtk/icons/settings-symbolic.svg rename to resources/gtk/icons/settings-symbolic.svg diff --git a/res/gtk/icons/step-out-symbolic.svg b/resources/gtk/icons/step-out-symbolic.svg similarity index 100% rename from res/gtk/icons/step-out-symbolic.svg rename to resources/gtk/icons/step-out-symbolic.svg diff --git a/res/gtk/icons/table-symbolic.svg b/resources/gtk/icons/table-symbolic.svg similarity index 98% rename from res/gtk/icons/table-symbolic.svg rename to resources/gtk/icons/table-symbolic.svg index aff0637..a5222ec 100644 --- a/res/gtk/icons/table-symbolic.svg +++ b/resources/gtk/icons/table-symbolic.svg @@ -1,14 +1,14 @@ - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/res/gtk/icons/terminal-symbolic.svg b/resources/gtk/icons/terminal-symbolic.svg similarity index 100% rename from res/gtk/icons/terminal-symbolic.svg rename to resources/gtk/icons/terminal-symbolic.svg diff --git a/res/gtk/icons/test-pass-symbolic.svg b/resources/gtk/icons/test-pass-symbolic.svg similarity index 100% rename from res/gtk/icons/test-pass-symbolic.svg rename to resources/gtk/icons/test-pass-symbolic.svg diff --git a/res/gtk/icons/text-sql-symbolic.svg b/resources/gtk/icons/text-sql-symbolic.svg similarity index 100% rename from res/gtk/icons/text-sql-symbolic.svg rename to resources/gtk/icons/text-sql-symbolic.svg diff --git a/res/gtk/icons/webview-filler-symbolic.svg b/resources/gtk/icons/webview-filler-symbolic.svg similarity index 100% rename from res/gtk/icons/webview-filler-symbolic.svg rename to resources/gtk/icons/webview-filler-symbolic.svg diff --git a/res/gtk/preferences-window.blp b/resources/gtk/preferences-window.blp similarity index 100% rename from res/gtk/preferences-window.blp rename to resources/gtk/preferences-window.blp diff --git a/res/gtk/query-editor.blp b/resources/gtk/query-editor.blp similarity index 100% rename from res/gtk/query-editor.blp rename to resources/gtk/query-editor.blp diff --git a/res/gtk/query-listitem.blp b/resources/gtk/query-listitem.blp similarity index 100% rename from res/gtk/query-listitem.blp rename to resources/gtk/query-listitem.blp diff --git a/res/gtk/query-results.blp b/resources/gtk/query-results.blp similarity index 100% rename from res/gtk/query-results.blp rename to resources/gtk/query-results.blp diff --git a/res/gtk/schema-view.blp b/resources/gtk/schema-view.blp similarity index 100% rename from res/gtk/schema-view.blp rename to resources/gtk/schema-view.blp diff --git a/res/gtk/style-switcher.blp b/resources/gtk/style-switcher.blp similarity index 100% rename from res/gtk/style-switcher.blp rename to resources/gtk/style-switcher.blp diff --git a/res/gtk/style.css b/resources/gtk/style.css similarity index 100% rename from res/gtk/style.css rename to resources/gtk/style.css diff --git a/res/gtk/table-cols.blp b/resources/gtk/table-cols.blp similarity index 100% rename from res/gtk/table-cols.blp rename to resources/gtk/table-cols.blp diff --git a/res/gtk/table-data-view.blp b/resources/gtk/table-data-view.blp similarity index 100% rename from res/gtk/table-data-view.blp rename to resources/gtk/table-data-view.blp diff --git a/res/gtk/table-fk.blp b/resources/gtk/table-fk.blp similarity index 100% rename from res/gtk/table-fk.blp rename to resources/gtk/table-fk.blp diff --git a/res/gtk/table-graph.blp b/resources/gtk/table-graph.blp similarity index 100% rename from res/gtk/table-graph.blp rename to resources/gtk/table-graph.blp diff --git a/res/gtk/table-index.blp b/resources/gtk/table-index.blp similarity index 100% rename from res/gtk/table-index.blp rename to resources/gtk/table-index.blp diff --git a/res/gtk/table-listitem.blp b/resources/gtk/table-listitem.blp similarity index 100% rename from res/gtk/table-listitem.blp rename to resources/gtk/table-listitem.blp diff --git a/res/gtk/table-row.blp b/resources/gtk/table-row.blp similarity index 100% rename from res/gtk/table-row.blp rename to resources/gtk/table-row.blp diff --git a/res/gtk/table-structure-view.blp b/resources/gtk/table-structure-view.blp similarity index 100% rename from res/gtk/table-structure-view.blp rename to resources/gtk/table-structure-view.blp diff --git a/res/gtk/view-data-view.blp b/resources/gtk/view-data-view.blp similarity index 100% rename from res/gtk/view-data-view.blp rename to resources/gtk/view-data-view.blp diff --git a/res/gtk/view-listitem.blp b/resources/gtk/view-listitem.blp similarity index 100% rename from res/gtk/view-listitem.blp rename to resources/gtk/view-listitem.blp diff --git a/res/gtk/view-structure-view.blp b/resources/gtk/view-structure-view.blp similarity index 70% rename from res/gtk/view-structure-view.blp rename to resources/gtk/view-structure-view.blp index 3a54af0..e7e27d1 100644 --- a/res/gtk/view-structure-view.blp +++ b/resources/gtk/view-structure-view.blp @@ -17,9 +17,9 @@ template $PsequelViewStructureView: Box { halign: start; } - $PsequelTableColInfo columns { - columns: bind template.columns; - } +// $PsequelTableColInfo columns { +// columns: bind template.columns; +// } Label { styles [ @@ -30,7 +30,7 @@ template $PsequelViewStructureView: Box { halign: start; } - $PsequelTableIndexInfo indexes { - indexes: bind template.indexes; - } +// $PsequelTableIndexInfo indexes { +// indexes: bind template.indexes; +// } } diff --git a/res/gtk/window.blp b/resources/gtk/window.blp similarity index 100% rename from res/gtk/window.blp rename to resources/gtk/window.blp diff --git a/resources/meson.build b/resources/meson.build new file mode 100644 index 0000000..82b0e81 --- /dev/null +++ b/resources/meson.build @@ -0,0 +1,109 @@ + + +blueprint_compiler = find_program('blueprint-compiler') + +# CURRENT_SOURCE_DIR relative to BUILDDIR blueprints_output_dir = meson.current_build_dir() +# This is a hack to make sure below target was run. For some reason you can't use example from blueprint docs. + +psequel_resources_dir = meson.current_build_dir() + +mark_ups = [ + 'gtk/connection-listitem.blp', + 'gtk/connection-row.blp', + 'gtk/connection-view.blp', + 'gtk/datacell.blp', + 'gtk/help-overlay.blp', + 'gtk/preferences-window.blp', + 'gtk/query-editor.blp', + 'gtk/query-listitem.blp', + 'gtk/query-results.blp', + 'gtk/schema-view.blp', + 'gtk/style-switcher.blp', + 'gtk/table-cols.blp', + 'gtk/table-data-view.blp', + 'gtk/table-fk.blp', + 'gtk/table-graph.blp', + 'gtk/table-index.blp', + 'gtk/table-listitem.blp', + 'gtk/table-row.blp', + 'gtk/table-structure-view.blp', + 'gtk/view-data-view.blp', + 'gtk/view-listitem.blp', + 'gtk/view-structure-view.blp', + 'gtk/window.blp', +] + +icons = [ + 'plus-large-symbolic.svg', + 'minus-large-symbolic.svg', + 'library-symbolic.svg', + 'object-rows-symbolic.svg', + 'terminal-symbolic.svg', + 'loupe-large-symbolic.svg', + 'refresh-large-symbolic.svg', + 'table-symbolic.svg', + 'columns-symbolic.svg', + 'step-out-symbolic.svg', + 'arrow-into-box-symbolic.svg', + 'category-search-symbolic.svg', + 'left-large-symbolic.svg', + 'right-large-symbolic.svg', + 'text-sql-symbolic.svg', + 'webview-filler-symbolic.svg', + 'settings-symbolic.svg', + 'test-pass-symbolic.svg', + 'history-undo-symbolic.svg', + 'check-plain-symbolic.svg', + 'export-symbolic.svg', + 'filemanager-app-symbolic.svg', + 'application-certificate-symbolic.svg', +] + + +blueprints = custom_target( + 'blueprints', + input: files(mark_ups), + build_by_default: true, + build_always_stale: true, + # This does not run if you use an dot (.) + output: '.', + command: [ + blueprint_compiler, + 'batch-compile', + '@OUTPUT@', + '@CURRENT_SOURCE_DIR@', + '@INPUT@', + ], +) + +ui_files = '' +foreach mark_up : mark_ups + filename = mark_up.replace('.blp', '.ui') + ui_files += f'@filename@' +endforeach + +icon_files = '' +foreach icon : icons + icon_files += f'gtk/icons/@icon@' +endforeach + +resource_data = configuration_data() +resource_data.set('PREFIX', app_resource_prefix) +resource_data.set('UI_FILES', ui_files) +resource_data.set('ICON_FILES', icon_files) + + +psequel_resources_xml = configure_file( + input: 'psequel.gresource.xml.in', + output: 'psequel.gresource.xml', + configuration: resource_data, +) + + +psequel_resources = gnome.compile_resources( + 'psequel_resources', + psequel_resources_xml, + c_name: 'psequel_resources', + dependencies: [blueprints], +) + diff --git a/res/migrations/version-0.sql b/resources/migrations/version-0.sql similarity index 100% rename from res/migrations/version-0.sql rename to resources/migrations/version-0.sql diff --git a/res/migrations/version-1.sql b/resources/migrations/version-1.sql similarity index 100% rename from res/migrations/version-1.sql rename to resources/migrations/version-1.sql diff --git a/resources/psequel.gresource.xml.in b/resources/psequel.gresource.xml.in new file mode 100644 index 0000000..35ed5d6 --- /dev/null +++ b/resources/psequel.gresource.xml.in @@ -0,0 +1,13 @@ + + + + gtk/style.css + migrations/version-0.sql + migrations/version-1.sql + @UI_FILES@ + + + + @ICON_FILES@ + + diff --git a/src/meson.build b/src/meson.build index b1b7fcc..27f0773 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,122 +1,134 @@ # Source code -psequel_sources = files([ +psequel_sources = files( 'models/Connection.vala', - 'models/Schema.vala', + 'models/Query.vala', 'models/Relation.vala', + 'models/Schema.vala', 'models/Table.vala', - 'models/Query.vala', - # 'models/utils.vala', - - 'services/SQLService.vala', - 'services/SQLCompletionService.vala', - 'services/ExportService.vala', - 'services/NavigationService.vala', - 'services/StorageService.vala', - 'services/Container.vala', - 'services/ResourceManager.vala', - 'services/SchemaService.vala', - 'services/MigrationService.vala', - 'repositories/ConnectionRepository.vala', 'repositories/QueryRepository.vala', 'repositories/SchemaRepository.vala', - + 'services/Container.vala', + 'services/ExportService.vala', + 'services/MigrationService.vala', +'services/NavigationService.vala', + 'services/ResourceManager.vala', + 'services/SQLCompletionService.vala', + 'services/SQLService.vala', + 'services/SchemaService.vala', + 'services/StorageService.vala', + 'utils/Event.vala', + 'utils/ObservableList.vala', + 'utils/ValueConverter.vala', + 'utils/errors.vala', + 'utils/logging.vala', + 'utils/types.vala', + 'viewmodels/BaseViewModel.vala', 'viewmodels/ConnectionViewModel.vala', - 'viewmodels/QueryViewModel.vala', 'viewmodels/QueryHistoryViewModel.vala', - 'viewmodels/BaseViewModel.vala', + 'viewmodels/QueryViewModel.vala', 'viewmodels/SchemaViewModel.vala', - 'viewmodels/TableViewModel.vala', - 'viewmodels/ViewStructureViewModel.vala', 'viewmodels/TableDataViewModel.vala', - 'viewmodels/ViewViewModel.vala', + 'viewmodels/TableViewModel.vala', 'viewmodels/ViewDataViewModel.vala', +'viewmodels/ViewStructureViewModel.vala', + 'viewmodels/ViewViewModel.vala', - 'utils/ObservableList.vala', - 'utils/ValueConverter.vala', - 'utils/Event.vala', - 'utils/logging.vala', - 'utils/errors.vala', - 'utils/types.vala', -]) +) -ui_sources = files([ - 'ui/views/ConnectionView.vala', - 'ui/views/SchemaView.vala', +ui_sources = files( + 'ui/PreferencesWindow.vala', +'ui/Window.vala', + 'ui/editor/QueryEditor.vala', 'ui/schema/QueryResult.vala', - 'ui/schema/ViewStructureView.vala', 'ui/schema/TableDataView.vala', 'ui/schema/ViewDataView.vala', - +'ui/schema/ViewStructureView.vala', + 'ui/views/ConnectionView.vala', + 'ui/views/SchemaView.vala', 'ui/widgets/DataCell.vala', - 'ui/widgets/TableRow.vala', - 'ui/widgets/TableGraph.vala', 'ui/widgets/Shape.vala', 'ui/widgets/StyleSwitcher.vala', - - 'ui/editor/QueryEditor.vala', - 'ui/Window.vala', - 'ui/PreferencesWindow.vala', - +'ui/widgets/TableGraph.vala', + 'ui/widgets/TableRow.vala', 'utils/helpers.vala', - -]) - -# add_project_arguments(['--gresourcesdir', 'res/' ], language: 'vala') -# add_project_arguments(['--enable-experimental' ], language: 'vala') +) # Create config data, this will create a config.h file, then be bind to Config class. +vapi_dir = join_paths(meson.current_source_dir(), 'vapi') conf = configuration_data() + conf.set_quoted('APP_ID', app_id) conf.set_quoted('APP_NAME', 'Psequel') conf.set_quoted('G_LOG_DOMAIN', 'Psequel') conf.set_quoted('VERSION', meson.project_version()) conf.set_quoted('GETTEXT_PACKAGE', meson.project_name()) -conf.set_quoted('DATADIR', join_paths(get_option('prefix'), get_option('datadir'))) -conf.set_quoted('GNOMELOCALEDIR', join_paths(get_option('prefix'), get_option('localedir'))) +conf.set_quoted( + 'DATADIR', + join_paths(get_option('prefix'), get_option('datadir')), +) +conf.set_quoted( + 'GNOMELOCALEDIR', + join_paths(get_option('prefix'), get_option('localedir')), +) configure_file(output: 'config.h', configuration: conf) -csv_dep = dependency('csv', required : false) +csv_dep = dependency('csv', required: false) if not csv_dep.found() - libsimple_proj = subproject('libcsv') - libsimple_dep = libsimple_proj.get_variable('libcsv_deps') + libsimple_proj = subproject('libcsv') + libsimple_dep = libsimple_proj.get_variable('libcsv_deps') endif cc = meson.get_compiler('c') -math_dep = cc.find_library('m', required : false) +math_dep = cc.find_library('m', required: false) psequel_deps = [ - dependency('glib-2.0', version: '>=2.74'), - dependency('gtk4', version: '>=4.10'), - dependency('libadwaita-1', version: '>= 1.4'), - dependency('json-glib-1.0', version: '>= 1.6'), - dependency('gtksourceview-5', version: '>= 5.0'), - dependency('libpq', version: '>= 15.3'), - dependency('sqlite3'), - csv_dep, - math_dep, - dependency('pgquery-vala'), - valac.find_library('config', dirs: vapi_dir), + dependency('glib-2.0', version: '>=2.74'), + dependency('gtk4', version: '>=4.10'), + dependency('libadwaita-1', version: '>= 1.4'), + dependency('json-glib-1.0', version: '>= 1.6'), + dependency('gtksourceview-5', version: '>= 5.0'), + dependency('libpq', version: '>= 15.3'), + dependency('sqlite3'), + csv_dep, + math_dep, + dependency('pgquery-vala'), + valac.find_library('config', dirs: vapi_dir), ] - +add_project_arguments(['--vapidir', vapi_dir], language: 'vala') add_project_arguments( - '-include', 'config.h', + '-include', + 'config.h', '-DGETTEXT_PACKAGE="@0@"'.format(meson.project_name()), - language: 'c' + language: 'c', +) +add_project_arguments( + [ + '-Wall', + '-Wno-pointer-sign', + '-Wno-deprecated-declarations', + '-Wno-format', + '-Wno-unused', + '-Wno-address', + '-Wno-switch', + '-Wno-incompatible-pointer-types', + '-Wno-discarded-qualifiers', + ], + language: 'c', ) -add_project_arguments(['-D', 'WITH_CGRAPH'], language: 'vala') -psequel_sources_main = psequel_sources + ui_sources + files(['application.vala']) -executable(meson.project_name(), [blueprint_hack, psequel_resources, psequel_sources_main], - dependencies: psequel_deps, - vala_args: [ - '--gresourcesdir=' + blueprints_output_dir, - ], - install: true, -) \ No newline at end of file + +psequel_sources_main = psequel_sources + ui_sources + files('application.vala') + +executable( + app_name, + [psequel_resources, psequel_sources_main], + dependencies: psequel_deps, + install: true, +) diff --git a/src/repositories/ConnectionRepository.vala b/src/repositories/ConnectionRepository.vala index 1efc3a6..46b7bb5 100644 --- a/src/repositories/ConnectionRepository.vala +++ b/src/repositories/ConnectionRepository.vala @@ -61,7 +61,7 @@ public class ConnectionRepository : Object { connection.id = db.last_insert_rowid(); - debug("id = %lli", connection.id); + debug("id = %lld", connection.id); return(connection); }