diff --git a/kde/src/CallView.cpp b/kde/src/CallView.cpp index d27e34e8dd205f5f6c038089c8569a40cdcd4f76..e4484c904342da63282813a6d7d2e37e83d51793 100644 --- a/kde/src/CallView.cpp +++ b/kde/src/CallView.cpp @@ -692,3 +692,68 @@ void CallView::clearHistory() void CallView::keyPressEvent(QKeyEvent* event) { SFLPhone::app()->view()->keyPressEvent(event); } + + +/***************************************************************************** + * * + * Overlay * + * * + ****************************************************************************/ + +///Constructor +CallViewOverlay::CallViewOverlay(QWidget* parent) : QWidget(parent),m_pIcon(0),m_pTimer(0),m_enabled(true),m_black("black") +{ + m_black.setAlpha(75); +} + +///Add a widget (usually an icon) in the corner +void CallViewOverlay::setCornerWidget(QWidget* wdg) { + wdg->setParent ( this ); + wdg->setMinimumSize ( 100 , 100 ); + wdg->resize ( 100 , 100 ); + wdg->move ( width()-100 , height()-100 ); + m_pIcon = wdg; +} + +///Overload the setVisible method to trigger the timer +void CallViewOverlay::setVisible(bool enabled) { + if (m_enabled != enabled) { + if (m_pTimer) { + m_pTimer->stop(); + disconnect(m_pTimer); + } + m_pTimer = new QTimer(this); //TODO LEAK? + connect(m_pTimer, SIGNAL(timeout()), this, SLOT(changeVisibility())); + m_step = 0; + m_black.setAlpha(0); + repaint(); + m_pTimer->start(10); + } + m_enabled = enabled; + QWidget::setVisible(enabled); +} + +///How to paint the overlay +void CallViewOverlay::paintEvent(QPaintEvent* event) { + Q_UNUSED(event) + QPainter customPainter(this); + customPainter.fillRect(rect(),m_black); +} + +///Be sure the event is always the right size +void CallViewOverlay::resizeEvent(QResizeEvent *e) { + Q_UNUSED(e) + if (m_pIcon) { + m_pIcon->setMinimumSize(100,100); + m_pIcon->move(width()-100,height()-100); + } +} + +///Step by step animation to fade in/out +void CallViewOverlay::changeVisibility() { + m_step++; + m_black.setAlpha(0.1*m_step*m_step); + repaint(); + if (m_step >= 35) + m_pTimer->stop(); +} \ No newline at end of file diff --git a/kde/src/CallView.h b/kde/src/CallView.h index 9d333c46a4ffae2e6bcdc0dfdcb98ec0f5aa3ab8..0d05fa7fcdd2fe83666925934da74759a46d3651 100644 --- a/kde/src/CallView.h +++ b/kde/src/CallView.h @@ -56,62 +56,26 @@ class CallTreeItemDelegate : public QItemDelegate class CallViewOverlay : public QWidget { Q_OBJECT public: - CallViewOverlay(QWidget* parent) : QWidget(parent),m_pIcon(0),m_pTimer(0),m_enabled(true),black("black") - { - black.setAlpha(75); - } - void setCornerWidget(QWidget* wdg) { - wdg->setParent(this); - wdg->setMinimumSize(100,100); - wdg->resize(100,100); - wdg->move(width()-100,height()-100); - m_pIcon = wdg; - } + //Constructor + CallViewOverlay(QWidget* parent); - void setVisible(bool enabled) { - if (m_enabled != enabled) { - if (m_pTimer) { - m_pTimer->stop(); - disconnect(m_pTimer); - } - m_pTimer = new QTimer(this); //TODO LEAK - connect(m_pTimer, SIGNAL(timeout()), this, SLOT(changeVisibility())); - m_step = 0; - black.setAlpha(0); - repaint(); - m_pTimer->start(10); - } - m_enabled = enabled; - QWidget::setVisible(enabled); - } + //Setters + void setCornerWidget(QWidget* wdg); + void setVisible(bool enabled); + protected: - void paintEvent(QPaintEvent* event) { - Q_UNUSED(event) - QPainter customPainter(this); - customPainter.fillRect(rect(),black); - } - virtual void resizeEvent(QResizeEvent *e) { - Q_UNUSED(e) - if (m_pIcon) { - m_pIcon->setMinimumSize(100,100); - m_pIcon->move(width()-100,height()-100); - } - } + virtual void paintEvent (QPaintEvent* event ); + virtual void resizeEvent (QResizeEvent* e ); + private: - QWidget* m_pIcon; - uint m_step; - QTimer* m_pTimer; - bool m_enabled; - QColor black; + QWidget* m_pIcon ; + uint m_step ; + QTimer* m_pTimer ; + bool m_enabled; + QColor m_black ; private slots: - void changeVisibility() { - m_step++; - black.setAlpha(0.1*m_step*m_step); - repaint(); - if (m_step >= 35) - m_pTimer->stop(); - } + void changeVisibility(); }; ///@class CallView Central tree widget managing active calls diff --git a/kde/src/lib/Call.cpp b/kde/src/lib/Call.cpp index 95912c67651d2c99aeebaf9d2245338c9847d67b..43913a8d52c7054a86419acf6b2ba0d34f39f23f 100644 --- a/kde/src/lib/Call.cpp +++ b/kde/src/lib/Call.cpp @@ -493,7 +493,7 @@ call_state Call::actionPerformed(call_action action) if (previousState < 11 && action < 5) { changeCurrentState(actionPerformedStateMap[previousState][action]); //execute the action associated with this transition - (this->*(actionPerformedFunctionMap[previousState][action]))(); //WARNING BUG //WARNING SEGFAULT //TODO remove this node, it was not a good idea, it is not stable + (this->*(actionPerformedFunctionMap[previousState][action]))(); qDebug() << "Calling action " << action << " on call with state " << previousState << ". Become " << m_CurrentState; //return the new state } diff --git a/kde/src/lib/CallModel.hpp b/kde/src/lib/CallModel.hpp index f7dd95f067be69b528400af9cb6e1faaefd787c7..f19081c5a580269fd29f90a9985c553b9ec9ffe8 100644 --- a/kde/src/lib/CallModel.hpp +++ b/kde/src/lib/CallModel.hpp @@ -277,8 +277,9 @@ template<typename CallWidget, typename Index> void CallModel<CallWidget,Index>:: ///Transfer this call to "target" number template<typename CallWidget, typename Index> void CallModel<CallWidget,Index>::transfer(Call* toTransfer, QString target) { - qDebug() << "Transferring call " << target; + qDebug() << "\n\n\n\n\nTransferring call " << toTransfer->getCallId() << target << "\n\n\n\n\n"; toTransfer->setTransferNumber(target); + toTransfer->changeCurrentState(CALL_STATE_TRANSFER); toTransfer->actionPerformed(CALL_ACTION_ACCEPT); toTransfer->changeCurrentState(CALL_STATE_OVER); } diff --git a/kde/src/widgets/CallTreeItem.cpp b/kde/src/widgets/CallTreeItem.cpp index d32d476b02c130a23694ec6ed329947f90692b93..67e4918f09401189853df20d026057a9b0f075cd 100644 --- a/kde/src/widgets/CallTreeItem.cpp +++ b/kde/src/widgets/CallTreeItem.cpp @@ -250,7 +250,6 @@ void CallTreeItem::dragEnterEvent ( QDragEnterEvent *e ) e->mimeData()->data( MIME_CALLID) != SFLPhone::model()->getCall(this)->getCallId()) { m_pBtnTrans->setVisible(true); emit showChilds(this); - m_pBtnConf->forceDragState(e); m_isHover = true; e->accept(); } @@ -258,7 +257,6 @@ void CallTreeItem::dragEnterEvent ( QDragEnterEvent *e ) m_pBtnConf->setVisible(true); m_pBtnTrans->setVisible(true); emit showChilds(this); - m_pBtnConf->forceDragState(e); m_isHover = true; e->accept(); } diff --git a/kde/src/widgets/TranslucentButtons.cpp b/kde/src/widgets/TranslucentButtons.cpp index 50a3461c554b12ff5b28b6f76e35192833f61099..a75fdb3f6cfae89cf86c318ee504880ee9f61dac 100644 --- a/kde/src/widgets/TranslucentButtons.cpp +++ b/kde/src/widgets/TranslucentButtons.cpp @@ -9,8 +9,7 @@ #include <QDragLeaveEvent> #include <QMimeData> -TranslucentButtons* TranslucentButtons::m_psActiveButton =0; - +///Constructor TranslucentButtons::TranslucentButtons(QWidget* parent):QPushButton(parent),m_enabled(true),m_pTimer(0),m_CurrentState(0),m_pImg(0) { setAcceptDrops(true); @@ -18,18 +17,17 @@ TranslucentButtons::TranslucentButtons(QWidget* parent):QPushButton(parent),m_en m_CurrentColor.setAlpha(0); } +///Destructor TranslucentButtons::~TranslucentButtons() { - if (m_psActiveButton == this) - m_psActiveButton=0; + } +///How to paint void TranslucentButtons::paintEvent(QPaintEvent* event) { Q_UNUSED(event) QPainter customPainter(this); - //kDebug() << m_CurrentColor.name(); - //customPainter.setBackgroundMode( Qt::OpaqueMode ); customPainter.setBackground(m_CurrentColor); customPainter.setBrush(m_CurrentColor); customPainter.setPen(Qt::NoPen); @@ -46,6 +44,7 @@ void TranslucentButtons::paintEvent(QPaintEvent* event) customPainter.drawText (rect(), Qt::AlignVCenter|Qt::AlignHCenter, text().replace("&","") ); } +///Override the visibility toggler void TranslucentButtons::setVisible(bool enabled) { kDebug() << "Enabling!"; @@ -67,6 +66,7 @@ void TranslucentButtons::setVisible(bool enabled) QWidget::setVisible(enabled); } +///Step by step animation void TranslucentButtons::changeVisibility() { m_step++; @@ -78,56 +78,29 @@ void TranslucentButtons::changeVisibility() void TranslucentButtons::dragEnterEvent ( QDragEnterEvent *e ) { -// // if (m_psActiveButton && m_psActiveButton != this) { -// // m_psActiveButton->dragLeaveEvent(0); -// // } -// m_psActiveButton = this; -// kDebug() << "In button event"; -// int alpha = m_CurrentColor.alpha(); -// m_CurrentColor = "#FF0000"; -// m_CurrentColor.setAlpha(alpha); -// repaint(); -// e->accept(); -e->ignore(); + e->ignore(); } void TranslucentButtons::dragMoveEvent ( QDragMoveEvent *e ) { -// kDebug() << "In button move event"; -// int alpha = m_CurrentColor.alpha(); -// m_CurrentColor = "#FF0000"; -// m_CurrentColor.setAlpha(alpha); -// e->accept(); -e->ignore(); + e->ignore(); } void TranslucentButtons::dragLeaveEvent ( QDragLeaveEvent *e ) { -// kDebug() << "Button drag leave"; -// int alpha = m_CurrentColor.alpha(); -// m_CurrentColor = "black"; -// m_CurrentColor.setAlpha(alpha); -// //m_CurrentColor = "black"; -// if (e) -// e->ignore(); -// else { -// repaint(); -// } -// e->ignore(); -e->ignore(); + e->ignore(); } +///Propagate the mime data +///@note This propagate like this: button -> tree item -> treewidget void TranslucentButtons::dropEvent(QDropEvent *e) { kDebug() << "Drop accepted"; emit dataDropped((QMimeData*)e->mimeData()); } -void TranslucentButtons::forceDragState(QDragEnterEvent *e) -{ - dragMoveEvent(e); -} - +///Set the state when the user hover the widget +///@note This is not called directly to avoid a Qt bug/limitation void TranslucentButtons::setHoverState(bool hover) { if (hover != m_CurrentState) { @@ -148,323 +121,8 @@ void TranslucentButtons::setHoverState(bool hover) } } - +///Set the button pixmap void TranslucentButtons::setPixmap(QImage* img) { m_pImg = img; -} - -bool TranslucentButtons::event(QEvent* e) -{ -// switch (e->type()) { -// case QEvent::None: -// kDebug() << "None"; break; -// case QEvent::Timer: -// kDebug() << "Timer"; break; -// case QEvent::MouseButtonPress: -// kDebug() << "MouseButtonPress"; break; -// case QEvent::MouseButtonRelease: -// kDebug() << "MouseButtonRelease"; break; -// case QEvent::MouseButtonDblClick: -// kDebug() << "MouseButtonDblClick"; break; -// case QEvent::MouseMove: -// kDebug() << "MouseMove"; break; -// case QEvent::KeyPress: -// kDebug() << "KeyPress"; break; -// case QEvent::KeyRelease: -// kDebug() << "KeyRelease"; break; -// case QEvent::FocusIn: -// kDebug() << "FocusIn"; break; -// case QEvent::FocusOut: -// kDebug() << "FocusOut"; break; -// case QEvent::Enter: -// kDebug() << "Enter"; break; -// case QEvent::Leave: -// kDebug() << "Leave"; break; -// case QEvent::Paint: -// kDebug() << "Paint"; break; -// case QEvent::Move: -// kDebug() << "Move"; break; -// case QEvent::Resize: -// kDebug() << "Resize"; break; -// case QEvent::Create: -// kDebug() << "Create"; break; -// case QEvent::Destroy: -// kDebug() << "Destroy"; break; -// case QEvent::Show: -// kDebug() << "Show"; break; -// case QEvent::Hide: -// kDebug() << "Hide"; break; -// case QEvent::Close: -// kDebug() << "Close"; break; -// case QEvent::Quit: -// kDebug() << "Quit"; break; -// case QEvent::ParentChange: -// kDebug() << "ParentChange"; break; -// case QEvent::ParentAboutToChange: -// kDebug() << "ParentAboutToChange"; break; -// case QEvent::ThreadChange: -// kDebug() << "ThreadChange"; break; -// case QEvent::WindowActivate: -// kDebug() << "WindowActivate"; break; -// case QEvent::WindowDeactivate: -// kDebug() << "WindowDeactivate"; break; -// case QEvent::ShowToParent: -// kDebug() << "ShowToParent"; break; -// case QEvent::HideToParent: -// kDebug() << "HideToParent"; break; -// case QEvent::Wheel: -// kDebug() << "Wheel"; break; -// case QEvent::WindowTitleChange: -// kDebug() << "WindowTitleChange"; break; -// case QEvent::WindowIconChange: -// kDebug() << "WindowIconChange"; break; -// case QEvent::ApplicationWindowIconChange: -// kDebug() << "ApplicationWindowIconChange"; break; -// case QEvent::ApplicationFontChange: -// kDebug() << "ApplicationFontChange"; break; -// case QEvent::ApplicationLayoutDirectionChange: -// kDebug() << "ApplicationLayoutDirectionChange"; break; -// case QEvent::ApplicationPaletteChange: -// kDebug() << "ApplicationPaletteChange"; break; -// case QEvent::PaletteChange: -// kDebug() << "PaletteChange"; break; -// case QEvent::Clipboard: -// kDebug() << "Clipboard"; break; -// case QEvent::Speech: -// kDebug() << "Speech"; break; -// case QEvent::MetaCall: -// kDebug() << "MetaCall"; break; -// case QEvent::SockAct: -// kDebug() << "SockAct"; break; -// case QEvent::WinEventAct: -// kDebug() << "WinEventAct"; break; -// case QEvent::DeferredDelete: -// kDebug() << "DeferredDelete"; break; -// case QEvent::DragEnter: -// kDebug() << "DragEnter"; break; -// case QEvent::DragMove: -// kDebug() << "DragMove"; break; -// case QEvent::DragLeave: -// kDebug() << "DragLeave"; break; -// case QEvent::Drop: -// kDebug() << "Drop"; break; -// case QEvent::DragResponse: -// kDebug() << "DragResponse"; break; -// case QEvent::ChildAdded: -// kDebug() << "ChildAdded"; break; -// case QEvent::ChildPolished: -// kDebug() << "ChildPolished"; break; -// case QEvent::ChildRemoved: -// kDebug() << "ChildRemoved"; break; -// case QEvent::ShowWindowRequest: -// kDebug() << "ShowWindowRequest"; break; -// case QEvent::PolishRequest: -// kDebug() << "PolishRequest"; break; -// case QEvent::Polish: -// kDebug() << "Polish"; break; -// case QEvent::LayoutRequest: -// kDebug() << "LayoutRequest"; break; -// case QEvent::UpdateRequest: -// kDebug() << "UpdateRequest"; break; -// case QEvent::UpdateLater: -// kDebug() << "UpdateLater"; break; -// case QEvent::EmbeddingControl: -// kDebug() << "EmbeddingControl"; break; -// case QEvent::ActivateControl: -// kDebug() << "ActivateControl"; break; -// case QEvent::DeactivateControl: -// kDebug() << "DeactivateControl"; break; -// case QEvent::ContextMenu: -// kDebug() << "ContextMenu"; break; -// case QEvent::InputMethod: -// kDebug() << "InputMethod"; break; -// case QEvent::AccessibilityPrepare: -// kDebug() << "AccessibilityPrepare"; break; -// case QEvent::TabletMove: -// kDebug() << "TabletMove"; break; -// case QEvent::LocaleChange: -// kDebug() << "LocaleChange"; break; -// case QEvent::LanguageChange: -// kDebug() << "LanguageChange"; break; -// case QEvent::LayoutDirectionChange: -// kDebug() << "LayoutDirectionChange"; break; -// case QEvent::Style: -// kDebug() << "Style"; break; -// case QEvent::TabletPress: -// kDebug() << "TabletPress"; break; -// case QEvent::TabletRelease: -// kDebug() << "TabletRelease"; break; -// case QEvent::OkRequest: -// kDebug() << "OkRequest"; break; -// case QEvent::HelpRequest: -// kDebug() << "HelpRequest"; break; -// case QEvent::IconDrag: -// kDebug() << "IconDrag"; break; -// case QEvent::FontChange: -// kDebug() << "FontChange"; break; -// case QEvent::EnabledChange: -// kDebug() << "EnabledChange"; break; -// case QEvent::ActivationChange: -// kDebug() << "ActivationChange"; break; -// case QEvent::StyleChange: -// kDebug() << "StyleChange"; break; -// case QEvent::IconTextChange: -// kDebug() << "IconTextChange"; break; -// case QEvent::ModifiedChange: -// kDebug() << "ModifiedChange"; break; -// case QEvent::MouseTrackingChange: -// kDebug() << "MouseTrackingChange"; break; -// case QEvent::WindowBlocked: -// kDebug() << "WindowBlocked"; break; -// case QEvent::WindowUnblocked: -// kDebug() << "WindowUnblocked"; break; -// case QEvent::WindowStateChange: -// kDebug() << "WindowStateChange"; break; -// case QEvent::ToolTip: -// kDebug() << "ToolTip"; break; -// case QEvent::WhatsThis: -// kDebug() << "WhatsThis"; break; -// case QEvent::StatusTip: -// kDebug() << "StatusTip"; break; -// case QEvent::ActionChanged: -// kDebug() << "ActionChanged"; break; -// case QEvent::ActionAdded: -// kDebug() << "ActionAdded"; break; -// case QEvent::ActionRemoved: -// kDebug() << "ActionRemoved"; break; -// case QEvent::FileOpen: -// kDebug() << "FileOpen"; break; -// case QEvent::Shortcut: -// kDebug() << "Shortcut"; break; -// case QEvent::ShortcutOverride: -// kDebug() << "ShortcutOverride"; break; -// case QEvent::WhatsThisClicked: -// kDebug() << "WhatsThisClicked"; break; -// case QEvent::QueryWhatsThis: -// kDebug() << "QueryWhatsThis"; break; -// case QEvent::EnterWhatsThisMode: -// kDebug() << "EnterWhatsThisMode"; break; -// case QEvent::LeaveWhatsThisMode: -// kDebug() << "LeaveWhatsThisMode"; break; -// case QEvent::ZOrderChange: -// kDebug() << "ZOrderChange"; break; -// case QEvent::HoverEnter: -// kDebug() << "HoverEnter"; break; -// case QEvent::HoverLeave: -// kDebug() << "HoverLeave"; break; -// case QEvent::HoverMove: -// kDebug() << "HoverMove"; break; -// case QEvent::AccessibilityHelp: -// kDebug() << "AccessibilityHelp"; break; -// case QEvent::AccessibilityDescription: -// kDebug() << "AccessibilityDescription"; break; -// case QEvent::AcceptDropsChange: -// kDebug() << "AcceptDropsChange"; break; -// case QEvent::MenubarUpdated: -// kDebug() << "MenubarUpdated"; break; -// case QEvent::ZeroTimerEvent: -// kDebug() << "ZeroTimerEvent"; break; -// case QEvent::GraphicsSceneMouseMove: -// kDebug() << "GraphicsSceneMouseMove"; break; -// case QEvent::GraphicsSceneMousePress: -// kDebug() << "GraphicsSceneMousePress"; break; -// case QEvent::GraphicsSceneMouseRelease: -// kDebug() << "GraphicsSceneMouseRelease"; break; -// case QEvent::GraphicsSceneMouseDoubleClick: -// kDebug() << "GraphicsSceneMouseDoubleClick"; break; -// case QEvent::GraphicsSceneContextMenu: -// kDebug() << "GraphicsSceneContextMenu"; break; -// case QEvent::GraphicsSceneHoverEnter: -// kDebug() << "GraphicsSceneHoverEnter"; break; -// case QEvent::GraphicsSceneHoverMove: -// kDebug() << "GraphicsSceneHoverMove"; break; -// case QEvent::GraphicsSceneHoverLeave: -// kDebug() << "GraphicsSceneHoverLeave"; break; -// case QEvent::GraphicsSceneHelp: -// kDebug() << "GraphicsSceneHelp"; break; -// case QEvent::GraphicsSceneDragEnter: -// kDebug() << "GraphicsSceneDragEnter"; break; -// case QEvent::GraphicsSceneDragMove: -// kDebug() << "GraphicsSceneDragMove"; break; -// case QEvent::GraphicsSceneDragLeave: -// kDebug() << "GraphicsSceneDragLeave"; break; -// case QEvent::GraphicsSceneDrop: -// kDebug() << "GraphicsSceneDrop"; break; -// case QEvent::GraphicsSceneWheel: -// kDebug() << "GraphicsSceneWheel"; break; -// case QEvent::KeyboardLayoutChange: -// kDebug() << "KeyboardLayoutChange"; break; -// case QEvent::DynamicPropertyChange: -// kDebug() << "DynamicPropertyChange"; break; -// case QEvent::TabletEnterProximity: -// kDebug() << "TabletEnterProximity"; break; -// case QEvent::TabletLeaveProximity: -// kDebug() << "TabletLeaveProximity"; break; -// case QEvent::NonClientAreaMouseMove: -// kDebug() << "NonClientAreaMouseMove"; break; -// case QEvent::NonClientAreaMouseButtonPress: -// kDebug() << "NonClientAreaMouseButtonPress"; break; -// case QEvent::NonClientAreaMouseButtonRelease: -// kDebug() << "NonClientAreaMouseButtonRelease"; break; -// case QEvent::NonClientAreaMouseButtonDblClick: -// kDebug() << "NonClientAreaMouseButtonDblClick"; break; -// case QEvent::MacSizeChange: -// kDebug() << "MacSizeChange"; break; -// case QEvent::ContentsRectChange: -// kDebug() << "ContentsRectChange"; break; -// case QEvent::MacGLWindowChange: -// kDebug() << "MacGLWindowChange"; break; -// case QEvent::FutureCallOut: -// kDebug() << "FutureCallOut"; break; -// case QEvent::GraphicsSceneResize: -// kDebug() << "GraphicsSceneResize"; break; -// case QEvent::GraphicsSceneMove: -// kDebug() << "GraphicsSceneMove"; break; -// case QEvent::CursorChange: -// kDebug() << "CursorChange"; break; -// case QEvent::ToolTipChange: -// kDebug() << "ToolTipChange"; break; -// case QEvent::NetworkReplyUpdated: -// kDebug() << "NetworkReplyUpdated"; break; -// case QEvent::GrabMouse: -// kDebug() << "GrabMouse"; break; -// case QEvent::UngrabMouse: -// kDebug() << "UngrabMouse"; break; -// case QEvent::GrabKeyboard: -// kDebug() << "GrabKeyboard"; break; -// case QEvent::UngrabKeyboard: -// kDebug() << "UngrabKeyboard"; break; -// case QEvent::MacGLClearDrawable: -// kDebug() << "MacGLClearDrawable"; break; -// case QEvent::StateMachineSignal: -// kDebug() << "StateMachineSignal"; break; -// case QEvent::StateMachineWrapped: -// kDebug() << "StateMachineWrapped"; break; -// case QEvent::TouchBegin: -// kDebug() << "TouchBegin"; break; -// case QEvent::TouchUpdate: -// kDebug() << "TouchUpdate"; break; -// case QEvent::TouchEnd: -// kDebug() << "TouchEnd"; break; -// case QEvent::NativeGesture: -// kDebug() << "NativeGesture"; break; -// case QEvent::RequestSoftwareInputPanel: -// kDebug() << "RequestSoftwareInputPanel"; break; -// case QEvent::CloseSoftwareInputPanel: -// kDebug() << "CloseSoftwareInputPanel"; break; -// case QEvent::UpdateSoftKeys: -// kDebug() << "UpdateSoftKeys"; break; -// case QEvent::WinIdChange: -// kDebug() << "WinIdChange"; break; -// case QEvent::Gesture: -// kDebug() << "Gesture"; break; -// case QEvent::GestureOverride: -// kDebug() << "GestureOverride"; break; -// case QEvent::User: -// kDebug() << "User"; break; -// case QEvent::MaxUser: -// kDebug() << "MaxUser"; break; -// } - return QPushButton::event(e); } \ No newline at end of file diff --git a/kde/src/widgets/TranslucentButtons.h b/kde/src/widgets/TranslucentButtons.h index 9270dd8b6d1990dea78cde496652a1ef4aa88f15..50585294ddecdaaa298da54ebc29c1db49163f95 100644 --- a/kde/src/widgets/TranslucentButtons.h +++ b/kde/src/widgets/TranslucentButtons.h @@ -12,27 +12,32 @@ class TranslucentButtons : public QPushButton { Q_OBJECT public: + //Constructor TranslucentButtons(QWidget* parent); ~TranslucentButtons(); - void forceDragState(QDragEnterEvent *e); + + //Setters void setHoverState(bool hover); void setPixmap(QImage* img); + protected: + //Reimplementation virtual void paintEvent(QPaintEvent* event); virtual void dragEnterEvent ( QDragEnterEvent *e ); virtual void dragMoveEvent ( QDragMoveEvent *e ); virtual void dragLeaveEvent ( QDragLeaveEvent *e ); virtual void dropEvent ( QDropEvent *e ); - virtual bool event(QEvent* e); + private: - bool m_enabled; - uint m_step; - QTimer* m_pTimer; - QColor m_CurrentColor; - QPen m_Pen; - bool m_CurrentState; - QImage* m_pImg; - static TranslucentButtons* m_psActiveButton; /*Workaround for a Qt bug*/ + //Attributes + bool m_enabled ; + uint m_step ; + QTimer* m_pTimer ; + QColor m_CurrentColor; + QPen m_Pen ; + bool m_CurrentState; + QImage* m_pImg ; + public slots: void setVisible(bool enabled); private slots: