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 /core/settings/launcher | |
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/settings/launcher/inputmethodsettings.cpp | 29 | ||||
-rw-r--r-- | core/settings/launcher/inputmethodsettings.h | 9 |
2 files changed, 30 insertions, 8 deletions
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 | |||
@@ -22,24 +22,25 @@ | |||
22 | -_. . . )=. = see the file COPYING. If not, write to the | 22 | -_. . . )=. = see the file COPYING. If not, write to the |
23 | -- :-=` Free Software Foundation, Inc., | 23 | -- :-=` Free Software Foundation, Inc., |
24 | 59 Temple Place - Suite 330, | 24 | 59 Temple Place - Suite 330, |
25 | Boston, MA 02111-1307, USA. | 25 | Boston, MA 02111-1307, USA. |
26 | 26 | ||
27 | */ | 27 | */ |
28 | 28 | ||
29 | #include "inputmethodsettings.h" | 29 | #include "inputmethodsettings.h" |
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> |
38 | #include <qlayout.h> | 39 | #include <qlayout.h> |
39 | #include <qlabel.h> | 40 | #include <qlabel.h> |
40 | #include <qwhatsthis.h> | 41 | #include <qwhatsthis.h> |
41 | 42 | ||
42 | 43 | ||
43 | InputMethodSettings::InputMethodSettings( QWidget *parent, const char *name ):QWidget( parent, name ) | 44 | InputMethodSettings::InputMethodSettings( QWidget *parent, const char *name ):QWidget( parent, name ) |
44 | { | 45 | { |
45 | QBoxLayout *lay = new QVBoxLayout( this, 4, 4 ); | 46 | QBoxLayout *lay = new QVBoxLayout( this, 4, 4 ); |
@@ -47,42 +48,60 @@ InputMethodSettings::InputMethodSettings( QWidget *parent, const char *name ):QW | |||
47 | _resize = new QCheckBox( tr( "Resize application on Popup" ), this ); | 48 | _resize = new QCheckBox( tr( "Resize application on Popup" ), this ); |
48 | _float = new QCheckBox( tr( "Enable floating and resizing" ), this ); | 49 | _float = new QCheckBox( tr( "Enable floating and resizing" ), this ); |
49 | 50 | ||
50 | QHBoxLayout* hbox = new QHBoxLayout( lay, 4 ); | 51 | QHBoxLayout* hbox = new QHBoxLayout( lay, 4 ); |
51 | hbox->addWidget( new QLabel( "Initial Width:", this ) ); | 52 | hbox->addWidget( new QLabel( "Initial Width:", this ) ); |
52 | _size = new QSpinBox( 10, 100, 10, this ); | 53 | _size = new QSpinBox( 10, 100, 10, this ); |
53 | _size->setSuffix( "%" ); | 54 | _size->setSuffix( "%" ); |
54 | hbox->addWidget( _size ); | 55 | hbox->addWidget( _size ); |
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 ) ); |
66 | 75 | ||
67 | lay->addStretch(); | 76 | lay->addStretch(); |
68 | 77 | ||
69 | QWhatsThis::add( _resize, tr( "Check, if you want the application to be automatically resized if the input method pops up." ) ); | 78 | QWhatsThis::add( _resize, tr( "Check, if you want the application to be automatically resized if the input method pops up." ) ); |
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 | { |
80 | odebug << "InputMethodSettings::accept()" << oendl; | 96 | odebug << "InputMethodSettings::accept()" << oendl; |
81 | Config cfg( "Launcher" ); | 97 | Config cfg( "Launcher" ); |
82 | cfg.setGroup( "InputMethods" ); | 98 | cfg.setGroup( "InputMethods" ); |
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 | |||
@@ -33,25 +33,28 @@ | |||
33 | class QCheckBox; | 33 | class QCheckBox; |
34 | class QSpinBox; | 34 | class QSpinBox; |
35 | 35 | ||
36 | class InputMethodSettings : public QWidget | 36 | class InputMethodSettings : public QWidget |
37 | { | 37 | { |
38 | Q_OBJECT | 38 | Q_OBJECT |
39 | 39 | ||
40 | public: | 40 | public: |
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 |