Browse Source

Merge pull request #868 from falkTX/high-dpi

Initial work for high-dpi display support
tags/v2.1-rc1
Filipe Coelho GitHub 6 years ago
parent
commit
b3af597e23
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
82 changed files with 377 additions and 168 deletions
  1. BIN
      resources/16x16/application-exit.png
  2. BIN
      resources/16x16/application-exit.svgz
  3. BIN
      resources/16x16/arrow-right.png
  4. BIN
      resources/16x16/arrow-right.svgz
  5. BIN
      resources/16x16/configure.png
  6. BIN
      resources/16x16/configure.svgz
  7. BIN
      resources/16x16/dialog-cancel.png
  8. BIN
      resources/16x16/dialog-cancel.svgz
  9. BIN
      resources/16x16/dialog-error.png
  10. BIN
      resources/16x16/dialog-error.svgz
  11. BIN
      resources/16x16/dialog-information.png
  12. BIN
      resources/16x16/dialog-information.svgz
  13. BIN
      resources/16x16/dialog-ok-apply.png
  14. BIN
      resources/16x16/dialog-ok-apply.svgz
  15. BIN
      resources/16x16/dialog-warning.png
  16. BIN
      resources/16x16/dialog-warning.svgz
  17. BIN
      resources/16x16/document-new.png
  18. BIN
      resources/16x16/document-new.svgz
  19. BIN
      resources/16x16/document-open.png
  20. BIN
      resources/16x16/document-open.svgz
  21. BIN
      resources/16x16/document-print.png
  22. BIN
      resources/16x16/document-save-as.png
  23. BIN
      resources/16x16/document-save-as.svgz
  24. BIN
      resources/16x16/document-save.png
  25. BIN
      resources/16x16/document-save.svgz
  26. BIN
      resources/16x16/edit-delete.png
  27. BIN
      resources/16x16/edit-delete.svgz
  28. BIN
      resources/16x16/edit-rename.png
  29. BIN
      resources/16x16/edit-rename.svgz
  30. BIN
      resources/16x16/list-add.png
  31. BIN
      resources/16x16/list-add.svgz
  32. BIN
      resources/16x16/list-remove.png
  33. BIN
      resources/16x16/list-remove.svgz
  34. BIN
      resources/16x16/media-playback-pause.png
  35. BIN
      resources/16x16/media-playback-pause.svgz
  36. BIN
      resources/16x16/media-playback-start.png
  37. BIN
      resources/16x16/media-playback-start.svgz
  38. BIN
      resources/16x16/media-playback-stop.png
  39. BIN
      resources/16x16/media-playback-stop.svgz
  40. BIN
      resources/16x16/media-seek-backward.png
  41. BIN
      resources/16x16/media-seek-backward.svgz
  42. BIN
      resources/16x16/media-seek-forward.png
  43. BIN
      resources/16x16/media-seek-forward.svgz
  44. BIN
      resources/16x16/network-connect.png
  45. BIN
      resources/16x16/network-connect.svgz
  46. BIN
      resources/16x16/view-refresh.png
  47. BIN
      resources/16x16/view-refresh.svgz
  48. BIN
      resources/16x16/view-sort-ascending.png
  49. BIN
      resources/16x16/view-sort-ascending.svgz
  50. BIN
      resources/16x16/window-close.png
  51. BIN
      resources/16x16/window-close.svgz
  52. BIN
      resources/16x16/zoom-fit-best.png
  53. BIN
      resources/16x16/zoom-fit-best.svgz
  54. BIN
      resources/16x16/zoom-in.png
  55. BIN
      resources/16x16/zoom-in.svgz
  56. BIN
      resources/16x16/zoom-original.png
  57. BIN
      resources/16x16/zoom-original.svgz
  58. BIN
      resources/16x16/zoom-out.png
  59. BIN
      resources/16x16/zoom-out.svgz
  60. BIN
      resources/48x48/folder.png
  61. BIN
      resources/48x48/osc.png
  62. BIN
      resources/48x48/warning.png
  63. BIN
      resources/48x48/wine.png
  64. +34
    -37
      resources/resources.qrc
  65. BIN
      resources/scalable/folder.svgz
  66. BIN
      resources/scalable/osc.svgz
  67. BIN
      resources/scalable/warning.svgz
  68. BIN
      resources/scalable/wine.svgz
  69. +2
    -2
      resources/ui/carla_about.ui
  70. +3
    -3
      resources/ui/carla_database.ui
  71. +32
    -41
      resources/ui/carla_host.ui
  72. +48
    -18
      resources/ui/carla_refresh.ui
  73. +102
    -24
      resources/ui/carla_settings.ui
  74. +1
    -1
      resources/ui/carla_settings_driver.ui
  75. +4
    -0
      source/frontend/carla_app.py
  76. +3
    -2
      source/frontend/carla_database.py
  77. +11
    -4
      source/frontend/carla_host.py
  78. +12
    -8
      source/frontend/patchcanvas/canvasbox.py
  79. +17
    -4
      source/frontend/patchcanvas/scene.py
  80. +97
    -22
      source/theme/CarlaStyle.cpp
  81. +9
    -1
      source/theme/CarlaStyle.hpp
  82. +2
    -1
      source/theme/CarlaStylePrivate.hpp

BIN
resources/16x16/application-exit.png View File

Before After
Width: 16  |  Height: 16  |  Size: 1.0KB

BIN
resources/16x16/application-exit.svgz View File


BIN
resources/16x16/arrow-right.png View File

Before After
Width: 16  |  Height: 16  |  Size: 496B

BIN
resources/16x16/arrow-right.svgz View File


BIN
resources/16x16/configure.png View File

Before After
Width: 16  |  Height: 16  |  Size: 698B

BIN
resources/16x16/configure.svgz View File


BIN
resources/16x16/dialog-cancel.png View File

Before After
Width: 16  |  Height: 16  |  Size: 813B

BIN
resources/16x16/dialog-cancel.svgz View File


BIN
resources/16x16/dialog-error.png View File

Before After
Width: 16  |  Height: 16  |  Size: 747B

BIN
resources/16x16/dialog-error.svgz View File


BIN
resources/16x16/dialog-information.png View File

Before After
Width: 16  |  Height: 16  |  Size: 845B

BIN
resources/16x16/dialog-information.svgz View File


BIN
resources/16x16/dialog-ok-apply.png View File

Before After
Width: 16  |  Height: 16  |  Size: 545B

BIN
resources/16x16/dialog-ok-apply.svgz View File


BIN
resources/16x16/dialog-warning.png View File

Before After
Width: 16  |  Height: 16  |  Size: 618B

