summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/button/buttonsettings.cpp8
-rw-r--r--core/settings/button/buttonsettings.h1
-rw-r--r--core/settings/button/buttonutils.cpp22
-rw-r--r--core/settings/button/remapdlg.cpp27
-rw-r--r--core/settings/button/remapdlg.h4
5 files changed, 48 insertions, 14 deletions
diff --git a/core/settings/button/buttonsettings.cpp b/core/settings/button/buttonsettings.cpp
index c71514c..8b0b0a8 100644
--- a/core/settings/button/buttonsettings.cpp
+++ b/core/settings/button/buttonsettings.cpp
@@ -60,6 +60,7 @@ ButtonSettings::ButtonSettings ( )
60 : QDialog ( 0, "ButtonSettings", false, WStyle_ContextHelp ) 60 : QDialog ( 0, "ButtonSettings", false, WStyle_ContextHelp )
61{ 61{
62 const QValueList <ODeviceButton> &buttons = ODevice::inst ( )-> buttons ( ); 62 const QValueList <ODeviceButton> &buttons = ODevice::inst ( )-> buttons ( );
63 (void) ButtonUtils::inst ( ); // initialise
63 64
64 setCaption ( tr( "Button Settings" )); 65 setCaption ( tr( "Button Settings" ));
65 66
@@ -133,6 +134,7 @@ ButtonSettings::ButtonSettings ( )
133 toplay-> addStretch ( 10 ); 134 toplay-> addStretch ( 10 );
134 135
135 m_last_button = 0; 136 m_last_button = 0;
137 m_lock = false;
136 138
137 m_timer = new QTimer ( this ); 139 m_timer = new QTimer ( this );
138 connect ( m_timer, SIGNAL( timeout ( )), this, SLOT( keyTimeout ( ))); 140 connect ( m_timer, SIGNAL( timeout ( )), this, SLOT( keyTimeout ( )));
@@ -208,6 +210,10 @@ void ButtonSettings::edit ( buttoninfo *bi, bool hold )
208{ 210{
209 qDebug ( "remap %s for %s", hold ? "hold" : "press", bi-> m_button-> userText ( ). latin1 ( )); 211 qDebug ( "remap %s for %s", hold ? "hold" : "press", bi-> m_button-> userText ( ). latin1 ( ));
210 212
213 if ( m_lock )
214 return;
215 m_lock = true;
216
211 RemapDlg *d = new RemapDlg ( bi-> m_button, hold, this ); 217 RemapDlg *d = new RemapDlg ( bi-> m_button, hold, this );
212 218
213 d-> showMaximized ( ); 219 d-> showMaximized ( );
@@ -227,6 +233,8 @@ void ButtonSettings::edit ( buttoninfo *bi, bool hold )
227 } 233 }
228 234
229 delete d; 235 delete d;
236
237 m_lock = false;
230} 238}
231 239
232void ButtonSettings::accept ( ) 240void ButtonSettings::accept ( )
diff --git a/core/settings/button/buttonsettings.h b/core/settings/button/buttonsettings.h
index f571825..d41a209 100644
--- a/core/settings/button/buttonsettings.h
+++ b/core/settings/button/buttonsettings.h
@@ -67,6 +67,7 @@ private:
67 buttoninfo *m_last_button; 67 buttoninfo *m_last_button;
68 68
69 QList <buttoninfo> m_infos; 69 QList <buttoninfo> m_infos;
70 bool m_lock;
70}; 71};
71 72
72#endif 73#endif
diff --git a/core/settings/button/buttonutils.cpp b/core/settings/button/buttonutils.cpp
index bb70047..91d2af3 100644
--- a/core/settings/button/buttonutils.cpp
+++ b/core/settings/button/buttonutils.cpp
@@ -101,19 +101,27 @@ void ButtonUtils::insertActions ( QListViewItem *here )
101 101
102void ButtonUtils::insertAppLnks ( QListViewItem *here ) 102void ButtonUtils::insertAppLnks ( QListViewItem *here )
103{ 103{
104 QStringList types = m_apps-> types ( ); 104 QStringList types = m_apps-> types ( );
105 QListViewItem *typeitem [types. count ( )];
105 106
107 int i = 0;
106 for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) { 108 for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) {
107 QListViewItem *item = new QListViewItem ( here, m_apps-> typeName ( *it )); 109 QListViewItem *item = new QListViewItem ( here, m_apps-> typeName ( *it ));
108 item-> setPixmap ( 0, m_apps-> typePixmap ( *it )); 110 item-> setPixmap ( 0, m_apps-> typePixmap ( *it ));
109 111
110 for ( QListIterator <AppLnk> appit ( m_apps-> children ( )); *appit; ++appit ) { 112 typeitem [i++] = item;
111 AppLnk *l = *appit; 113 }
112 114
115 for ( QListIterator <AppLnk> appit ( m_apps-> children ( )); *appit; ++appit ) {
116 AppLnk *l = *appit;
117
118 int i = 0;
119 for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) {
113 if ( l-> type ( ) == *it ) { 120 if ( l-> type ( ) == *it ) {
114 QListViewItem *sub = new QListViewItem ( item, l-> name ( ), QString ( "QPE/Application/" ) + l-> exec ( ), "raise()" ); 121 QListViewItem *sub = new QListViewItem ( typeitem [i], l-> name ( ), QString ( "QPE/Application/" ) + l-> exec ( ), "raise()" );
115 sub-> setPixmap ( 0, l-> pixmap ( )); 122 sub-> setPixmap ( 0, l-> pixmap ( ));
116 } 123 }
117 } 124 i++;
125 }
118 } 126 }
119} 127}
diff --git a/core/settings/button/remapdlg.cpp b/core/settings/button/remapdlg.cpp
index 511d0e7..a251bd4 100644
--- a/core/settings/button/remapdlg.cpp
+++ b/core/settings/button/remapdlg.cpp
@@ -1,6 +1,7 @@
1#include <qlistview.h> 1#include <qlistview.h>
2#include <qlabel.h> 2#include <qlabel.h>
3#include <qcombobox.h> 3#include <qcombobox.h>
4#include <qtimer.h>
4 5
5#include "remapdlg.h" 6#include "remapdlg.h"
6#include "buttonutils.h" 7#include "buttonutils.h"
@@ -46,6 +47,11 @@ RemapDlg::RemapDlg ( const Opie::ODeviceButton *b, bool hold, QWidget *parent, c
46 : RemapDlgBase ( parent, name, true, WStyle_ContextHelp ) 47 : RemapDlgBase ( parent, name, true, WStyle_ContextHelp )
47{ 48{
48 setCaption ( tr( "%1 %2", "(hold|press) buttoname" ). arg( hold ? tr( "Held" ) : tr( "Pressed" )). arg ( b-> userText ( ))); 49 setCaption ( tr( "%1 %2", "(hold|press) buttoname" ). arg( hold ? tr( "Held" ) : tr( "Pressed" )). arg ( b-> userText ( )));
50
51 m_current = 0;
52
53 static const char * const def_channels [] = { "QPE/Application/", "QPE/Launcher", "QPE/System", "QPE/TaskBar", "QPE/", 0 };
54 w_channel-> insertStrList ((const char **) def_channels );
49 55
50 m_msg = hold ? b-> heldAction ( ) : b-> pressedAction ( ); 56 m_msg = hold ? b-> heldAction ( ) : b-> pressedAction ( );
51 m_msg_preset = hold ? b-> factoryPresetHeldAction ( ) : b-> factoryPresetPressedAction ( ); 57 m_msg_preset = hold ? b-> factoryPresetHeldAction ( ) : b-> factoryPresetPressedAction ( );
@@ -59,23 +65,30 @@ RemapDlg::RemapDlg ( const Opie::ODeviceButton *b, bool hold, QWidget *parent, c
59 ButtonUtils::inst ( )-> insertActions ( it ); 65 ButtonUtils::inst ( )-> insertActions ( it );
60 it-> setOpen ( true ); 66 it-> setOpen ( true );
61 67
62 it = new NoSortItem ( w_list, 4, tr( "Show" )); 68 m_map_show = new NoSortItem ( w_list, 4, tr( "Show" ));
63 ButtonUtils::inst ( )-> insertAppLnks ( it );
64 69
65 m_current = m_map_custom; 70 m_current = m_map_custom;
66 w_list-> setCurrentItem ( m_current ); 71 w_list-> setCurrentItem ( m_current );
67 72
68 static const char * const def_channels [] = { 73 QTimer::singleShot ( 0, this, SLOT( delayedInit ( )));
69 "QPE/Application/", "QPE/Launcher", "QPE/System", "QPE/TaskBar", "QPE/", 0
70 };
71
72 w_channel-> insertStrList ((const char **) def_channels );
73} 74}
74 75
75RemapDlg::~RemapDlg ( ) 76RemapDlg::~RemapDlg ( )
76{ 77{
77} 78}
78 79
80void RemapDlg::delayedInit ( )
81{
82 bool b = w_list-> viewport ( )-> isUpdatesEnabled ( );
83 w_list-> viewport ( )-> setUpdatesEnabled ( false );
84
85 ButtonUtils::inst ( )-> insertAppLnks ( m_map_show );
86
87 w_list-> viewport ( )-> setUpdatesEnabled ( b );
88
89 m_map_show-> repaint ( );
90}
91
79void RemapDlg::itemChanged ( QListViewItem *it ) 92void RemapDlg::itemChanged ( QListViewItem *it )
80{ 93{
81 bool enabled = false; 94 bool enabled = false;
diff --git a/core/settings/button/remapdlg.h b/core/settings/button/remapdlg.h
index 8c9cc02..046a22f 100644
--- a/core/settings/button/remapdlg.h
+++ b/core/settings/button/remapdlg.h
@@ -20,6 +20,9 @@ public:
20public slots: 20public slots:
21 virtual void itemChanged ( QListViewItem * ); 21 virtual void itemChanged ( QListViewItem * );
22 virtual void textChanged ( const QString & ); 22 virtual void textChanged ( const QString & );
23
24private slots:
25 void delayedInit ( );
23 26
24private: 27private:
25 Opie::OQCopMessage m_msg; 28 Opie::OQCopMessage m_msg;
@@ -30,6 +33,7 @@ private:
30 QListViewItem *m_map_none; 33 QListViewItem *m_map_none;
31 QListViewItem *m_map_preset; 34 QListViewItem *m_map_preset;
32 QListViewItem *m_map_custom; 35 QListViewItem *m_map_custom;
36 QListViewItem *m_map_show;
33}; 37};
34 38
35#endif 39#endif