-rw-r--r-- | core/launcher/inputmethods.cpp | 20 | ||||
-rw-r--r-- | core/launcher/inputmethods.h | 1 | ||||
-rw-r--r-- | core/launcher/taskbar.cpp | 13 | ||||
-rw-r--r-- | core/launcher/taskbar.h | 5 | ||||
-rw-r--r-- | core/settings/launcher/inputmethodsettings.cpp | 29 | ||||
-rw-r--r-- | core/settings/launcher/inputmethodsettings.h | 9 |
6 files changed, 58 insertions, 19 deletions
diff --git a/core/launcher/inputmethods.cpp b/core/launcher/inputmethods.cpp index a0e8939..7e99796 100644 --- a/core/launcher/inputmethods.cpp +++ b/core/launcher/inputmethods.cpp | |||
@@ -88,13 +88,9 @@ public: | |||
88 | InputMethods::InputMethods( QWidget *parent ) : | 88 | InputMethods::InputMethods( QWidget *parent ) : |
89 | QWidget( parent, "InputMethods", WStyle_Tool | WStyle_Customize ), | 89 | QWidget( parent, "InputMethods", WStyle_Tool | WStyle_Customize ), |
90 | mkeyboard(0), imethod(0) | 90 | mkeyboard(0), imethod(0) |
91 | { | 91 | { |
92 | Config cfg( "Launcher" ); | 92 | readConfig(); |
93 | cfg.setGroup( "InputMethods" ); | ||
94 | inputWidgetStyle = QWidget::WStyle_Customize | QWidget::WStyle_StaysOnTop | QWidget::WGroupLeader | QWidget::WStyle_Tool; | ||
95 | inputWidgetStyle |= cfg.readBoolEntry( "Float", false ) ? QWidget::WStyle_DialogBorder : 0; | ||
96 | inputWidgetWidth = cfg.readNumEntry( "Width", 100 ); | ||
97 | 93 | ||
98 | setBackgroundMode( PaletteBackground ); | 94 | setBackgroundMode( PaletteBackground ); |
99 | QHBoxLayout *hbox = new QHBoxLayout( this ); | 95 | QHBoxLayout *hbox = new QHBoxLayout( this ); |
100 | 96 | ||
@@ -531,9 +527,9 @@ void InputMethods::showKbd( bool on ) | |||
531 | { | 527 | { |
532 | mkeyboard->resetState(); | 528 | mkeyboard->resetState(); |
533 | 529 | ||
534 | int height = QMIN( mkeyboard->widget->sizeHint().height(), 134 ); | 530 | int height = QMIN( mkeyboard->widget->sizeHint().height(), 134 ); |
535 | int width = qApp->desktop()->width() * (inputWidgetWidth*0.01); | 531 | int width = static_cast<int>( qApp->desktop()->width() * (inputWidgetWidth*0.01) ); |
536 | int left = 0; | 532 | int left = 0; |
537 | int top = mapToGlobal( QPoint() ).y() - height; | 533 | int top = mapToGlobal( QPoint() ).y() - height; |
538 | 534 | ||
539 | if ( inputWidgetStyle & QWidget::WStyle_DialogBorder ) | 535 | if ( inputWidgetStyle & QWidget::WStyle_DialogBorder ) |
@@ -607,9 +603,9 @@ void InputMethods::sendKey( ushort unicode, ushort scancode, ushort mod, bool pr | |||
607 | QWSServer::sendKeyEvent( unicode, scancode, mod, press, repeat ); | 603 | QWSServer::sendKeyEvent( unicode, scancode, mod, press, repeat ); |
608 | #endif | 604 | #endif |
609 | } | 605 | } |
610 | 606 | ||
611 | bool InputMethods::eventFilter( QObject* o, QEvent* e ) | 607 | bool InputMethods::eventFilter( QObject* , QEvent* e ) |
612 | { | 608 | { |
613 | if ( e->type() == QEvent::Close ) | 609 | if ( e->type() == QEvent::Close ) |
614 | { | 610 | { |
615 | ( (QCloseEvent*) e )->ignore(); | 611 | ( (QCloseEvent*) e )->ignore(); |
@@ -618,4 +614,14 @@ bool InputMethods::eventFilter( QObject* o, QEvent* e ) | |||
618 | return true; | 614 | return true; |
619 | } | 615 | } |
620 | return false; | 616 | return false; |
621 | } | 617 | } |
618 | |||
619 | void InputMethods::readConfig() { | ||
620 | Config cfg( "Launcher" ); | ||
621 | cfg.setGroup( "InputMethods" ); | ||
622 | |||
623 | inputWidgetStyle = QWidget::WStyle_Customize | QWidget::WStyle_StaysOnTop | QWidget::WGroupLeader | QWidget::WStyle_Tool; | ||
624 | inputWidgetStyle |= cfg.readBoolEntry( "Float", false ) ? | ||
625 | QWidget::WStyle_DialogBorder : 0; | ||
626 | inputWidgetWidth = cfg.readNumEntry( "Width", 100 ); | ||
627 | } | ||
diff --git a/core/launcher/inputmethods.h b/core/launcher/inputmethods.h index 55ac020..2e0b1e8 100644 --- a/core/launcher/inputmethods.h +++ b/core/launcher/inputmethods.h | |||
@@ -73,8 +73,9 @@ public: | |||
73 | void hideInputMethod(); | 73 | void hideInputMethod(); |
74 | void unloadInputMethods(); | 74 | void unloadInputMethods(); |
75 | void loadInputMethods(); | 75 | void loadInputMethods(); |
76 | virtual bool eventFilter( QObject *, QEvent * ); | 76 | virtual bool eventFilter( QObject *, QEvent * ); |
77 | void readConfig(); | ||
77 | 78 | ||
78 | signals: | 79 | signals: |
79 | void inputToggled( bool on ); | 80 | void inputToggled( bool on ); |
80 | 81 | ||
diff --git a/core/launcher/taskbar.cpp b/core/launcher/taskbar.cpp index abe238f..63361fe 100644 --- a/core/launcher/taskbar.cpp +++ b/core/launcher/taskbar.cpp | |||
@@ -175,11 +175,10 @@ TaskBar::~TaskBar() | |||
175 | 175 | ||
176 | 176 | ||
177 | TaskBar::TaskBar() : QHBox(0, 0, WStyle_Customize | WStyle_Tool | WStyle_StaysOnTop | WGroupLeader) | 177 | TaskBar::TaskBar() : QHBox(0, 0, WStyle_Customize | WStyle_Tool | WStyle_StaysOnTop | WGroupLeader) |
178 | { | 178 | { |
179 | Config cfg( "Launcher" ); | 179 | /* Read InputMethod Config */ |
180 | cfg.setGroup( "InputMethods" ); | 180 | readConfig(); |
181 | resizeRunningApp = cfg.readBoolEntry( "Resize", true ); | ||
182 | 181 | ||
183 | sm = new StartMenu( this ); | 182 | sm = new StartMenu( this ); |
184 | connect( sm, SIGNAL(tabSelected(const QString&)), this, | 183 | connect( sm, SIGNAL(tabSelected(const QString&)), this, |
185 | SIGNAL(tabSelected(const QString&)) ); | 184 | SIGNAL(tabSelected(const QString&)) ); |
@@ -334,8 +333,10 @@ void TaskBar::receive( const QCString &msg, const QByteArray &data ) | |||
334 | QString name; | 333 | QString name; |
335 | stream >> name; | 334 | stream >> name; |
336 | inputMethods->showInputMethod(name); | 335 | inputMethods->showInputMethod(name); |
337 | } else if ( msg == "reloadInputMethods()" ) { | 336 | } else if ( msg == "reloadInputMethods()" ) { |
337 | readConfig(); | ||
338 | inputMethods->readConfig(); | ||
338 | inputMethods->loadInputMethods(); | 339 | inputMethods->loadInputMethods(); |
339 | } else if ( msg == "reloadApplets()" ) { | 340 | } else if ( msg == "reloadApplets()" ) { |
340 | sysTray->clearApplets(); | 341 | sysTray->clearApplets(); |
341 | sm->createMenu(); | 342 | sm->createMenu(); |
@@ -376,5 +377,11 @@ void TaskBar::toggleSymbolInput() | |||
376 | inputMethods->showInputMethod( unicodeInput ); | 377 | inputMethods->showInputMethod( unicodeInput ); |
377 | } | 378 | } |
378 | } | 379 | } |
379 | 380 | ||
381 | void TaskBar::readConfig() { | ||
382 | Config cfg( "Launcher" ); | ||
383 | cfg.setGroup( "InputMethods" ); | ||
384 | resizeRunningApp = cfg.readBoolEntry( "Resize", true ); | ||
385 | } | ||
386 | |||
380 | #include "taskbar.moc" | 387 | #include "taskbar.moc" |
diff --git a/core/launcher/taskbar.h b/core/launcher/taskbar.h index ed558b1..be5fda8 100644 --- a/core/launcher/taskbar.h +++ b/core/launcher/taskbar.h | |||
@@ -64,13 +64,16 @@ public slots: | |||
64 | protected: | 64 | protected: |
65 | void resizeEvent( QResizeEvent * ); | 65 | void resizeEvent( QResizeEvent * ); |
66 | void styleChange( QStyle & ); | 66 | void styleChange( QStyle & ); |
67 | void setStatusMessage( const QString &text ); | 67 | void setStatusMessage( const QString &text ); |
68 | 68 | ||
69 | private slots: | 69 | private slots: |
70 | void receive( const QCString &msg, const QByteArray &data ); | 70 | void receive( const QCString &msg, const QByteArray &data ); |
71 | 71 | ||
72 | private: | 72 | private: |
73 | void readConfig(); | ||
74 | |||
75 | private: | ||
73 | QTimer *waitTimer; | 76 | QTimer *waitTimer; |
74 | Wait *waitIcon; | 77 | Wait *waitIcon; |
75 | InputMethods *inputMethods; | 78 | InputMethods *inputMethods; |
76 | SysTray *sysTray; | 79 | SysTray *sysTray; |
diff --git a/core/settings/launcher/inputmethodsettings.cpp b/core/settings/launcher/inputmethodsettings.cpp index 0422075..125b178 100644 --- a/core/settings/launcher/inputmethodsettings.cpp +++ b/core/settings/launcher/inputmethodsettings.cpp | |||
@@ -30,8 +30,9 @@ | |||
30 | 30 | ||
31 | /* OPIE */ | 31 | /* OPIE */ |
32 | #include <qpe/config.h> | 32 | #include <qpe/config.h> |
33 | #include <opie2/odebug.h> | 33 | #include <opie2/odebug.h> |
34 | #include <qpe/qcopenvelope_qws.h> | ||
34 | 35 | ||
35 | /* QT */ | 36 | /* QT */ |
36 | #include <qspinbox.h> | 37 | #include <qspinbox.h> |
37 | #include <qcheckbox.h> | 38 | #include <qcheckbox.h> |
@@ -55,11 +56,19 @@ InputMethodSettings::InputMethodSettings( QWidget *parent, const char *name ):QW | |||
55 | hbox->addStretch(); | 56 | hbox->addStretch(); |
56 | 57 | ||
57 | Config cfg( "Launcher" ); | 58 | Config cfg( "Launcher" ); |
58 | cfg.setGroup( "InputMethods" ); | 59 | cfg.setGroup( "InputMethods" ); |
59 | _resize->setChecked( cfg.readBoolEntry( "Resize", true ) ); | 60 | |
60 | _float->setChecked( cfg.readBoolEntry( "Float", false ) ); | 61 | /* |
61 | _size->setValue( cfg.readNumEntry( "Width", 100 ) ); | 62 | * load the values to see if something was changed |
63 | */ | ||
64 | _wasResize = cfg.readBoolEntry( "Resize", true ); | ||
65 | _wasFloat = cfg.readBoolEntry( "Float", false ); | ||
66 | _wasWidth = cfg.readNumEntry( "Width", 100 ); | ||
67 | |||
68 | _resize->setChecked( _wasResize ); | ||
69 | _float ->setChecked( _wasFloat ); | ||
70 | _size ->setValue( _wasWidth ); | ||
62 | 71 | ||
63 | lay->addWidget( _resize ); | 72 | lay->addWidget( _resize ); |
64 | lay->addWidget( _float ); | 73 | lay->addWidget( _float ); |
65 | lay->addWidget( new QLabel( tr( "<b>Note:</b> Changing these settings may need restarting Opie to become effective." ), this ) ); | 74 | lay->addWidget( new QLabel( tr( "<b>Note:</b> Changing these settings may need restarting Opie to become effective." ), this ) ); |
@@ -70,10 +79,17 @@ InputMethodSettings::InputMethodSettings( QWidget *parent, const char *name ):QW | |||
70 | QWhatsThis::add( _float, tr( "Check, if you want to move and/or resize input methods" ) ); | 79 | QWhatsThis::add( _float, tr( "Check, if you want to move and/or resize input methods" ) ); |
71 | QWhatsThis::add( _size, tr( "Specify the percentage of the screen width for the input method" ) ); | 80 | QWhatsThis::add( _size, tr( "Specify the percentage of the screen width for the input method" ) ); |
72 | } | 81 | } |
73 | 82 | ||
74 | void InputMethodSettings::appletChanged() | 83 | bool InputMethodSettings::changed()const{ |
75 | { | 84 | if ( _wasResize != _resize->isChecked() ) |
85 | return true; | ||
86 | else if ( _wasFloat != _float->isChecked() ) | ||
87 | return true; | ||
88 | else if ( _wasWidth != _size->value() ) | ||
89 | return true; | ||
90 | else | ||
91 | return false; | ||
76 | } | 92 | } |
77 | 93 | ||
78 | void InputMethodSettings::accept() | 94 | void InputMethodSettings::accept() |
79 | { | 95 | { |
@@ -83,6 +99,9 @@ void InputMethodSettings::accept() | |||
83 | cfg.writeEntry( "Resize", _resize->isChecked() ); | 99 | cfg.writeEntry( "Resize", _resize->isChecked() ); |
84 | cfg.writeEntry( "Float", _float->isChecked() ); | 100 | cfg.writeEntry( "Float", _float->isChecked() ); |
85 | cfg.writeEntry( "Width", _size->value() ); | 101 | cfg.writeEntry( "Width", _size->value() ); |
86 | cfg.write(); | 102 | cfg.write(); |
103 | |||
104 | if ( changed() ) | ||
105 | QCopEnvelope( "QPE/TaskBar", "reloadInputMethods()" ); | ||
87 | } | 106 | } |
88 | 107 | ||
diff --git a/core/settings/launcher/inputmethodsettings.h b/core/settings/launcher/inputmethodsettings.h index 486ee5e..2ae43f2 100644 --- a/core/settings/launcher/inputmethodsettings.h +++ b/core/settings/launcher/inputmethodsettings.h | |||
@@ -41,17 +41,20 @@ class InputMethodSettings : public QWidget | |||
41 | InputMethodSettings ( QWidget *parent = 0, const char *name = 0 ); | 41 | InputMethodSettings ( QWidget *parent = 0, const char *name = 0 ); |
42 | 42 | ||
43 | void accept ( ); | 43 | void accept ( ); |
44 | 44 | ||
45 | protected slots: | ||
46 | void appletChanged ( ); | ||
47 | |||
48 | protected: | 45 | protected: |
49 | void init ( ); | 46 | void init ( ); |
50 | 47 | ||
51 | private: | 48 | private: |
52 | QCheckBox* _resize; | 49 | QCheckBox* _resize; |
53 | QCheckBox* _float; | 50 | QCheckBox* _float; |
54 | QSpinBox* _size; | 51 | QSpinBox* _size; |
52 | |||
53 | private: | ||
54 | bool changed()const; | ||
55 | bool _wasResize : 1; | ||
56 | bool _wasFloat : 1; | ||
57 | int _wasWidth; | ||
55 | }; | 58 | }; |
56 | 59 | ||
57 | #endif | 60 | #endif |