BIN
resources/16x16/dialog-warning.svgz View File


BIN
resources/16x16/document-new.png View File

Before After
Width: 16  |  Height: 16  |  Size: 586B

BIN
resources/16x16/document-new.svgz View File


BIN
resources/16x16/document-open.png View File

Before After
Width: 16  |  Height: 16  |  Size: 844B

BIN
resources/16x16/document-open.svgz View File


BIN
resources/16x16/document-print.png View File

Before After
Width: 16  |  Height: 16  |  Size: 567B

BIN
resources/16x16/document-save-as.png View File

Before After
Width: 16  |  Height: 16  |  Size: 843B

BIN
resources/16x16/document-save-as.svgz View File


BIN
resources/16x16/document-save.png View File

Before After
Width: 16  |  Height: 16  |  Size: 629B

BIN
resources/16x16/document-save.svgz View File


BIN
resources/16x16/edit-delete.png View File

Before After
Width: 16  |  Height: 16  |  Size: 570B

BIN
resources/16x16/edit-delete.svgz View File


BIN
resources/16x16/edit-rename.png View File

Before After
Width: 16  |  Height: 16  |  Size: 171B

BIN
resources/16x16/edit-rename.svgz View File


BIN
resources/16x16/list-add.png View File

Before After
Width: 16  |  Height: 16  |  Size: 553B

BIN
resources/16x16/list-add.svgz View File


BIN
resources/16x16/list-remove.png View File

Before After
Width: 16  |  Height: 16  |  Size: 323B

BIN
resources/16x16/list-remove.svgz View File


BIN
resources/16x16/media-playback-pause.png View File

Before After
Width: 16  |  Height: 16  |  Size: 458B

BIN
resources/16x16/media-playback-pause.svgz View File


BIN
resources/16x16/media-playback-start.png View File

Before After
Width: 16  |  Height: 16  |  Size: 470B

BIN
resources/16x16/media-playback-start.svgz View File


BIN
resources/16x16/media-playback-stop.png View File

Before After
Width: 16  |  Height: 16  |  Size: 470B

BIN
resources/16x16/media-playback-stop.svgz View File


BIN
resources/16x16/media-seek-backward.png View File

Before After
Width: 16  |  Height: 16  |  Size: 485B

BIN
resources/16x16/media-seek-backward.svgz View File


BIN
resources/16x16/media-seek-forward.png View File

Before After
Width: 16  |  Height: 16  |  Size: 482B

BIN
resources/16x16/media-seek-forward.svgz View File


BIN
resources/16x16/network-connect.png View File

Before After
Width: 16  |  Height: 16  |  Size: 736B

BIN
resources/16x16/network-connect.svgz View File


BIN
resources/16x16/view-refresh.png View File

Before After
Width: 16  |  Height: 16  |  Size: 1.1KB

BIN
resources/16x16/view-refresh.svgz View File


BIN
resources/16x16/view-sort-ascending.png View File

Before After
Width: 16  |  Height: 16  |  Size: 655B

BIN
resources/16x16/view-sort-ascending.svgz View File


BIN
resources/16x16/window-close.png View File

Before After
Width: 16  |  Height: 16  |  Size: 992B

BIN
resources/16x16/window-close.svgz View File


BIN
resources/16x16/zoom-fit-best.png View File

Before After
Width: 16  |  Height: 16  |  Size: 525B

BIN
resources/16x16/zoom-fit-best.svgz View File


BIN
resources/16x16/zoom-in.png View File

Before After
Width: 16  |  Height: 16  |  Size: 809B

BIN
resources/16x16/zoom-in.svgz View File


BIN
resources/16x16/zoom-original.png View File

Before After
Width: 16  |  Height: 16  |  Size: 816B

BIN
resources/16x16/zoom-original.svgz View File


BIN
resources/16x16/zoom-out.png View File

Before After
Width: 16  |  Height: 16  |  Size: 818B

BIN
resources/16x16/zoom-out.svgz View File


BIN
resources/48x48/folder.png View File

Before After
Width: 48  |  Height: 48  |  Size: 2.1KB

BIN
resources/48x48/osc.png View File

Before After
Width: 48  |  Height: 48  |  Size: 2.7KB

BIN
resources/48x48/warning.png View File

Before After
Width: 48  |  Height: 48  |  Size: 2.3KB

BIN
resources/48x48/wine.png View File

Before After
Width: 48  |  Height: 48  |  Size: 2.2KB

+ 34
- 37
resources/resources.qrc View File

@@ -3,53 +3,50 @@
<file>16x16/carla.png</file>
<file>16x16/carla-control.png</file>

<file>16x16/application-exit.png</file>
<file>16x16/arrow-right.png</file>
<file>16x16/configure.png</file>
<file>16x16/dialog-cancel.png</file>
<file>16x16/dialog-error.png</file>
<file>16x16/dialog-information.png</file>
<file>16x16/dialog-ok-apply.png</file>
<file>16x16/dialog-warning.png</file>
<file>16x16/document-new.png</file>
<file>16x16/document-open.png</file>
<file>16x16/document-print.png</file>
<file>16x16/document-save.png</file>
<file>16x16/document-save-as.png</file>
<file>16x16/edit-delete.png</file>
<file>16x16/edit-rename.png</file>
<file>16x16/list-add.png</file>
<file>16x16/list-remove.png</file>
<file>16x16/media-playback-pause.png</file>
<file>16x16/media-playback-start.png</file>
<file>16x16/media-playback-stop.png</file>
<file>16x16/media-seek-backward.png</file>
<file>16x16/media-seek-forward.png</file>
<file>16x16/network-connect.png</file>
<file>16x16/view-refresh.png</file>
<file>16x16/view-sort-ascending.png</file>
<file>16x16/window-close.png</file>
<file>16x16/zoom-fit-best.png</file>
<file>16x16/zoom-in.png</file>
<file>16x16/zoom-original.png</file>
<file>16x16/zoom-out.png</file>
<file>16x16/application-exit.svgz</file>
<file>16x16/arrow-right.svgz</file>
<file>16x16/configure.svgz</file>
<file>16x16/dialog-cancel.svgz</file>
<file>16x16/dialog-error.svgz</file>
<file>16x16/dialog-information.svgz</file>
<file>16x16/dialog-ok-apply.svgz</file>
<file>16x16/dialog-warning.svgz</file>
<file>16x16/document-new.svgz</file>
<file>16x16/document-open.svgz</file>
<file>16x16/document-save.svgz</file>
<file>16x16/document-save-as.svgz</file>
<file>16x16/edit-delete.svgz</file>
<file>16x16/edit-rename.svgz</file>
<file>16x16/list-add.svgz</file>
<file>16x16/list-remove.svgz</file>
<file>16x16/media-playback-pause.svgz</file>
<file>16x16/media-playback-start.svgz</file>
<file>16x16/media-playback-stop.svgz</file>
<file>16x16/media-seek-backward.svgz</file>
<file>16x16/media-seek-forward.svgz</file>
<file>16x16/network-connect.svgz</file>
<file>16x16/view-refresh.svgz</file>
<file>16x16/view-sort-ascending.svgz</file>
<file>16x16/window-close.svgz</file>
<file>16x16/zoom-fit-best.svgz</file>
<file>16x16/zoom-in.svgz</file>
<file>16x16/zoom-original.svgz</file>
<file>16x16/zoom-out.svgz</file>

