author | zecke <zecke> | 2002-10-17 17:05:26 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-10-17 17:05:26 (UTC) |
commit | 9ac29a12a1ba49069a85f8966b1aac89dda7817c (patch) (unidiff) | |
tree | 7c959c1ec504d01616601ddb6d71195b42a42db4 | |
parent | d7cdf9468af510848688584caf34cb1cc03b8562 (diff) | |
download | opie-9ac29a12a1ba49069a85f8966b1aac89dda7817c.zip opie-9ac29a12a1ba49069a85f8966b1aac89dda7817c.tar.gz opie-9ac29a12a1ba49069a85f8966b1aac89dda7817c.tar.bz2 |
More implementation and stubs to build launcher
-rw-r--r-- | x11/libqpe-x11/qpe/qpeapplication.cpp | 26 | ||||
-rw-r--r-- | x11/libqpe-x11/qpe/qpeapplication.h | 9 | ||||
-rw-r--r-- | x11/libqpe-x11/qt/qwindowsystem_qws.h | 19 |
3 files changed, 53 insertions, 1 deletions
diff --git a/x11/libqpe-x11/qpe/qpeapplication.cpp b/x11/libqpe-x11/qpe/qpeapplication.cpp index 6e4a96c..8785c74 100644 --- a/x11/libqpe-x11/qpe/qpeapplication.cpp +++ b/x11/libqpe-x11/qpe/qpeapplication.cpp | |||
@@ -539,134 +539,160 @@ bool QPEApplication::eventFilter( QObject* o, QEvent* e ) { | |||
539 | case QEvent::MouseButtonPress: | 539 | case QEvent::MouseButtonPress: |
540 | if ( me->button() == LeftButton ) { | 540 | if ( me->button() == LeftButton ) { |
541 | d->presstimer = startTimer(500); // #### pref. | 541 | d->presstimer = startTimer(500); // #### pref. |
542 | d->presswidget = (QWidget*)o; | 542 | d->presswidget = (QWidget*)o; |
543 | d->presspos = me->pos(); | 543 | d->presspos = me->pos(); |
544 | d->rightpressed = FALSE; | 544 | d->rightpressed = FALSE; |
545 | } | 545 | } |
546 | break; | 546 | break; |
547 | case QEvent::MouseMove: | 547 | case QEvent::MouseMove: |
548 | if (d->presstimer && (me->pos() - d->presspos).manhattanLength() > 8) { | 548 | if (d->presstimer && (me->pos() - d->presspos).manhattanLength() > 8) { |
549 | killTimer(d->presstimer); | 549 | killTimer(d->presstimer); |
550 | d->presstimer = 0; | 550 | d->presstimer = 0; |
551 | } | 551 | } |
552 | break; | 552 | break; |
553 | case QEvent::MouseButtonRelease: | 553 | case QEvent::MouseButtonRelease: |
554 | if ( me->button() == LeftButton ) { | 554 | if ( me->button() == LeftButton ) { |
555 | if ( d->presstimer ) { | 555 | if ( d->presstimer ) { |
556 | killTimer(d->presstimer); | 556 | killTimer(d->presstimer); |
557 | d->presstimer = 0; | 557 | d->presstimer = 0; |
558 | } | 558 | } |
559 | if ( d->rightpressed && d->presswidget ) { | 559 | if ( d->rightpressed && d->presswidget ) { |
560 | // Right released | 560 | // Right released |
561 | postEvent( d->presswidget, | 561 | postEvent( d->presswidget, |
562 | new QMouseEvent( QEvent::MouseButtonRelease, me->pos(), | 562 | new QMouseEvent( QEvent::MouseButtonRelease, me->pos(), |
563 | RightButton, LeftButton + RightButton ) ); | 563 | RightButton, LeftButton + RightButton ) ); |
564 | // Left released, off-widget | 564 | // Left released, off-widget |
565 | postEvent( d->presswidget, | 565 | postEvent( d->presswidget, |
566 | new QMouseEvent( QEvent::MouseMove, QPoint( -1, -1), | 566 | new QMouseEvent( QEvent::MouseMove, QPoint( -1, -1), |
567 | LeftButton, LeftButton ) ); | 567 | LeftButton, LeftButton ) ); |
568 | postEvent( d->presswidget, | 568 | postEvent( d->presswidget, |
569 | new QMouseEvent( QEvent::MouseButtonRelease, QPoint( -1, -1), | 569 | new QMouseEvent( QEvent::MouseButtonRelease, QPoint( -1, -1), |
570 | LeftButton, LeftButton ) ); | 570 | LeftButton, LeftButton ) ); |
571 | d->rightpressed = FALSE; | 571 | d->rightpressed = FALSE; |
572 | return TRUE; // don't send the real Left release | 572 | return TRUE; // don't send the real Left release |
573 | } | 573 | } |
574 | } | 574 | } |
575 | break; | 575 | break; |
576 | default: | 576 | default: |
577 | break; | 577 | break; |
578 | } | 578 | } |
579 | break; | 579 | break; |
580 | default: | 580 | default: |
581 | ; | 581 | ; |
582 | } | 582 | } |
583 | } | 583 | } |
584 | else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { | 584 | else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { |
585 | QKeyEvent *ke = (QKeyEvent *)e; | 585 | QKeyEvent *ke = (QKeyEvent *)e; |
586 | if ( ke->key() == Key_Enter ) { | 586 | if ( ke->key() == Key_Enter ) { |
587 | if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) { | 587 | if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) { |
588 | postEvent( o, new QKeyEvent( e->type(), Key_Space, ' ', | 588 | postEvent( o, new QKeyEvent( e->type(), Key_Space, ' ', |
589 | ke->state(), " ", ke->isAutoRepeat(), ke->count() ) ); | 589 | ke->state(), " ", ke->isAutoRepeat(), ke->count() ) ); |
590 | return TRUE; | 590 | return TRUE; |
591 | } | 591 | } |
592 | } | 592 | } |
593 | } | 593 | } |
594 | return FALSE; | 594 | return FALSE; |
595 | } | 595 | } |
596 | 596 | ||
597 | // Quit stuff | 597 | // Quit stuff |
598 | void QPEApplication::restart() { | 598 | void QPEApplication::restart() { |
599 | 599 | ||
600 | } | 600 | } |
601 | void QPEApplication::shutdown() { | 601 | void QPEApplication::shutdown() { |
602 | 602 | ||
603 | } | 603 | } |
604 | void QPEApplication::tryQuit() { | 604 | void QPEApplication::tryQuit() { |
605 | qWarning("TryQuit!!"); | 605 | qWarning("TryQuit!!"); |
606 | if ( activeModalWidget() || strcmp( argv() [ 0 ], "embeddedkonsole" ) == 0 ) | 606 | if ( activeModalWidget() || strcmp( argv() [ 0 ], "embeddedkonsole" ) == 0 ) |
607 | return ; // Inside modal loop or konsole. Too hard to save state. | 607 | return ; // Inside modal loop or konsole. Too hard to save state. |
608 | { | 608 | { |
609 | QCopEnvelope e( "QPE/System", "closing(QString)" ); | 609 | QCopEnvelope e( "QPE/System", "closing(QString)" ); |
610 | e << d->appName; | 610 | e << d->appName; |
611 | } | 611 | } |
612 | processEvents(); | 612 | processEvents(); |
613 | 613 | ||
614 | quit(); | 614 | quit(); |
615 | } | 615 | } |
616 | void QPEApplication::hideOrQuit() { | 616 | void QPEApplication::hideOrQuit() { |
617 | qWarning("hide or close"); | 617 | qWarning("hide or close"); |
618 | processEvents(); | 618 | processEvents(); |
619 | qWarning("past processing"); | 619 | qWarning("past processing"); |
620 | 620 | ||
621 | // If we are a preloaded application we don't actually quit, so emit | 621 | // If we are a preloaded application we don't actually quit, so emit |
622 | // a System message indicating we're quasi-closing. | 622 | // a System message indicating we're quasi-closing. |
623 | if ( d->preloaded && d->qpe_main_widget ) | 623 | if ( d->preloaded && d->qpe_main_widget ) |
624 | 624 | ||
625 | { | 625 | { |
626 | qWarning("hiding"); | 626 | qWarning("hiding"); |
627 | QCopEnvelope e("QPE/System", "fastAppHiding(QString)" ); | 627 | QCopEnvelope e("QPE/System", "fastAppHiding(QString)" ); |
628 | e << d->appName; | 628 | e << d->appName; |
629 | d->qpe_main_widget->hide(); | 629 | d->qpe_main_widget->hide(); |
630 | } | 630 | } |
631 | else | 631 | else |
632 | quit(); | 632 | quit(); |
633 | } | 633 | } |
634 | 634 | ||
635 | /*! | ||
636 | \internal | ||
637 | */ | ||
638 | void QPEApplication::prepareForTermination( bool willrestart ) | ||
639 | { | ||
640 | if ( willrestart ) { | ||
641 | // Draw a big wait icon, the image can be altered in later revisions | ||
642 | // QWidget *d = QApplication::desktop(); | ||
643 | QImage img = Resource::loadImage( "launcher/new_wait" ); | ||
644 | QPixmap pix; | ||
645 | pix.convertFromImage( img.smoothScale( 1 * img.width(), 1 * img.height() ) ); | ||
646 | QLabel *lblWait = new QLabel( 0, "wait hack!", QWidget::WStyle_Customize | | ||
647 | QWidget::WStyle_NoBorder | QWidget::WStyle_Tool ); | ||
648 | lblWait->setPixmap( pix ); | ||
649 | lblWait->setAlignment( QWidget::AlignCenter ); | ||
650 | lblWait->show(); | ||
651 | lblWait->showMaximized(); | ||
652 | } | ||
653 | #ifndef SINGLE_APP | ||
654 | { QCopEnvelope envelope( "QPE/System", "forceQuit()" ); | ||
655 | } | ||
656 | processEvents(); // ensure the message goes out. | ||
657 | sleep( 1 ); // You have 1 second to comply. | ||
658 | #endif | ||
659 | } | ||
660 | |||
635 | #if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX) | 661 | #if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX) |
636 | 662 | ||
637 | // The libraries with the skiff package (and possibly others) have | 663 | // The libraries with the skiff package (and possibly others) have |
638 | // completely useless implementations of builtin new and delete that | 664 | // completely useless implementations of builtin new and delete that |
639 | // use about 50% of your CPU. Here we revert to the simple libc | 665 | // use about 50% of your CPU. Here we revert to the simple libc |
640 | // functions. | 666 | // functions. |
641 | 667 | ||
642 | void* operator new[]( size_t size ) | 668 | void* operator new[]( size_t size ) |
643 | { | 669 | { |
644 | return malloc( size ); | 670 | return malloc( size ); |
645 | } | 671 | } |
646 | 672 | ||
647 | void* operator new( size_t size ) | 673 | void* operator new( size_t size ) |
648 | { | 674 | { |
649 | return malloc( size ); | 675 | return malloc( size ); |
650 | } | 676 | } |
651 | 677 | ||
652 | void operator delete[]( void* p ) | 678 | void operator delete[]( void* p ) |
653 | { | 679 | { |
654 | free( p ); | 680 | free( p ); |
655 | } | 681 | } |
656 | 682 | ||
657 | void operator delete[]( void* p, size_t /*size*/ ) | 683 | void operator delete[]( void* p, size_t /*size*/ ) |
658 | { | 684 | { |
659 | free( p ); | 685 | free( p ); |
660 | } | 686 | } |
661 | 687 | ||
662 | void operator delete( void* p ) | 688 | void operator delete( void* p ) |
663 | { | 689 | { |
664 | free( p ); | 690 | free( p ); |
665 | } | 691 | } |
666 | 692 | ||
667 | void operator delete( void* p, size_t /*size*/ ) | 693 | void operator delete( void* p, size_t /*size*/ ) |
668 | { | 694 | { |
669 | free( p ); | 695 | free( p ); |
670 | } | 696 | } |
671 | 697 | ||
672 | #endif | 698 | #endif |
diff --git a/x11/libqpe-x11/qpe/qpeapplication.h b/x11/libqpe-x11/qpe/qpeapplication.h index 2af1c66..333f331 100644 --- a/x11/libqpe-x11/qpe/qpeapplication.h +++ b/x11/libqpe-x11/qpe/qpeapplication.h | |||
@@ -1,93 +1,102 @@ | |||
1 | #ifndef OPIE_QPE_APPLICATION_H | 1 | #ifndef OPIE_QPE_APPLICATION_H |
2 | #define OPIE_QPE_APPLICATION_H | 2 | #define OPIE_QPE_APPLICATION_H |
3 | 3 | ||
4 | /** | 4 | /** |
5 | * LGPLed | 5 | * LGPLed |
6 | */ | 6 | */ |
7 | 7 | ||
8 | #include <qapplication.h> | 8 | #include <qapplication.h> |
9 | #include <qevent.h> | 9 | #include <qevent.h> |
10 | 10 | ||
11 | #include <qpe/timestring.h> | 11 | #include <qpe/timestring.h> |
12 | 12 | ||
13 | class QCopChannel; | 13 | class QCopChannel; |
14 | class QPEApplication : public QApplication { | 14 | class QPEApplication : public QApplication { |
15 | Q_OBJECT | 15 | Q_OBJECT |
16 | public: | 16 | public: |
17 | QPEApplication(int& argc, char** argv, Type=GuiClient ); | 17 | QPEApplication(int& argc, char** argv, Type=GuiClient ); |
18 | ~QPEApplication(); | 18 | ~QPEApplication(); |
19 | 19 | ||
20 | 20 | ||
21 | static QString qpeDir(); | 21 | static QString qpeDir(); |
22 | static QString documentDir(); | 22 | static QString documentDir(); |
23 | void applyStyle(); | 23 | void applyStyle(); |
24 | 24 | ||
25 | static int defaultRotation(); | 25 | static int defaultRotation(); |
26 | static void setDefaultRotation( int r ); | 26 | static void setDefaultRotation( int r ); |
27 | static void grabKeyboard(); | 27 | static void grabKeyboard(); |
28 | static void ungrabKeyboard(); | 28 | static void ungrabKeyboard(); |
29 | 29 | ||
30 | enum StylusMode { | 30 | enum StylusMode { |
31 | LeftOnly, | 31 | LeftOnly, |
32 | RightOnHold | 32 | RightOnHold |
33 | }; | 33 | }; |
34 | static void setStylusOperation( QWidget*, StylusMode ); | 34 | static void setStylusOperation( QWidget*, StylusMode ); |
35 | static StylusMode stylusOperation( QWidget* ); | 35 | static StylusMode stylusOperation( QWidget* ); |
36 | 36 | ||
37 | enum InputMethodHint { | 37 | enum InputMethodHint { |
38 | Normal, | 38 | Normal, |
39 | AlwaysOff, | 39 | AlwaysOff, |
40 | AlwaysOn | 40 | AlwaysOn |
41 | }; | 41 | }; |
42 | static void setInputMethodHint( QWidget*, InputMethodHint ); | 42 | static void setInputMethodHint( QWidget*, InputMethodHint ); |
43 | static InputMethodHint inputMethodHint( QWidget* ); | 43 | static InputMethodHint inputMethodHint( QWidget* ); |
44 | 44 | ||
45 | void showMainWidget( QWidget*, bool nomax = FALSE ); | 45 | void showMainWidget( QWidget*, bool nomax = FALSE ); |
46 | void showMainDocumentWidget( QWidget*, bool nomax = FALSE ); | 46 | void showMainDocumentWidget( QWidget*, bool nomax = FALSE ); |
47 | 47 | ||
48 | static void showDialog( QDialog*, bool nomax = FALSE ); | 48 | static void showDialog( QDialog*, bool nomax = FALSE ); |
49 | static int execDialog( QDialog*, bool nomax = FALSE ); | 49 | static int execDialog( QDialog*, bool nomax = FALSE ); |
50 | 50 | ||
51 | static void setKeepRunning(); | 51 | static void setKeepRunning(); |
52 | bool keepRunning()const; | 52 | bool keepRunning()const; |
53 | 53 | ||
54 | bool keyboardGrabbed()const; | 54 | bool keyboardGrabbed()const; |
55 | int exec(); | 55 | int exec(); |
56 | 56 | ||
57 | // QWS bits | ||
58 | enum screenSaverHint { | ||
59 | Disable = 0, | ||
60 | DisableLightOff = 1, | ||
61 | DisableSuspend = 2, | ||
62 | Enable = 100 | ||
63 | }; | ||
64 | |||
57 | signals: | 65 | signals: |
58 | void clientMoused(); | 66 | void clientMoused(); |
59 | void timeChanged(); | 67 | void timeChanged(); |
60 | void clockChanged( bool pm ); | 68 | void clockChanged( bool pm ); |
61 | void micChanged( bool muted ); | 69 | void micChanged( bool muted ); |
62 | void volumeChanged( bool muted ); | 70 | void volumeChanged( bool muted ); |
63 | void appMessage( const QCString& msg, const QByteArray& data); | 71 | void appMessage( const QCString& msg, const QByteArray& data); |
64 | void weekChanged( bool startOnMonday ); | 72 | void weekChanged( bool startOnMonday ); |
65 | void dateFormatChanged( DateFormat ); | 73 | void dateFormatChanged( DateFormat ); |
66 | void flush(); | 74 | void flush(); |
67 | void reload(); | 75 | void reload(); |
68 | 76 | ||
69 | private: | 77 | private: |
70 | void initTranslations(); | 78 | void initTranslations(); |
71 | void internalSetStyle(const QString&); | 79 | void internalSetStyle(const QString&); |
72 | 80 | ||
73 | private slots: | 81 | private slots: |
74 | void hideOrQuit(); | 82 | void hideOrQuit(); |
75 | void systemMessage( const QCString&, const QByteArray& ); | 83 | void systemMessage( const QCString&, const QByteArray& ); |
76 | void pidMessage( const QCString&, const QByteArray& ); | 84 | void pidMessage( const QCString&, const QByteArray& ); |
77 | void removeSenderFromStylusDict(); | 85 | void removeSenderFromStylusDict(); |
78 | protected: | 86 | protected: |
79 | virtual void restart(); | 87 | virtual void restart(); |
80 | virtual void shutdown(); | 88 | virtual void shutdown(); |
89 | void prepareForTermination(bool willrestart); | ||
81 | bool eventFilter( QObject*, QEvent* ); | 90 | bool eventFilter( QObject*, QEvent* ); |
82 | void timerEvent( QTimerEvent* ); | 91 | void timerEvent( QTimerEvent* ); |
83 | void raiseAppropriateWindow(); | 92 | void raiseAppropriateWindow(); |
84 | virtual void tryQuit(); | 93 | virtual void tryQuit(); |
85 | 94 | ||
86 | private: | 95 | private: |
87 | class Private; | 96 | class Private; |
88 | Private* d; | 97 | Private* d; |
89 | QCopChannel *m_sys; | 98 | QCopChannel *m_sys; |
90 | QCopChannel *m_pid; | 99 | QCopChannel *m_pid; |
91 | }; | 100 | }; |
92 | 101 | ||
93 | #endif | 102 | #endif |
diff --git a/x11/libqpe-x11/qt/qwindowsystem_qws.h b/x11/libqpe-x11/qt/qwindowsystem_qws.h index 7bc43c5..2652f5f 100644 --- a/x11/libqpe-x11/qt/qwindowsystem_qws.h +++ b/x11/libqpe-x11/qt/qwindowsystem_qws.h | |||
@@ -1,18 +1,35 @@ | |||
1 | #ifndef OPIE_QWINDOWSYSTEM_H | 1 | #ifndef OPIE_QWINDOWSYSTEM_H |
2 | #define OPIE_QWINDOWSYSTEM_H | 2 | #define OPIE_QWINDOWSYSTEM_H |
3 | 3 | ||
4 | class QWSScreenSaver; | ||
4 | class QWSServer { | 5 | class QWSServer { |
5 | public: | 6 | public: |
6 | QWSServer(){} | 7 | QWSServer(){} |
7 | ~QWSServer(){} | 8 | ~QWSServer(){} |
8 | static void sendKeyEvent(int, int, int, bool, bool ) { } | 9 | static void sendKeyEvent(int, int, int, bool, bool ) { } |
9 | struct KeyboardFilter { | 10 | struct KeyboardFilter { |
10 | }; | 11 | }; |
11 | static void setKeyboardFilter( KeyboardFilter* ) { | 12 | static void setKeyboardFilter( KeyboardFilter* ) { |
12 | 13 | ||
13 | } | 14 | } |
15 | static void setScreenSaver( QWSScreenSaver* ) { | ||
14 | 16 | ||
15 | }; | 17 | } |
18 | static void setScreenSaverInterval( int ) { | ||
19 | |||
20 | } | ||
21 | static void setScreenSaverIntervals( int[] ) { | ||
22 | |||
23 | } | ||
24 | static void screenSaverActivate( bool ) { | ||
16 | 25 | ||
26 | } | ||
27 | static void setDesktopBackground( const QImage& ) { | ||
28 | |||
29 | } | ||
30 | |||
31 | }; | ||
32 | struct QWSScreenSaver { | ||
33 | }; | ||
17 | 34 | ||
18 | #endif | 35 | #endif |