~ubuntu-branches/ubuntu/natty/kvirc/natty

« back to all changes in this revision

Viewing changes to src/modules/objects/KvsObject_widget.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Kai Wasserbäch
  • Date: 2011-02-23 13:19:39 UTC
  • mfrom: (14.1.4 sid)
  • Revision ID: james.westby@ubuntu.com-20110223131939-fmb8l4arvgul8hy0
Tags: 4:4.1.1~svn5507-1
The "Cunning Advisor" release.

* Synced to upstream's SVN revision 5507.
* debian/kvirc-data.preinst: Removed. Upgrades from stable won't need it.
* debian/watch: Replace the "latest" part with "([\d\.]+)" to make us
  independent of the upstream symlink.
* debian/README.Debian:
  - Removed obsolete parts about Python and upgrades from 3.4.
  - Added notice about handling default script issues.
* debian/README.source: Updated for 4.1.1.
* debian/{compat,control,rules}: Updates for debhelper 8.
* debian/patches/10_fix_desktop_entry.patch: Refreshed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
73
73
QSize KviKvsWidget::sizeHint() const
74
74
{
75
75
        QSize size=QWidget::sizeHint();
76
 
        KviKvsVariant *tipret=new KviKvsVariant();
 
76
        KviKvsVariant oReturnBuffer;
77
77
        KviKvsVariantList params(new KviKvsVariant((kvs_int_t)size.width()),new KviKvsVariant((kvs_int_t)size.height()));
78
 
        m_pObject->callFunction(m_pObject,"sizeHintRequestEvent",tipret,&params);
79
 
        if (tipret->isArray())
 
78
        m_pObject->callFunction(m_pObject,"sizeHintRequestEvent",&oReturnBuffer,&params);
 
79
        if (oReturnBuffer.isArray())
80
80
        {
81
 
                if (tipret->array()->size()==2)
 
81
                if (oReturnBuffer.array()->size()==2)
82
82
                {
83
83
                        kvs_int_t w,h;
84
 
                        if (tipret->array()->at(0)->asInteger(w) && tipret->array()->at(1)->asInteger(h))return QSize(w,h);
 
84
                        if (oReturnBuffer.array()->at(0)->asInteger(w) && oReturnBuffer.array()->at(1)->asInteger(h))
 
85
                                return QSize(w,h);
85
86
                }
86
87
        }
87
88
        return QWidget::sizeHint();
737
738
                bool ret=false;
738
739
                int aparam;
739
740
                bool brokenhandler=false;
740
 
                KviKvsVariant *retv=new KviKvsVariant(ret);
 
741
                KviKvsVariant oReturnBuffer(ret);
741
742
 
742
743
                switch(e->type())
743
744
                {
745
746
                        {
746
747
                                QPoint iPoint=widget()->mapFromGlobal(((QContextMenuEvent *)e)->globalPos());
747
748
                                KviKvsVariantList params(new KviKvsVariant((kvs_int_t)iPoint.x()),new KviKvsVariant((kvs_int_t)iPoint.y()));
748
 
                                callFunction(this,"customContextMenuRequestedEvent",retv,&params);
 
749
                                callFunction(this,"customContextMenuRequestedEvent",&oReturnBuffer,&params);
749
750
                                break;
750
751
                        }
751
752
                        case QEvent::Shortcut:
752
753
                        {
753
754
                                KviKvsVariantList params(new KviKvsVariant((kvs_int_t)((QShortcutEvent *)e)->shortcutId()));
754
 
                                callFunction(this,"shortCutEvent",retv,&params);
 
755
                                callFunction(this,"shortCutEvent",&oReturnBuffer,&params);
755
756
                                break;
756
757
                        }
757
758
                        case QEvent::ToolTip:
768
769
                        }
769
770
                        case QEvent::Paint:
770
771
                        {
771
 
 
772
 
                                QRect rect=((QPaintEvent *)e)->rect();
773
 
                                KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("painter");
774
 
                                KviKvsVariantList params;
775
 
                                KviKvsObject * pObject = pClass->allocateInstance(0,"internalpainter",m_pContext,&params);
776
 
                                QPainter p(widget());
777
 
                                ((KvsObject_painter *)pObject)->setInternalPainter(&p);
778
 
                                p.setClipRect(rect);
779
 
                                kvs_hobject_t hobj=pObject->handle();
780
 
                                KviKvsVariantList params2(new KviKvsVariant(hobj),new KviKvsVariant((kvs_int_t)rect.x()),new KviKvsVariant((kvs_int_t)rect.y()),new KviKvsVariant((kvs_int_t)rect.width()),new KviKvsVariant((kvs_int_t)rect.height()));
781
 
                                callFunction(this,"paintEvent",retv,&params2);
782
 
                                pObject=KviKvsKernel::instance()->objectController()->lookupObject(hobj);
783
 
                                if (pObject) pObject->dieNow();
 
772
                                QRect rect=((QPaintEvent *)e)->rect();
 
773
                                KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("painter");
 
774
                                KviKvsVariantList params;
 
775
                                KviKvsObject * pObject = pClass->allocateInstance(0,"internalpainter",m_pContext,&params);
 
776
                                QPainter p(widget());
 
777
                                ((KvsObject_painter *)pObject)->setInternalPainter(&p);
 
778
                                p.setClipRect(rect);
 
779
                                kvs_hobject_t hobj=pObject->handle();
 
780
                                KviKvsVariantList params2(new KviKvsVariant(hobj),new KviKvsVariant((kvs_int_t)rect.x()),new KviKvsVariant((kvs_int_t)rect.y()),new KviKvsVariant((kvs_int_t)rect.width()),new KviKvsVariant((kvs_int_t)rect.height()));
 
781
                                callFunction(this,"paintEvent",&oReturnBuffer,&params2);
 
782
                                pObject=KviKvsKernel::instance()->objectController()->lookupObject(hobj);
 
783
                                if (pObject) pObject->dieNow();
784
784
                                break;
785
785
                        }
786
786
 
787
787
                case QEvent::KeyPress:
788
788
                        {
789
 
 
790
 
 
791
789
                                QString tmp="";
792
 
                                        switch(((QKeyEvent *)e)->key())
793
 
                                        {
794
 
                                        case Qt::Key_Return:
795
 
                                                tmp="Return";
796
 
                                                break;
797
 
                                        case Qt::Key_Down:
798
 
                                                tmp="Down";
799
 
                                                break;
800
 
                                        case Qt::Key_Up:
801
 
                                                tmp="Up";
802
 
                                                break;
803
 
                                        case Qt::Key_Left:
804
 
                                                tmp="Left";
805
 
                                                break;
806
 
                                        case Qt::Key_Right:
807
 
                                                tmp="Right";
808
 
                                                break;
809
 
                                        case Qt::Key_Shift:
810
 
                                                tmp="Shift";
811
 
                                                break;
812
 
                                        case Qt::Key_Control:
813
 
                                                tmp="Ctrl";
814
 
                                                break;
815
 
                                        case Qt::Key_Alt:
816
 
                                                tmp="Alt";
817
 
                                                break;
818
 
                                        case Qt::Key_CapsLock:
819
 
                                                tmp="CapsLock";
820
 
                                                break;
821
 
                                        case Qt::Key_Backspace:
822
 
                                                tmp="Backspace";
823
 
                                                break;
824
 
                                        case Qt::Key_Delete:
825
 
                                                tmp="Del";
826
 
                                                break;
827
 
                                        case Qt::Key_Enter:
828
 
                                                tmp="Enter";
829
 
                                                break;
830
 
                                        case Qt::Key_Escape:
831
 
                                                tmp="Esc";
832
 
                                                break;
833
 
                                        case Qt::Key_0:
834
 
                                                tmp="0";
835
 
                                                case Qt::Key_1:
836
 
                                                tmp="1";
837
 
                                                break;
838
 
                                        case Qt::Key_2:
839
 
                                                tmp="2";
840
 
                                                break;
841
 
                                        case Qt::Key_3:
842
 
                                                tmp="3";
843
 
                                                break;
844
 
                                        case Qt::Key_4:
845
 
                                                tmp="4";
846
 
                                                break;
847
 
                                        case Qt::Key_5:
848
 
                                                tmp="5";
849
 
                                                break;
850
 
                                        case Qt::Key_6:
851
 
                                                tmp="6";
852
 
                                                break;
853
 
                                        case Qt::Key_7:
854
 
                                                tmp="7";
855
 
                                                break;
856
 
                                        case Qt::Key_8:
857
 
                                                tmp="8";
858
 
                                                break;
859
 
                                        case Qt::Key_9:
860
 
                                                tmp="9";
861
 
                                                break;
862
 
                                        case Qt::Key_Plus:
863
 
                                                tmp="+";
864
 
                                                break;
865
 
                                        case Qt::Key_Minus:
866
 
                                                tmp="-";
867
 
                                                break;
868
 
                                        case Qt::Key_Slash:
869
 
                                                tmp="/";
870
 
                                                break;
871
 
                                        case Qt::Key_Asterisk:
872
 
                                                tmp="*";
873
 
                                                break;
874
 
                                        case Qt::Key_Period:
875
 
                                                tmp=".";
876
 
                                                break;
877
 
                                        case Qt::Key_ParenLeft:
878
 
                                                tmp="(";
879
 
                                                break;
880
 
                                        case Qt::Key_ParenRight:
881
 
                                                tmp=")";
882
 
                                                break;
883
 
                                        case Qt::Key_Equal:
884
 
                                                tmp="=";
885
 
                                                break;
886
 
                                        case Qt::Key_AsciiCircum:
887
 
                                                tmp="^";
888
 
                                                break;
889
 
                                        default:
890
 
                                                if (!((QKeyEvent *)e)->text().isEmpty()) tmp = ((QKeyEvent *)e)->text();
891
 
                                        }
 
790
                                switch(((QKeyEvent *)e)->key())
 
791
                                {
 
792
                                case Qt::Key_Return:
 
793
                                        tmp="Return";
 
794
                                        break;
 
795
                                case Qt::Key_Down:
 
796
                                        tmp="Down";
 
797
                                        break;
 
798
                                case Qt::Key_Up:
 
799
                                        tmp="Up";
 
800
                                        break;
 
801
                                case Qt::Key_Left:
 
802
                                        tmp="Left";
 
803
                                        break;
 
804
                                case Qt::Key_Right:
 
805
                                        tmp="Right";
 
806
                                        break;
 
807
                                case Qt::Key_Shift:
 
808
                                        tmp="Shift";
 
809
                                        break;
 
810
                                case Qt::Key_Control:
 
811
                                        tmp="Ctrl";
 
812
                                        break;
 
813
                                case Qt::Key_Alt:
 
814
                                        tmp="Alt";
 
815
                                        break;
 
816
                                case Qt::Key_CapsLock:
 
817
                                        tmp="CapsLock";
 
818
                                        break;
 
819
                                case Qt::Key_Backspace:
 
820
                                        tmp="Backspace";
 
821
                                        break;
 
822
                                case Qt::Key_Delete:
 
823
                                        tmp="Del";
 
824
                                        break;
 
825
                                case Qt::Key_Enter:
 
826
                                        tmp="Enter";
 
827
                                        break;
 
828
                                case Qt::Key_Escape:
 
829
                                        tmp="Esc";
 
830
                                        break;
 
831
                                case Qt::Key_0:
 
832
                                        tmp="0";
 
833
                                        case Qt::Key_1:
 
834
                                        tmp="1";
 
835
                                        break;
 
836
                                case Qt::Key_2:
 
837
                                        tmp="2";
 
838
                                        break;
 
839
                                case Qt::Key_3:
 
840
                                        tmp="3";
 
841
                                        break;
 
842
                                case Qt::Key_4:
 
843
                                        tmp="4";
 
844
                                        break;
 
845
                                case Qt::Key_5:
 
846
                                        tmp="5";
 
847
                                        break;
 
848
                                case Qt::Key_6:
 
849
                                        tmp="6";
 
850
                                        break;
 
851
                                case Qt::Key_7:
 
852
                                        tmp="7";
 
853
                                        break;
 
854
                                case Qt::Key_8:
 
855
                                        tmp="8";
 
856
                                        break;
 
857
                                case Qt::Key_9:
 
858
                                        tmp="9";
 
859
                                        break;
 
860
                                case Qt::Key_Plus:
 
861
                                        tmp="+";
 
862
                                        break;
 
863
                                case Qt::Key_Minus:
 
864
                                        tmp="-";
 
865
                                        break;
 
866
                                case Qt::Key_Slash:
 
867
                                        tmp="/";
 
868
                                        break;
 
869
                                case Qt::Key_Asterisk:
 
870
                                        tmp="*";
 
871
                                        break;
 
872
                                case Qt::Key_Period:
 
873
                                        tmp=".";
 
874
                                        break;
 
875
                                case Qt::Key_ParenLeft:
 
876
                                        tmp="(";
 
877
                                        break;
 
878
                                case Qt::Key_ParenRight:
 
879
                                        tmp=")";
 
880
                                        break;
 
881
                                case Qt::Key_Equal:
 
882
                                        tmp="=";
 
883
                                        break;
 
884
                                case Qt::Key_AsciiCircum:
 
885
                                        tmp="^";
 
886
                                        break;
 
887
                                default:
 
888
                                        if (!((QKeyEvent *)e)->text().isEmpty()) tmp = ((QKeyEvent *)e)->text();
 
889
                                }
892
890
 
893
891
                                KviKvsVariantList params(new KviKvsVariant(tmp));
894
892
                                callFunction(this,"keyPressEvent",0,&params);
957
955
                        }
958
956
                        break;
959
957
                        case QEvent::FocusIn:
960
 
                                if(!callFunction(this,"focusInEvent",retv,0))brokenhandler = true;
 
958
                                if(!callFunction(this,"focusInEvent",&oReturnBuffer,0))brokenhandler = true;
961
959
                        break;
962
960
                        case QEvent::FocusOut:
963
 
                                if(!callFunction(this,"focusOutEvent",retv,0))brokenhandler = true;
 
961
                                if(!callFunction(this,"focusOutEvent",&oReturnBuffer,0))brokenhandler = true;
964
962
                        break;
965
963
                        case QEvent::Resize:
966
 
                                if(!callFunction(this,"resizeEvent",retv,0))brokenhandler = true;
 
964
                                if(!callFunction(this,"resizeEvent",&oReturnBuffer,0))brokenhandler = true;
967
965
                        break;
968
966
                        case QEvent::Move:
969
 
                                if(!callFunction(this,"moveEvent",retv,0))brokenhandler = true;
 
967
                                if(!callFunction(this,"moveEvent",&oReturnBuffer,0))brokenhandler = true;
970
968
                        break;
971
969
                        case QEvent::Close:
972
 
                                if(!callFunction(this,"closeEvent",retv,0))brokenhandler = true;
 
970
                                if(!callFunction(this,"closeEvent",&oReturnBuffer,0))brokenhandler = true;
973
971
                        break;
974
972
                        case QEvent::Enter:
975
 
                                if(!callFunction(this,"mouseEnterEvent",retv,0))brokenhandler = true;
 
973
                                if(!callFunction(this,"mouseEnterEvent",&oReturnBuffer,0))brokenhandler = true;
976
974
                        break;
977
975
                        case QEvent::Leave:
978
 
                                if(!callFunction(this,"mouseLeaveEvent",retv,0))brokenhandler = true;
 
976
                                if(!callFunction(this,"mouseLeaveEvent",&oReturnBuffer,0))brokenhandler = true;
979
977
                        break;
980
978
                        case QEvent::Show:
981
 
                                if(!callFunction(this,"showEvent",retv,0))brokenhandler = true;
 
979
                                if(!callFunction(this,"showEvent",&oReturnBuffer,0))brokenhandler = true;
982
980
                        break;
983
981
                        case QEvent::Hide:
984
 
                                if(!callFunction(this,"hideEvent",retv,0))ret =false;
 
982
                                if(!callFunction(this,"hideEvent",&oReturnBuffer,0))ret =false;
985
983
                        break;
986
984
                        default:
987
985
                                return KviKvsObject::eventFilter(o,e);
988
986
                        break;
989
987
 
990
988
                }
991
 
                if (!brokenhandler)     ret=retv->asBoolean();
992
 
                delete retv;
 
989
                if (!brokenhandler)
 
990
                        ret = oReturnBuffer.asBoolean();
 
991
 
993
992
                return ret;
994
 
                /*
995
 
                if(ret.length() == 1)
996
 
                {
997
 
                        if(KviQString::equalCI("1",ret))return true;
998
 
                }
999
 
                */
1000
993
        }
1001
994
 
1002
995
        return KviKvsObject::eventFilter(o,e);