<file>48x48/carla.png</file>
<file>48x48/carla-control.png</file>

<file>48x48/canvas.png</file>
<file>48x48/folder.png</file>
<file>48x48/jack.png</file>
<file>48x48/juce.png</file>
<file>48x48/osc.png</file>
<file>48x48/warning.png</file>
<file>48x48/wine.png</file>

<file>48x48/carla.png</file>
<file>48x48/carla-control.png</file>

<file>scalable/carla.svg</file>
<file>scalable/carla-control.svg</file>
<file>scalable/folder.svgz</file>
<file>scalable/osc.svgz</file>
<file>scalable/warning.svgz</file>
<file>scalable/wine.svgz</file>

<file>bitmaps/carla_about_black.png</file>
<file>bitmaps/carla_about_white.png</file>


BIN
resources/scalable/folder.svgz View File


BIN
resources/scalable/osc.svgz View File


BIN
resources/scalable/warning.svgz View File


BIN
resources/scalable/wine.svgz View File


+ 2
- 2
resources/ui/carla_about.ui View File

@@ -496,7 +496,7 @@
<enum>Qt::PlainText</enum>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/48x48/carla.png</pixmap>
<pixmap resource="../resources.qrc">:/scalable/carla.svg</pixmap>
</property>
</widget>
</item>
@@ -521,7 +521,7 @@
<enum>Qt::PlainText</enum>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/48x48/carla-control.png</pixmap>
<pixmap resource="../resources.qrc">:/scalable/carla-control.svg</pixmap>
</property>
</widget>
</item>


+ 3
- 3
resources/ui/carla_database.ui View File

@@ -46,7 +46,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/view-refresh.png</normaloff>:/16x16/view-refresh.png</iconset>
<normaloff>:/16x16/view-refresh.svgz</normaloff>:/16x16/view-refresh.svgz</iconset>
</property>
</widget>
</item>
@@ -390,7 +390,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/list-add.png</normaloff>:/16x16/list-add.png</iconset>
<normaloff>:/16x16/list-add.svgz</normaloff>:/16x16/list-add.svgz</iconset>
</property>
</widget>
</item>
@@ -401,7 +401,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/dialog-cancel.png</normaloff>:/16x16/dialog-cancel.png</iconset>
<normaloff>:/16x16/dialog-cancel.svgz</normaloff>:/16x16/dialog-cancel.svgz</iconset>
</property>
</widget>
</item>


+ 32
- 41
resources/ui/carla_host.ui View File

