author | zecke <zecke> | 2004-08-22 21:35:22 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-08-22 21:35:22 (UTC) |
commit | 8b5ab9a283c219aaba84a8b23adc6c3d29cef7d5 (patch) (unidiff) | |
tree | caf4d5d4cab240f2e7653b394666c5e2fb178798 | |
parent | 2304c546ec73f2643621f04d61128c2686812cd1 (diff) | |
download | opie-8b5ab9a283c219aaba84a8b23adc6c3d29cef7d5.zip opie-8b5ab9a283c219aaba84a8b23adc6c3d29cef7d5.tar.gz opie-8b5ab9a283c219aaba84a8b23adc6c3d29cef7d5.tar.bz2 |
Reload InputMethods when LauncherSettings changed InputMethod Options
-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 | |||
@@ -89,11 +89,7 @@ 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 ); |
@@ -532,7 +528,7 @@ void InputMethods::showKbd( bool on ) | |||
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 | ||
@@ -608,7 +604,7 @@ void InputMethods::sendKey( ushort unicode, ushort scancode, ushort mod, bool pr | |||
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 | { |
@@ -619,3 +615,13 @@ bool InputMethods::eventFilter( QObject* o, QEvent* e ) | |||
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 | |||
@@ -74,6 +74,7 @@ public: | |||
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 ); |
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 | |||
@@ -176,9 +176,8 @@ TaskBar::~TaskBar() | |||
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, |
@@ -335,6 +334,8 @@ void TaskBar::receive( const QCString &msg, const QByteArray &data ) | |||
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(); |
@@ -377,4 +378,10 @@ void TaskBar::toggleSymbolInput() | |||
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 | |||
@@ -65,11 +65,14 @@ 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; |
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 | |||
@@ -31,6 +31,7 @@ | |||
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> |
@@ -56,9 +57,17 @@ InputMethodSettings::InputMethodSettings( QWidget *parent, const char *name ):QW | |||
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 ); |
@@ -71,8 +80,15 @@ InputMethodSettings::InputMethodSettings( QWidget *parent, const char *name ):QW | |||
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() |
@@ -84,5 +100,8 @@ void InputMethodSettings::accept() | |||
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 | |||
@@ -42,9 +42,6 @@ class InputMethodSettings : public QWidget | |||
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 | ||
@@ -52,6 +49,12 @@ class InputMethodSettings : public QWidget | |||
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 |