From 37c20edece4e34003bfaa06d587e9e2c19a34307 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 7 Apr 2013 17:20:18 +0100 Subject: [PATCH] Cleanup; misc changes --- source/carla.py | 11 ++++++- source/widgets/Makefile | 6 ++-- source/widgets/ledbutton.cpp | 56 +++++++++++++--------------------- source/widgets/ledbutton.hpp | 12 +++----- source/widgets/ledbutton.py | 21 ++----------- source/widgets/pixmapbutton.py | 15 +++------ 6 files changed, 45 insertions(+), 76 deletions(-) diff --git a/source/carla.py b/source/carla.py index ee0b87bad..fba7017d5 100755 --- a/source/carla.py +++ b/source/carla.py @@ -1049,14 +1049,17 @@ class CarlaMainW(QMainWindow): self.removeAllPlugins() + self.fEngineStarted = False + if Carla.host.is_engine_running() and not Carla.host.engine_close(): print(cString(Carla.host.get_last_error())) + # failed + self.fEngineStarted = True return self.fBufferSize = 0 self.fSampleRate = 0.0 - self.fEngineStarted = False self.fPluginCount = 0 self.fPluginList = [] @@ -1764,6 +1767,9 @@ class CarlaMainW(QMainWindow): def timerEvent(self, event): if event.timerId() == self.fIdleTimerFast: + if not self.fEngineStarted: + return + Carla.host.engine_idle() for pwidget in self.fPluginList: @@ -1774,6 +1780,9 @@ class CarlaMainW(QMainWindow): self.refreshTransport() elif event.timerId() == self.fIdleTimerSlow: + if not self.fEngineStarted: + return + for pwidget in self.fPluginList: if pwidget is None: break diff --git a/source/widgets/Makefile b/source/widgets/Makefile index 17754439c..3babfd040 100644 --- a/source/widgets/Makefile +++ b/source/widgets/Makefile @@ -8,11 +8,11 @@ include ../Makefile.mk # -------------------------------------------------------------- -BUILD_CXX_FLAGS += -fvisibility=hidden -fPIC -I. +BUILD_CXX_FLAGS += -fvisibility=hidden -I. ifeq ($(HAVE_QT5),true) -BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core Qt5Widgets) -LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Widgets) +BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets) +LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets) else BUILD_CXX_FLAGS += $(shell pkg-config --cflags QtCore QtGui) LINK_FLAGS += $(shell pkg-config --libs QtCore QtGui) diff --git a/source/widgets/ledbutton.cpp b/source/widgets/ledbutton.cpp index e03848db1..9475af824 100644 --- a/source/widgets/ledbutton.cpp +++ b/source/widgets/ledbutton.cpp @@ -18,11 +18,12 @@ #include "ledbutton.hpp" #include +#include LEDButton::LEDButton(QWidget* parent): QPushButton(parent) { - m_pixmap_rect = QRectF(0, 0, 0, 0); + fPixmapRect = QRectF(0, 0, 0, 0); setCheckable(true); setText(""); @@ -36,22 +37,10 @@ LEDButton::~LEDButton() void LEDButton::setColor(Color color) { - m_color = color; + fColor = color; + int size = 14; - int size; - if (1) //color in (self.BLUE, self.GREEN, self.RED, self.YELLOW): - size = 14; - else if (color == BIG_RED) - size = 64; - else - return qCritical("LEDButton::setColor(%i) - Invalid color", color); - - setPixmapSize(size); -} - -void LEDButton::setPixmapSize(int size) -{ - m_pixmap_rect = QRectF(0, 0, size, size); + fPixmapRect = QRectF(0, 0, size, size); setMinimumWidth(size); setMaximumWidth(size); @@ -59,34 +48,31 @@ void LEDButton::setPixmapSize(int size) setMaximumHeight(size); } -void LEDButton::paintEvent(QPaintEvent*) +void LEDButton::paintEvent(QPaintEvent* event) { QPainter painter(this); + event->accept(); if (isChecked()) { - if (m_color == BLUE) - m_pixmap.load(":/bitmaps/led_blue.png"); - else if (m_color == GREEN) - m_pixmap.load(":/bitmaps/led_green.png"); - else if (m_color == RED) - m_pixmap.load(":/bitmaps/led_red.png"); - else if (m_color == YELLOW) - m_pixmap.load(":/bitmaps/led_yellow.png"); - else if (m_color == BIG_RED) - m_pixmap.load(":/bitmaps/led-big_on.png"); - else + switch (fColor) + { + case BLUE: + fPixmap.load(":/bitmaps/led_blue.png"); + case GREEN: + fPixmap.load(":/bitmaps/led_green.png"); + case RED: + fPixmap.load(":/bitmaps/led_red.png"); + case YELLOW: + fPixmap.load(":/bitmaps/led_yellow.png"); + default: return; + } } else { - if (1) //self.m_color in (self.BLUE, self.GREEN, self.RED, self.YELLOW): - m_pixmap.load(":/bitmaps/led_off.png"); - else if (m_color == BIG_RED) - m_pixmap.load(":/bitmaps/led-big_off.png"); - else - return; + fPixmap.load(":/bitmaps/led_off.png"); } - painter.drawPixmap(m_pixmap_rect, m_pixmap, m_pixmap_rect); + painter.drawPixmap(fPixmapRect, fPixmap, fPixmapRect); } diff --git a/source/widgets/ledbutton.hpp b/source/widgets/ledbutton.hpp index fed993ace..db13f1b49 100644 --- a/source/widgets/ledbutton.hpp +++ b/source/widgets/ledbutton.hpp @@ -35,8 +35,7 @@ public: BLUE = 1, GREEN = 2, RED = 3, - YELLOW = 4, - BIG_RED = 5 + YELLOW = 4 }; LEDButton(QWidget* parent); @@ -45,15 +44,12 @@ public: void setColor(Color color); protected: - void setPixmapSize(int size); - void paintEvent(QPaintEvent* event); private: - QPixmap m_pixmap; - QRectF m_pixmap_rect; - - Color m_color; + Color fColor; + QPixmap fPixmap; + QRectF fPixmapRect; }; #endif // __LEDBUTTON_HPP__ diff --git a/source/widgets/ledbutton.py b/source/widgets/ledbutton.py index fceed6898..82dfea7d0 100644 --- a/source/widgets/ledbutton.py +++ b/source/widgets/ledbutton.py @@ -30,7 +30,6 @@ class LEDButton(QPushButton): GREEN = 2 RED = 3 YELLOW = 4 - BIG_RED = 5 def __init__(self, parent): QPushButton.__init__(self, parent) @@ -45,17 +44,8 @@ class LEDButton(QPushButton): def setColor(self, color): self.fColor = color + size = 14 - if color in (self.BLUE, self.GREEN, self.RED, self.YELLOW): - size = 14 - elif color == self.BIG_RED: - size = 32 - else: - return qCritical("LEDButton::setColor(%i) - Invalid color" % color) - - self.setPixmapSize(size) - - def setPixmapSize(self, size): self.fPixmapRect = QRectF(0, 0, size, size) self.setMinimumSize(size, size) @@ -74,16 +64,9 @@ class LEDButton(QPushButton): self.fPixmap.load(":/bitmaps/led_red.png") elif self.fColor == self.YELLOW: self.fPixmap.load(":/bitmaps/led_yellow.png") - elif self.fColor == self.BIG_RED: - self.fPixmap.load(":/bitmaps/led-big_on.png") else: return else: - if self.fColor in (self.BLUE, self.GREEN, self.RED, self.YELLOW): - self.fPixmap.load(":/bitmaps/led_off.png") - elif self.fColor == self.BIG_RED: - self.fPixmap.load(":/bitmaps/led-big_off.png") - else: - return + self.fPixmap.load(":/bitmaps/led_off.png") painter.drawPixmap(self.fPixmapRect, self.fPixmap, self.fPixmapRect) diff --git a/source/widgets/pixmapbutton.py b/source/widgets/pixmapbutton.py index 3d3cd7b42..19828738d 100644 --- a/source/widgets/pixmapbutton.py +++ b/source/widgets/pixmapbutton.py @@ -26,11 +26,6 @@ from PyQt4.QtGui import QPainter, QPixmap, QPushButton # Widget Class class PixmapButton(QPushButton): - STATE_NULL = 0 - STATE_NORMAL = 1 - STATE_DOWN = 2 - STATE_HOVER = 3 - def __init__(self, parent): QPushButton.__init__(self, parent) @@ -48,13 +43,13 @@ class PixmapButton(QPushButton): self.fPixmapDown.load(down) self.fPixmapHover.load(hover) - self.setPixmapSize(self.fPixmapNormal.width()) + width = self.fPixmapNormal.width() + height = self.fPixmapNormal.height() - def setPixmapSize(self, size): - self.fPixmapRect = QRectF(0, 0, size, size) + self.fPixmapRect = QRectF(0, 0, width, height) - self.setMinimumSize(size, size) - self.setMaximumSize(size, size) + self.setMinimumSize(width, height) + self.setMaximumSize(width, height) def enterEvent(self, event): self.fIsHovered = True