@@ -570,7 +570,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/list-add.png</normaloff>:/16x16/list-add.png</iconset>
<normaloff>:/16x16/list-add.svgz</normaloff>:/16x16/list-add.svgz</iconset>
</property>
</widget>
</item>
@@ -584,7 +584,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/list-remove.png</normaloff>:/16x16/list-remove.png</iconset>
<normaloff>:/16x16/list-remove.svgz</normaloff>:/16x16/list-remove.svgz</iconset>
</property>
</widget>
</item>
@@ -623,7 +623,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/media-playback-start.png</normaloff>:/16x16/media-playback-start.png</iconset>
<normaloff>:/16x16/media-playback-start.svgz</normaloff>:/16x16/media-playback-start.svgz</iconset>
</property>
<property name="checkable">
<bool>true</bool>
@@ -637,7 +637,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/media-playback-stop.png</normaloff>:/16x16/media-playback-stop.png</iconset>
<normaloff>:/16x16/media-playback-stop.svgz</normaloff>:/16x16/media-playback-stop.svgz</iconset>
</property>
</widget>
</item>
@@ -648,7 +648,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/media-seek-backward.png</normaloff>:/16x16/media-seek-backward.png</iconset>
<normaloff>:/16x16/media-seek-backward.svgz</normaloff>:/16x16/media-seek-backward.svgz</iconset>
</property>
<property name="autoRepeat">
<bool>true</bool>
@@ -662,7 +662,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/media-seek-forward.png</normaloff>:/16x16/media-seek-forward.png</iconset>
<normaloff>:/16x16/media-seek-forward.svgz</normaloff>:/16x16/media-seek-forward.svgz</iconset>
</property>
<property name="autoRepeat">
<bool>true</bool>
@@ -946,7 +946,7 @@
<action name="act_file_new">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/document-new.png</normaloff>:/16x16/document-new.png</iconset>
<normaloff>:/16x16/document-new.svgz</normaloff>:/16x16/document-new.svgz</iconset>
</property>
<property name="text">
<string>&amp;New</string>
@@ -958,7 +958,7 @@
<action name="act_file_open">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/document-open.png</normaloff>:/16x16/document-open.png</iconset>
<normaloff>:/16x16/document-open.svgz</normaloff>:/16x16/document-open.svgz</iconset>
</property>
<property name="text">
<string>&amp;Open...</string>
@@ -976,7 +976,7 @@
<action name="act_file_save">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/document-save.png</normaloff>:/16x16/document-save.png</iconset>
<normaloff>:/16x16/document-save.svgz</normaloff>:/16x16/document-save.svgz</iconset>
</property>
<property name="text">
<string>&amp;Save</string>
@@ -988,7 +988,7 @@
<action name="act_file_save_as">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/document-save-as.png</normaloff>:/16x16/document-save-as.png</iconset>
<normaloff>:/16x16/document-save-as.svgz</normaloff>:/16x16/document-save-as.svgz</iconset>
</property>
<property name="text">
<string>Save &amp;As...</string>
@@ -1006,7 +1006,7 @@
<action name="act_file_quit">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/application-exit.png</normaloff>:/16x16/application-exit.png</iconset>
<normaloff>:/16x16/application-exit.svgz</normaloff>:/16x16/application-exit.svgz</iconset>
</property>
<property name="text">
<string>&amp;Quit</string>
@@ -1018,7 +1018,7 @@
<action name="act_engine_start">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/media-playback-start.png</normaloff>:/16x16/media-playback-start.png</iconset>
<normaloff>:/16x16/media-playback-start.svgz</normaloff>:/16x16/media-playback-start.svgz</iconset>
</property>
<property name="text">
<string>&amp;Start</string>
@@ -1030,7 +1030,7 @@
<action name="act_engine_stop">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/media-playback-stop.png</normaloff>:/16x16/media-playback-stop.png</iconset>
<normaloff>:/16x16/media-playback-stop.svgz</normaloff>:/16x16/media-playback-stop.svgz</iconset>
</property>
<property name="text">
<string>St&amp;op</string>
@@ -1042,7 +1042,7 @@
<action name="act_plugin_add">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/list-add.png</normaloff>:/16x16/list-add.png</iconset>
<normaloff>:/16x16/list-add.svgz</normaloff>:/16x16/list-add.svgz</iconset>
</property>
<property name="text">
<string>&amp;Add Plugin...</string>
@@ -1054,7 +1054,7 @@
<action name="act_plugin_add2">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/list-add.png</normaloff>:/16x16/list-add.png</iconset>
<normaloff>:/16x16/list-add.svgz</normaloff>:/16x16/list-add.svgz</iconset>
</property>
<property name="text">
<string>Add Plugin...</string>
@@ -1069,7 +1069,7 @@
<action name="act_plugin_remove_all">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/edit-delete.png</normaloff>:/16x16/edit-delete.png</iconset>
<normaloff>:/16x16/edit-delete.svgz</normaloff>:/16x16/edit-delete.svgz</iconset>
</property>
<property name="text">
<string>&amp;Remove All</string>
@@ -1113,7 +1113,7 @@
<action name="act_plugins_panic">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/dialog-warning.png</normaloff>:/16x16/dialog-warning.png</iconset>
<normaloff>:/16x16/dialog-warning.svgz</normaloff>:/16x16/dialog-warning.svgz</iconset>
</property>
<property name="text">
<string>Panic</string>
@@ -1125,7 +1125,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/media-playback-start.png</normaloff>:/16x16/media-playback-start.png</iconset>
<normaloff>:/16x16/media-playback-start.svgz</normaloff>:/16x16/media-playback-start.svgz</iconset>
</property>
<property name="text">
<string>&amp;Play</string>
@@ -1137,7 +1137,7 @@
<action name="act_transport_stop">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/media-playback-stop.png</normaloff>:/16x16/media-playback-stop.png</iconset>
<normaloff>:/16x16/media-playback-stop.svgz</normaloff>:/16x16/media-playback-stop.svgz</iconset>
</property>
<property name="text">
<string>&amp;Stop</string>
@@ -1149,7 +1149,7 @@
<action name="act_transport_backwards">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/media-seek-backward.png</normaloff>:/16x16/media-seek-backward.png</iconset>
<normaloff>:/16x16/media-seek-backward.svgz</normaloff>:/16x16/media-seek-backward.svgz</iconset>
</property>
<property name="text">
<string>&amp;Backwards</string>
@@ -1161,7 +1161,7 @@
<action name="act_transport_forwards">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/media-seek-forward.png</normaloff>:/16x16/media-seek-forward.png</iconset>
<normaloff>:/16x16/media-seek-forward.svgz</normaloff>:/16x16/media-seek-forward.svgz</iconset>
</property>
<property name="text">
<string>&amp;Forwards</string>
@@ -1173,7 +1173,7 @@
<action name="act_canvas_arrange">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/view-sort-ascending.png</normaloff>:/16x16/view-sort-ascending.png</iconset>
<normaloff>:/16x16/view-sort-ascending.svgz</normaloff>:/16x16/view-sort-ascending.svgz</iconset>
</property>
<property name="text">
<string>&amp;Arrange</string>
@@ -1185,7 +1185,7 @@
<action name="act_canvas_refresh">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/view-refresh.png</normaloff>:/16x16/view-refresh.png</iconset>
<normaloff>:/16x16/view-refresh.svgz</normaloff>:/16x16/view-refresh.svgz</iconset>
</property>
<property name="text">
<string>&amp;Refresh</string>
@@ -1194,15 +1194,6 @@
<string>Ctrl+R</string>
</property>
</action>
<action name="act_canvas_print">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/document-print.png</normaloff>:/16x16/document-print.png</iconset>
</property>
<property name="text">
<string>&amp;Print...</string>
</property>
</action>
<action name="act_canvas_save_image">
<property name="text">
<string>Save &amp;Image...</string>
@@ -1211,7 +1202,7 @@
<action name="act_canvas_zoom_fit">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/zoom-fit-best.png</normaloff>:/16x16/zoom-fit-best.png</iconset>
<normaloff>:/16x16/zoom-fit-best.svgz</normaloff>:/16x16/zoom-fit-best.svgz</iconset>
</property>
<property name="text">
<string>Auto-Fit</string>
@@ -1223,7 +1214,7 @@
<action name="act_canvas_zoom_in">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/zoom-in.png</normaloff>:/16x16/zoom-in.png</iconset>
<normaloff>:/16x16/zoom-in.svgz</normaloff>:/16x16/zoom-in.svgz</iconset>
</property>
<property name="text">
<string>Zoom In</string>
@@ -1235,7 +1226,7 @@
<action name="act_canvas_zoom_out">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/zoom-out.png</normaloff>:/16x16/zoom-out.png</iconset>
<normaloff>:/16x16/zoom-out.svgz</normaloff>:/16x16/zoom-out.svgz</iconset>
</property>
<property name="text">
<string>Zoom Out</string>
@@ -1247,7 +1238,7 @@
<action name="act_canvas_zoom_100">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/zoom-original.png</normaloff>:/16x16/zoom-original.png</iconset>
<normaloff>:/16x16/zoom-original.svgz</normaloff>:/16x16/zoom-original.svgz</iconset>
</property>
<property name="text">
<string>Zoom 100%</string>
@@ -1267,7 +1258,7 @@
<action name="act_settings_configure">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/configure.png</normaloff>:/16x16/configure.png</iconset>
<normaloff>:/16x16/configure.svgz</normaloff>:/16x16/configure.svgz</iconset>
</property>
<property name="text">
<string>&amp;Configure Carla</string>
@@ -1339,7 +1330,7 @@
<action name="act_file_connect">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/network-connect.png</normaloff>:/16x16/network-connect.png</iconset>
<normaloff>:/16x16/network-connect.svgz</normaloff>:/16x16/network-connect.svgz</iconset>
</property>
<property name="text">
<string>&amp;Connect...</string>
@@ -1348,7 +1339,7 @@
<action name="act_file_refresh">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/view-refresh.png</normaloff>:/16x16/view-refresh.png</iconset>
<normaloff>:/16x16/view-refresh.svgz</normaloff>:/16x16/view-refresh.svgz</iconset>
</property>
<property name="text">
<string>&amp;Refresh</string>
@@ -1392,7 +1383,7 @@
<action name="act_add_jack">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/list-add.png</normaloff>:/16x16/list-add.png</iconset>
<normaloff>:/16x16/list-add.svgz</normaloff>:/16x16/list-add.svgz</iconset>
</property>
<property name="text">
<string>Add &amp;JACK Application</string>
@@ -1407,7 +1398,7 @@
<action name="act_plugin_add_jack">
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/list-add.png</normaloff>:/16x16/list-add.png</iconset>
<normaloff>:/16x16/list-add.svgz</normaloff>:/16x16/list-add.svgz</iconset>
</property>
<property name="text">
<string>Add &amp;JACK Application...</string>


+ 48
- 18
resources/ui/carla_refresh.ui View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>567</width>
<height>326</height>
<width>686</width>
<height>330</height>
</rect>
</property>
<property name="windowTitle">
@@ -242,15 +242,18 @@
<widget class="QLabel" name="ico_native">
<property name="maximumSize">
<size>
<width>22</width>
<height>16777215</height>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
@@ -258,15 +261,18 @@
<widget class="QLabel" name="ico_posix32">
<property name="maximumSize">
<size>
<width>22</width>
<height>16777215</height>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
@@ -293,11 +299,20 @@
</item>
<item row="2" column="0">
<widget class="QLabel" name="ico_posix64">
<property name="maximumSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
@@ -305,15 +320,18 @@
<widget class="QLabel" name="ico_rdflib">
<property name="maximumSize">
<size>
<width>22</width>
<height>16777215</height>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
@@ -328,25 +346,37 @@
<widget class="QLabel" name="ico_win32">
<property name="maximumSize">
<size>
<width>22</width>
<height>16777215</height>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="ico_win64">
<property name="maximumSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-ok-apply.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
@@ -480,7 +510,7 @@ You can disable these checks to get a faster scanning time (at your own risk).</
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/arrow-right.png</normaloff>:/16x16/arrow-right.png</iconset>
<normaloff>:/16x16/arrow-right.svgz</normaloff>:/16x16/arrow-right.svgz</iconset>
</property>
</widget>
</item>
@@ -498,7 +528,7 @@ You can disable these checks to get a faster scanning time (at your own risk).</
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/window-close.png</normaloff>:/16x16/window-close.png</iconset>
<normaloff>:/16x16/window-close.svgz</normaloff>:/16x16/window-close.svgz</iconset>
</property>
</widget>
</item>


+ 102
- 24
resources/ui/carla_settings.ui View File

@@ -118,7 +118,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/48x48/carla.png</normaloff>:/48x48/carla.png</iconset>
<normaloff>:/scalable/carla.svg</normaloff>:/scalable/carla.svg</iconset>
</property>
<property name="flags">
<set>ItemIsSelectable|ItemIsEnabled</set>
@@ -178,7 +178,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/48x48/osc.png</normaloff>:/48x48/osc.png</iconset>
<normaloff>:/scalable/osc.svgz</normaloff>:/scalable/osc.svgz</iconset>
</property>
<property name="flags">
<set>ItemIsSelectable|ItemIsEnabled</set>
@@ -196,7 +196,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/48x48/folder.png</normaloff>:/48x48/folder.png</iconset>
<normaloff>:/scalable/folder.svgz</normaloff>:/scalable/folder.svgz</iconset>
</property>
<property name="flags">
<set>ItemIsSelectable|ItemIsEnabled</set>
@@ -214,7 +214,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/48x48/wine.png</normaloff>:/48x48/wine.png</iconset>
<normaloff>:/scalable/wine.svgz</normaloff>:/scalable/wine.svgz</iconset>
</property>
<property name="flags">
<set>ItemIsSelectable|ItemIsEnabled</set>
@@ -232,7 +232,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/48x48/warning.png</normaloff>:/48x48/warning.png</iconset>
<normaloff>:/scalable/warning.svgz</normaloff>:/scalable/warning.svgz</iconset>
</property>
<property name="flags">
<set>ItemIsSelectable|ItemIsEnabled</set>
@@ -280,11 +280,20 @@
</item>
<item>
<widget class="QLabel" name="label_icon_main">
<property name="maximumSize">
<size>
<width>48</width>
<height>48</height>
</size>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/48x48/carla.png</pixmap>
<pixmap resource="../resources.qrc">:/scalable/carla.svg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set>
@@ -324,7 +333,13 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/document-open.png</normaloff>:/16x16/document-open.png</iconset>
<normaloff>:/16x16/document-open.svgz</normaloff>:/16x16/document-open.svgz</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
</widget>
</item>
@@ -1065,7 +1080,10 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-information.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-information.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -1141,11 +1159,20 @@
</item>
<item>
<widget class="QLabel" name="label_icon_engine_5">
<property name="maximumSize">
<size>
<width>48</width>
<height>48</height>
</size>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/48x48/jack.png</pixmap>
<pixmap resource="../resources.qrc">:/scalable/osc.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set>
@@ -1239,7 +1266,10 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-information.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-information.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -1421,7 +1451,10 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-information.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-information.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -1496,7 +1529,10 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-information.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-information.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -1552,7 +1588,7 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-warning.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-warning.svgz</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -1633,15 +1669,27 @@
</item>
<item>
<widget class="QLabel" name="label_19">
<property name="maximumSize">
<size>
<width>48</width>
<height>48</height>
</size>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/48x48/folder.png</pixmap>
<pixmap resource="../resources.qrc">:/scalable/folder.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
@@ -1770,7 +1818,10 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-information.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-information.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -1849,7 +1900,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/list-add.png</normaloff>:/16x16/list-add.png</iconset>
<normaloff>:/16x16/list-add.svgz</normaloff>:/16x16/list-add.svgz</iconset>
</property>
</widget>
</item>
@@ -1860,7 +1911,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/list-remove.png</normaloff>:/16x16/list-remove.png</iconset>
<normaloff>:/16x16/list-remove.svgz</normaloff>:/16x16/list-remove.svgz</iconset>
</property>
</widget>
</item>
@@ -1887,7 +1938,7 @@
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/16x16/edit-rename.png</normaloff>:/16x16/edit-rename.png</iconset>
<normaloff>:/16x16/edit-rename.svgz</normaloff>:/16x16/edit-rename.svgz</iconset>
</property>
</widget>
</item>
@@ -1941,12 +1992,21 @@
</spacer>
</item>
<item>
<widget class="QLabel" name="label_icon_engine_4">
<widget class="QLabel" name="label_icon_wine">
<property name="maximumSize">
<size>
<width>48</width>
<height>48</height>
</size>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/48x48/wine.png</pixmap>
<pixmap resource="../resources.qrc">:/scalable/wine.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set>
@@ -2147,7 +2207,10 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-information.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-information.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -2235,12 +2298,21 @@
</spacer>
</item>
<item>
<widget class="QLabel" name="label_icon_engine_2">
<widget class="QLabel" name="label_icon_experimental">
<property name="maximumSize">
<size>
<width>48</width>
<height>48</height>
</size>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/48x48/warning.png</pixmap>
<pixmap resource="../resources.qrc">:/scalable/warning.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set>
@@ -2276,11 +2348,17 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-warning.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-warning.svgz</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>


+ 1
- 1
resources/ui/carla_settings_driver.ui View File

@@ -129,7 +129,7 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/16x16/dialog-information.png</pixmap>
<pixmap resource="../resources.qrc">:/16x16/dialog-information.svgz</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>


+ 4
- 0
source/frontend/carla_app.py View File

@@ -209,6 +209,10 @@ class CarlaApplication(object):
if MACOS:
QApplication.setAttribute(Qt.AA_DontShowIconsInMenus)

if QT_VERSION >= 0x50600:
QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)

args = sys.argv[:]

if WINDOWS:


+ 3
- 2
source/frontend/carla_database.py View File

@@ -23,6 +23,7 @@ from copy import deepcopy
from subprocess import Popen, PIPE

from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QEventLoop, QThread, QSettings
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QDialog, QDialogButtonBox, QTableWidgetItem

# ---------------------------------------------------------------------------------------------------------------------
@@ -997,8 +998,8 @@ class PluginRefreshW(QDialog):
hasWin64 = os.path.exists(os.path.join(self.host.pathBinaries, "carla-discovery-win64.exe"))

self.fThread = SearchPluginsThread(self, host.pathBinaries)
self.fIconYes = getIcon("dialog-ok-apply").pixmap(16, 16)
self.fIconNo = getIcon("dialog-error").pixmap(16, 16)
self.fIconYes = QPixmap(":/16x16/dialog-ok-apply.svgz")
self.fIconNo = QPixmap(":/16x16/dialog-error.svgz")

# -------------------------------------------------------------------------------------------------------------
# Set-up GUI


+ 11
- 4
source/frontend/carla_host.py View File

@@ -24,7 +24,7 @@ import json
from PyQt5.Qt import PYQT_VERSION
from PyQt5.QtCore import qCritical, QEventLoop, QFileInfo, QModelIndex, QPointF, QTimer, QEvent
from PyQt5.QtGui import QImage, QPalette, QBrush
from PyQt5.QtWidgets import QAction, QApplication, QInputDialog, QFileSystemModel, QListWidgetItem, QMainWindow
from PyQt5.QtWidgets import QAction, QApplication, QInputDialog, QFileSystemModel, QListWidgetItem, QGraphicsView, QMainWindow

# ------------------------------------------------------------------------------------------------------------
# Imports (Custom)
@@ -401,7 +401,14 @@ class HostWindow(QMainWindow):
if withCanvas:
self.scene = patchcanvas.PatchScene(self, self.ui.graphicsView)
self.ui.graphicsView.setScene(self.scene)
self.ui.graphicsView.setRenderHint(QPainter.Antialiasing, bool(self.fSavedSettings[CARLA_KEY_CANVAS_ANTIALIASING] == patchcanvas.ANTIALIASING_FULL))
self.ui.graphicsView.setViewportUpdateMode(QGraphicsView.FullViewportUpdate)

if self.fSavedSettings[CARLA_KEY_CANVAS_ANTIALIASING] != patchcanvas.ANTIALIASING_NONE:
self.ui.graphicsView.setRenderHint(QPainter.Antialiasing, True)

if self.fSavedSettings[CARLA_KEY_CANVAS_ANTIALIASING] != patchcanvas.ANTIALIASING_FULL:
self.ui.graphicsView.setRenderHint(QPainter.SmoothPixmapTransform, True)
self.ui.graphicsView.setRenderHint(QPainter.TextAntialiasing, True)

if self.fSavedSettings[CARLA_KEY_CANVAS_USE_OPENGL] and hasGL:
self.ui.glView = QGLWidget(self)
@@ -1854,12 +1861,12 @@ class HostWindow(QMainWindow):

if playing != self.fLastTransportState or forced:
if playing:
icon = getIcon("media-playback-pause")
icon = QIcon(":/16x16/media-playback-pause.svgz")
self.ui.b_transport_play.setChecked(True)
self.ui.b_transport_play.setIcon(icon)
#self.ui.b_transport_play.setText(self.tr("&Pause"))
else:
icon = getIcon("media-playback-start")
icon = QIcon(":/16x16/media-playback-start.svgz")
self.ui.b_transport_play.setChecked(False)
self.ui.b_transport_play.setIcon(icon)
#self.ui.b_play.setText(self.tr("&Play"))


+ 12
- 8
source/frontend/patchcanvas/canvasbox.py View File

@@ -121,7 +121,9 @@ class CanvasBox(QGraphicsItem):
self.icon_svg = None

# Shadow
if options.eyecandy:
# FIXME FX on top of graphic items make them lose high-dpi
# See https://bugreports.qt.io/browse/QTBUG-65035
if options.eyecandy and canvas.scene.getDevicePixelRatioF() == 1.0:
self.shadow = CanvasBoxShadow(self.toGraphicsObject())
self.shadow.setFakeParent(self)
self.setGraphicsEffect(self.shadow)
@@ -622,16 +624,18 @@ class CanvasBox(QGraphicsItem):

# Draw plugin inline display if supported
if self.m_plugin_id >= 0 and self.m_plugin_id <= MAX_PLUGIN_ID_ALLOWED and self.m_plugin_inline:
size = "%i:%i" % (self.p_width - self.p_width_in - self.p_width_out - 16,
self.p_height - canvas.theme.box_header_height)
inwidth = self.p_width - self.p_width_in - self.p_width_out - 16
inheight = self.p_height - canvas.theme.box_header_height
scaling = canvas.scene.getScaleFactor() * canvas.scene.getDevicePixelRatioF()
size = "%i:%i" % (int(inwidth*scaling), int(inheight*scaling))
data = canvas.callback(ACTION_INLINE_DISPLAY, self.m_plugin_id, 0, size)
if data is not None:
image = QImage(data['data'], data['width'], data['height'], data['stride'], QImage.Format_ARGB32)
painter.drawImage(self.p_width_in + 7,
canvas.theme.box_header_height
+ (self.p_height - canvas.theme.box_header_height) / 2
- data['height'] / 2 - 1,
image)
srcx = self.p_width_in + 7
srcy = int(canvas.theme.box_header_height
+ (self.p_height - canvas.theme.box_header_height) / 2
- data['height'] / 2 / scaling - 1)
painter.drawImage(QRectF(srcx, srcy, inwidth, inheight), image)

# Draw pixmap header
rect.setHeight(canvas.theme.box_header_height)


+ 17
- 4
source/frontend/patchcanvas/scene.py View File

@@ -70,6 +70,7 @@ class PatchScene(QGraphicsScene):
self.m_mid_button_down = False
self.m_pointer_border = QRectF(0.0, 0.0, 1.0, 1.0)
self.m_scale_min = 0.1
self.m_scale_max = 4.0

self.m_rubberband = RubberbandRect(self)
self.m_rubberband_selection = False
@@ -84,6 +85,12 @@ class PatchScene(QGraphicsScene):

self.selectionChanged.connect(self.slot_selectionChanged)

def getDevicePixelRatioF(self):
return self.m_view.devicePixelRatioF()

def getScaleFactor(self):
return self.m_view.transform().m11()

def fixScaleFactor(self, transform=None):
fix, set_view = False, False
if not transform:
@@ -92,10 +99,10 @@ class PatchScene(QGraphicsScene):
transform = view.transform()

scale = transform.m11()
if scale > 3.0:
if scale > self.m_scale_max:
fix = True
transform.reset()
transform.scale(3.0, 3.0)
transform.scale(self.m_scale_max, self.m_scale_max)
elif scale < self.m_scale_min:
fix = True
transform.reset()
@@ -156,8 +163,11 @@ class PatchScene(QGraphicsScene):
def zoom_in(self):
view = self.m_view
transform = view.transform()
if transform.m11() < 3.0:
if transform.m11() < self.m_scale_max:
transform.scale(1.2, 1.2)
if transform.m11() > self.m_scale_max:
transform.reset()
transform.scale(self.m_scale_max, self.m_scale_max)
view.setTransform(transform)
self.scaleChanged.emit(transform.m11())

@@ -166,6 +176,9 @@ class PatchScene(QGraphicsScene):
transform = view.transform()
if transform.m11() > self.m_scale_min:
transform.scale(0.833333333333333, 0.833333333333333)
if transform.m11() < self.m_scale_min:
transform.reset()
transform.scale(self.m_scale_min, self.m_scale_min)
view.setTransform(transform)
self.scaleChanged.emit(transform.m11())

@@ -370,7 +383,7 @@ class PatchScene(QGraphicsScene):
transform = self.m_view.transform()
scale = transform.m11()

if (delta > 0 and scale < 3.0) or (delta < 0 and scale > self.m_scale_min):
if (delta > 0 and scale < self.m_scale_max) or (delta < 0 and scale > self.m_scale_min):
factor = 1.41 ** (delta / 240.0)
transform.scale(factor, factor)
self.fixScaleFactor(transform)


+ 97
- 22
source/theme/CarlaStyle.cpp View File

@@ -1,7 +1,7 @@
/*
* Carla Style, based on Qt5 fusion style
* Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies)
* Copyright (C) 2013-2018 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2013-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -1051,20 +1051,34 @@ void CarlaStyle::drawPrimitive(PrimitiveElement elem,
painter->translate(0.5, 0.5);
rect = rect.adjusted(0, 0, -1, -1);

QColor pressedColor = mergedColors(option->palette.base().color(), option->palette.foreground().color(), 85);
const QColor& baseColor = option->palette.base().color();

QColor pressedColor = mergedColors(baseColor, option->palette.foreground().color(), 85);
painter->setBrush(Qt::NoBrush);

// Gradient fill
QLinearGradient gradient(rect.topLeft(), rect.bottomLeft());
gradient.setColorAt(0, (state & State_Sunken) ? pressedColor : option->palette.base().color().darker(115));
gradient.setColorAt(0.15, (state & State_Sunken) ? pressedColor : option->palette.base().color());
gradient.setColorAt(1, (state & State_Sunken) ? pressedColor : option->palette.base().color());

if (state & State_Sunken)
{
gradient.setColorAt(0, pressedColor);
gradient.setColorAt(0.15, pressedColor);
gradient.setColorAt(1, pressedColor);
}
else
{
gradient.setColorAt(0, baseColor.blackF() > 0.4 ? baseColor.lighter(115) : baseColor.darker(115));
gradient.setColorAt(0.15, baseColor);
gradient.setColorAt(1, baseColor);
}

painter->setBrush((state & State_Sunken) ? QBrush(pressedColor) : gradient);
painter->setPen(QPen(outline.lighter(110), 1));

if (option->state & State_HasFocus && option->state & State_KeyboardFocusChange)
painter->setPen(QPen(highlightedOutline, 1));
else
painter->setPen(QPen(outline.lighter(110), 1));

painter->drawRect(rect);

QColor checkMarkColor = option->palette.text().color().darker(120);
@@ -1282,11 +1296,9 @@ void CarlaStyle::drawPrimitive(PrimitiveElement elem,
break;
case PE_PanelMenu: {
painter->save();
QColor menuBackground = option->palette.base().color().lighter(108);
const QBrush menuBackground = option->palette.base().color().lighter(108);
QColor borderColor(32, 32, 32);
painter->setPen(borderColor);
painter->setBrush(menuBackground);
painter->drawRect(option->rect.adjusted(0, 0, -1, -1));
qDrawPlainRect(painter, option->rect, borderColor, 1, &menuBackground);
painter->restore();
}
break;
@@ -1846,13 +1858,7 @@ void CarlaStyle::drawControl(ControlElement element, const QStyleOption *option,
QRect r = option->rect;
painter->fillRect(r, highlight);
painter->setPen(QPen(highlightOutline, 0));
const QLine lines[4] = {
QLine(QPoint(r.left() + 1, r.bottom()), QPoint(r.right() - 1, r.bottom())),
QLine(QPoint(r.left() + 1, r.top()), QPoint(r.right() - 1, r.top())),
QLine(QPoint(r.left(), r.top()), QPoint(r.left(), r.bottom())),
QLine(QPoint(r.right() , r.top()), QPoint(r.right(), r.bottom())),
};
painter->drawLines(lines, 4);
painter->drawRect(QRectF(r).adjusted(0.5, 0.5, -0.5, -0.5));
}
bool checkable = menuItem->checkType != QStyleOptionMenuItem::NotCheckable;
bool checked = menuItem->checked;
@@ -1927,8 +1933,13 @@ void CarlaStyle::drawControl(ControlElement element, const QStyleOption *option,
else
pixmap = menuItem->icon.pixmap(iconSize, mode);

int pixw = pixmap.width();
int pixh = pixmap.height();
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
const qreal pixw = static_cast<qreal>(pixmap.width()) / pixmap.devicePixelRatioF();
const qreal pixh = static_cast<qreal>(pixmap.height()) / pixmap.devicePixelRatioF();
#else
const int pixw = pixmap.width();
const int pixh = pixmap.height();
#endif

QRect pmr(0, 0, pixw, pixh);
pmr.moveCenter(vCheckRect.center());
@@ -2058,8 +2069,13 @@ void CarlaStyle::drawControl(ControlElement element, const QStyleOption *option,
state = QIcon::On;

QPixmap pixmap = button->icon.pixmap(button->iconSize, mode, state);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
int w = pixmap.width() / pixmap.devicePixelRatio();
int h = pixmap.height() / pixmap.devicePixelRatio();
#else
int w = pixmap.width();
int h = pixmap.height();
#endif

if (!button->text.isEmpty())
w += button->fontMetrics.boundingRect(option->rect, tf, button->text).width() + 2;
@@ -2067,15 +2083,20 @@ void CarlaStyle::drawControl(ControlElement element, const QStyleOption *option,
point = QPoint(ir.x() + ir.width() / 2 - w / 2,
ir.y() + ir.height() / 2 - h / 2);

#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
w = pixmap.width() / pixmap.devicePixelRatio();
#else
#endif

if (button->direction == Qt::RightToLeft)
point.rx() += pixmap.width();
point.rx() += w;

painter->drawPixmap(visualPos(button->direction, button->rect, point), pixmap);

if (button->direction == Qt::RightToLeft)
ir.translate(-point.x() - 2, 0);
else
ir.translate(point.x() + pixmap.width(), 0);
ir.translate(point.x() + w, 0);

// left-align text if there is
if (!button->text.isEmpty())
@@ -2860,7 +2881,7 @@ void CarlaStyle::drawComplexControl(ComplexControl control, const QStyleOptionCo

QColor subtleEdge = alphaOutline;
subtleEdge.setAlpha(40);
painter->setPen(Qt::NoPen);
painter->setPen(subtleEdge);
painter->setBrush(Qt::NoBrush);
painter->save();
painter->setClipRect(scrollBarGroove.adjusted(1, 0, -1, -3));
@@ -3832,6 +3853,60 @@ QRect CarlaStyle::subControlRect(ComplexControl control, const QStyleOptionCompl
return rect;
}

/*!
\reimp
*/
QPixmap CarlaStyle::standardPixmap(StandardPixmap standardPixmap, const QStyleOption* opt, const QWidget* widget) const
{
#if 0 // ndef QT_NO_IMAGEFORMAT_XPM
switch (standardPixmap) {
case SP_TitleBarNormalButton:
return QPixmap((const char **)dock_widget_restore_xpm);
case SP_TitleBarMinButton:
return QPixmap((const char **)workspace_minimize);
case SP_TitleBarCloseButton:
case SP_DockWidgetCloseButton:
return QPixmap((const char **)dock_widget_close_xpm);
default:
break;
}
#endif //QT_NO_IMAGEFORMAT_XPM

QPixmap pixmap = QCommonStyle::standardPixmap(standardPixmap, opt, widget);

if(!pixmap.isNull())
return pixmap;

#if 0 // ndef QT_NO_IMAGEFORMAT_XPM
switch (standardPixmap) {
case SP_TitleBarMenuButton:
return QPixmap(qt_menu_xpm);
case SP_TitleBarShadeButton:
return QPixmap(qt_shade_xpm);
case SP_TitleBarUnshadeButton:
return QPixmap(qt_unshade_xpm);
case SP_TitleBarMaxButton:
return QPixmap(qt_maximize_xpm);
case SP_TitleBarCloseButton:
return QPixmap(qt_close_xpm);
case SP_TitleBarContextHelpButton:
return QPixmap(qt_help_xpm);
case SP_MessageBoxInformation:
return QPixmap(information_xpm);
case SP_MessageBoxWarning:
return QPixmap(warning_xpm);
case SP_MessageBoxCritical:
return QPixmap(critical_xpm);
case SP_MessageBoxQuestion:
return QPixmap(question_xpm);
default:
break;
}
#endif //QT_NO_IMAGEFORMAT_XPM

return QPixmap();
}

/*!
\reimp
*/


+ 9
- 1
source/theme/CarlaStyle.hpp View File

@@ -1,7 +1,7 @@
/*
* Carla Style, based on Qt5 fusion style
* Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies)
* Copyright (C) 2013-2014 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2013-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -32,7 +32,14 @@
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wdeprecated-register"
# endif
# if defined(__GNUC__) && __GNUC__ >= 8
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wclass-memaccess"
# endif
# include <QtGui/QCommonStyle>
# if defined(__GNUC__) && __GNUC__ >= 8
# pragma GCC diagnostic pop
# endif
# ifdef __clang__
# pragma clang diagnostic pop
# endif
@@ -65,6 +72,7 @@ public:
QRect subElementRect(SubElement r, const QStyleOption* opt, const QWidget* widget = nullptr) const override;
QSize sizeFromContents(ContentsType type, const QStyleOption* option, const QSize& size, const QWidget* widget) const override;
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex* opt, SubControl sc, const QWidget* widget) const override;
QPixmap standardPixmap(StandardPixmap sp, const QStyleOption* opt = nullptr, const QWidget* widget = nullptr) const override;
int styleHint(StyleHint hint, const QStyleOption* option = nullptr, const QWidget* widget = nullptr,
QStyleHintReturn* returnData = nullptr) const override;
void drawItemText(QPainter *painter, const QRect& rect, int flags, const QPalette& pal, bool enabled, const QString& text,


+ 2
- 1
source/theme/CarlaStylePrivate.hpp View File

@@ -95,7 +95,8 @@ public:
{
if (! pal.window().texture().isNull())
return QColor(0, 0, 0, 160);
return pal.background().color().darker(140);
const QColor& col = pal.background().color();
return col.blackF() > 0.4 ? col.lighter(160) : col.darker(140);
}

QColor highlightedOutline(const QPalette &pal) const


Loading…
Cancel
Save