summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/security/main.cpp43
-rw-r--r--core/settings/security/multiauthconfig.cpp50
-rw-r--r--core/settings/security/multiauthconfig.h5
-rw-r--r--core/settings/security/security.pro8
4 files changed, 53 insertions, 53 deletions
diff --git a/core/settings/security/main.cpp b/core/settings/security/main.cpp
index 7f24490..5ba9869 100644
--- a/core/settings/security/main.cpp
+++ b/core/settings/security/main.cpp
@@ -1,44 +1,5 @@
1#include "multiauthconfig.h" 1#include "multiauthconfig.h"
2#include <opie2/oapplication.h>
3#include <opie2/odebug.h>
4 2
3#include <opie2/oapplicationfactory.h>
5 4
6 5OPIE_EXPORT_APP( Opie::Core::OApplicationFactory<MultiauthConfig> );
7int main(int argc, char **argv) {
8 Opie::Core::OApplication app(argc, argv, "MultiAuthentication Config");
9 // protect this dialog if option set
10 Config* pcfg = new Config("Security");
11 pcfg->setGroup( "Misc" );
12 bool protectConfigDialog = ! pcfg->readBoolEntry("noProtectConfig", true);
13 delete pcfg;
14 bool show = true;
15 if ( protectConfigDialog )
16 {
17 if (Opie::Security::Internal::runPlugins() != 0)
18 {
19 // authentication failed
20 show = false;
21 }
22 }
23 if ( show == true ){
24 MultiauthConfig dialog;
25 app.setMainWidget(&dialog);
26
27 if ( dialog.exec() == QDialog::Accepted ) {
28 // write the general, login and sync config
29 dialog.writeConfig();
30 // call writeConfig() on each plugin config widget
31 Opie::Security::MultiauthConfigWidget *confWidget;
32 for ( confWidget = dialog.configWidgetList.first(); confWidget != 0;
33 confWidget = dialog.configWidgetList.next() ) {
34 confWidget->writeConfig();
35 }
36 }
37 dialog.close();
38 app.quit();
39 return 0;
40 } else {
41 owarn << "authentication failed, not showing opie-security" << oendl;
42 return 1;
43 }
44}
diff --git a/core/settings/security/multiauthconfig.cpp b/core/settings/security/multiauthconfig.cpp
index 93e73c3..535352a 100644
--- a/core/settings/security/multiauthconfig.cpp
+++ b/core/settings/security/multiauthconfig.cpp
@@ -93,56 +93,82 @@ MultiauthGeneralConfig::MultiauthGeneralConfig(QWidget * parent, const char * na
93 devBoxLayout->addMultiCellWidget(logicNote, 3, 3, 0, 1); 93 devBoxLayout->addMultiCellWidget(logicNote, 3, 3, 0, 1);
94 94
95 connect( explanScreens, SIGNAL(toggled(bool)), this, SLOT(checkBypass()) ); 95 connect( explanScreens, SIGNAL(toggled(bool)), this, SLOT(checkBypass()) );
96 connect( allowBypass, SIGNAL(toggled(bool)), this, SLOT(checkScreens()) ); 96 connect( allowBypass, SIGNAL(toggled(bool)), this, SLOT(checkScreens()) );
97} 97}
98 98
99/// nothing to do 99/// nothing to do
100MultiauthGeneralConfig::~MultiauthGeneralConfig() 100MultiauthGeneralConfig::~MultiauthGeneralConfig()
101{} 101{}
102 102
103/// Be sure that explanScreens is checked if allowBypass is 103/// Be sure that explanScreens is checked if allowBypass is
104void MultiauthGeneralConfig::checkScreens() 104void MultiauthGeneralConfig::checkScreens()
105{ 105{
106 if ( (allowBypass->isChecked() == true) && (explanScreens->isChecked() == false) ) 106 if ( (allowBypass->isChecked() == true) && (explanScreens->isChecked() == false) )
107 explanScreens->setChecked(true); 107 explanScreens->setChecked(true);
108} 108}
109 109
110/// Be sure that allowBypass is not checked if explanScreens is not 110/// Be sure that allowBypass is not checked if explanScreens is not
111void MultiauthGeneralConfig::checkBypass() 111void MultiauthGeneralConfig::checkBypass()
112{ 112{
113 if ( (allowBypass->isChecked() == true) && (explanScreens->isChecked() == false) ) 113 if ( (allowBypass->isChecked() == true) && (explanScreens->isChecked() == false) )
114 allowBypass->setChecked(false); 114 allowBypass->setChecked(false);
115} 115}
116 116
117
118
119
120
121
122
123
124
125
126
117/// Builds and displays the Opie multi-authentication configuration dialog 127/// Builds and displays the Opie multi-authentication configuration dialog
118MultiauthConfig::MultiauthConfig() : QDialog(0, 0, TRUE), 128static void test_and_start() {
119 m_mainTW(0), m_pluginListView(0), m_pluginListWidget(0), 129 Config pcfg("Security");
120 m_generalConfig(0), m_loginWidget(0), m_syncWidget(0), 130 pcfg.setGroup( "Misc" );
121 m_nbSuccessReq(0), m_plugins_changed(false) 131 bool protectConfigDialog = ! pcfg.readBoolEntry("noProtectConfig", true);
132
133 if (protectConfigDialog && Opie::Security::Internal::runPlugins() != 0) {
134 owarn << "authentication failed, not showing opie-security" << oendl;
135 exit( -1 );
136 }
137}
138
139
140
141MultiauthConfig::MultiauthConfig(QWidget* par, const char* w, WFlags f)
142 : QDialog(par, w, TRUE, f),
143 m_mainTW(0), m_pluginListView(0), m_pluginListWidget(0),
144 m_generalConfig(0), m_loginWidget(0), m_syncWidget(0),
145 m_nbSuccessReq(0), m_plugins_changed(false)
122{ 146{
123 /* Initializes the global configuration window 147 /* Initializes the global configuration window
124 */ 148 */
149 test_and_start();
150
125 setCaption( tr( "Security configuration" ) ); 151 setCaption( tr( "Security configuration" ) );
126 QVBoxLayout *layout = new QVBoxLayout( this ); 152 QVBoxLayout *layout = new QVBoxLayout( this );
127 m_mainTW = new Opie::Ui::OTabWidget( this ); 153 m_mainTW = new Opie::Ui::OTabWidget( this );
128 layout->addWidget(m_mainTW); 154 layout->addWidget(m_mainTW);
129 m_pluginListWidget = new QWidget(m_mainTW, "plugin list widget"); 155 m_pluginListWidget = new QWidget(m_mainTW, "plugin list widget");
130 QVBoxLayout * pluginListLayout = new QVBoxLayout(m_pluginListWidget); 156 QVBoxLayout * pluginListLayout = new QVBoxLayout(m_pluginListWidget);
131 pluginListLayout->setSpacing(6); 157 pluginListLayout->setSpacing(6);
132 pluginListLayout->setMargin(11); 158 pluginListLayout->setMargin(11);
133 QLabel * pluginListTitle = new QLabel( tr( "Load which plugins in what order:" ), m_pluginListWidget ); 159 QLabel * pluginListTitle = new QLabel( tr( "Load which plugins in what order:" ), m_pluginListWidget );
134 pluginListLayout->addWidget(pluginListTitle); 160 pluginListLayout->addWidget(pluginListTitle);
135 QHBox * pluginListHB = new QHBox(m_pluginListWidget); 161 QHBox * pluginListHB = new QHBox(m_pluginListWidget);
136 pluginListLayout->addWidget(pluginListHB); 162 pluginListLayout->addWidget(pluginListHB);
137 163
138 m_pluginListView = new QListView(pluginListHB); 164 m_pluginListView = new QListView(pluginListHB);
139 m_pluginListView->addColumn("PluginList"); 165 m_pluginListView->addColumn("PluginList");
140 m_pluginListView->header()->hide(); 166 m_pluginListView->header()->hide();
141 m_pluginListView->setSorting(-1); 167 m_pluginListView->setSorting(-1);
142 QWhatsThis::add(m_pluginListView, tr( "Check a checkbox to activate/deactivate a plugin or use the arrow buttons on the right to change the order they will appear in" )); 168 QWhatsThis::add(m_pluginListView, tr( "Check a checkbox to activate/deactivate a plugin or use the arrow buttons on the right to change the order they will appear in" ));
143 169
144 QVBox * pluginListVB = new QVBox(pluginListHB); 170 QVBox * pluginListVB = new QVBox(pluginListHB);
145 new ToolButton( pluginListVB, tr( "Move Up" ), "up", this , SLOT( moveSelectedUp() ) ); 171 new ToolButton( pluginListVB, tr( "Move Up" ), "up", this , SLOT( moveSelectedUp() ) );
146 new ToolButton( pluginListVB, tr( "Move Down" ), "down", this , SLOT( moveSelectedDown() ) ); 172 new ToolButton( pluginListVB, tr( "Move Down" ), "down", this , SLOT( moveSelectedDown() ) );
147 m_mainTW->addTab( m_pluginListWidget, "pass", tr( "plugins" ) ); 173 m_mainTW->addTab( m_pluginListWidget, "pass", tr( "plugins" ) );
148 174
@@ -185,48 +211,64 @@ MultiauthConfig::MultiauthConfig() : QDialog(0, 0, TRUE),
185 QCheckListItem * item = new QCheckListItem(m_pluginListView, plugin.pluginObject->pluginName(), QCheckListItem::CheckBox ); 211 QCheckListItem * item = new QCheckListItem(m_pluginListView, plugin.pluginObject->pluginName(), QCheckListItem::CheckBox );
186 if ( !icon.isNull() ) { 212 if ( !icon.isNull() ) {
187 item->setPixmap( 0, icon ); 213 item->setPixmap( 0, icon );
188 } 214 }
189 if ( m_excludePlugins.find( plugin.name ) == m_excludePlugins.end() ) { 215 if ( m_excludePlugins.find( plugin.name ) == m_excludePlugins.end() ) {
190 item->setOn( TRUE ); 216 item->setOn( TRUE );
191 } 217 }
192 m_plugins[plugin.name] = item; 218 m_plugins[plugin.name] = item;
193 } 219 }
194 220
195 // set the first tab as default. 221 // set the first tab as default.
196 m_mainTW->setCurrentTab(m_pluginListWidget); 222 m_mainTW->setCurrentTab(m_pluginListWidget);
197 223
198 // put the number of plugins as the max number of req. auth. 224 // put the number of plugins as the max number of req. auth.
199 m_generalConfig->nbSuccessMin->setMaxValue( pluginList.count() ); 225 m_generalConfig->nbSuccessMin->setMaxValue( pluginList.count() );
200 226
201 showMaximized(); 227 showMaximized();
202} 228}
203 229
204/// nothing to do 230/// nothing to do
205MultiauthConfig::~MultiauthConfig() 231MultiauthConfig::~MultiauthConfig()
206{ 232{
207} 233}
208 234
235void MultiauthConfig::accept() {
236 writeConfig();
237
238 MultiauthConfigWidget* confWidget = 0;
239 for ( confWidget = configWidgetList.first(); confWidget != 0;
240 confWidget = configWidgetList.next() )
241 confWidget->writeConfig();
242
243 QDialog::accept();
244}
245
246void MultiauthConfig::done( int r ) {
247 QDialog::done( r );
248 close();
249}
250
209/// moves up the selected plugin 251/// moves up the selected plugin
210void MultiauthConfig::moveSelectedUp() 252void MultiauthConfig::moveSelectedUp()
211{ 253{
212 QListViewItem *item = m_pluginListView->selectedItem(); 254 QListViewItem *item = m_pluginListView->selectedItem();
213 if ( item && item->itemAbove() ) { 255 if ( item && item->itemAbove() ) {
214 item->itemAbove()->moveItem( item ); 256 item->itemAbove()->moveItem( item );
215 } 257 }
216} 258}
217 259
218/// moves down the selected plugin 260/// moves down the selected plugin
219void MultiauthConfig::moveSelectedDown() 261void MultiauthConfig::moveSelectedDown()
220{ 262{
221 QListViewItem *item = m_pluginListView->selectedItem(); 263 QListViewItem *item = m_pluginListView->selectedItem();
222 if ( item && item->itemBelow() ) { 264 if ( item && item->itemBelow() ) {
223 item->moveItem( item->itemBelow() ); 265 item->moveItem( item->itemBelow() );
224 } 266 }
225} 267}
226 268
227/// reads the <code>Security.conf</code> Config file, and updates parts of the user interface 269/// reads the <code>Security.conf</code> Config file, and updates parts of the user interface
228void MultiauthConfig::readConfig() 270void MultiauthConfig::readConfig()
229{ 271{
230 // pointer, so we release this Config when we want 272 // pointer, so we release this Config when we want
231 Config* pcfg = new Config("Security"); 273 Config* pcfg = new Config("Security");
232 pcfg->setGroup( "Misc" ); 274 pcfg->setGroup( "Misc" );
diff --git a/core/settings/security/multiauthconfig.h b/core/settings/security/multiauthconfig.h
index ffe920f..649815d 100644
--- a/core/settings/security/multiauthconfig.h
+++ b/core/settings/security/multiauthconfig.h
@@ -60,54 +60,57 @@
60 60
61/// the "misc" configuration tab, about general Opie Multiauth settings 61/// the "misc" configuration tab, about general Opie Multiauth settings
62class MultiauthGeneralConfig : public QWidget 62class MultiauthGeneralConfig : public QWidget
63{ 63{
64 Q_OBJECT 64 Q_OBJECT
65public: 65public:
66 MultiauthGeneralConfig(QWidget * parent, const char * name); 66 MultiauthGeneralConfig(QWidget * parent, const char * name);
67 ~MultiauthGeneralConfig(); 67 ~MultiauthGeneralConfig();
68protected: 68protected:
69 QCheckBox *onStart, *onResume, *noProtectConfig, *explanScreens, *allowBypass; 69 QCheckBox *onStart, *onResume, *noProtectConfig, *explanScreens, *allowBypass;
70 QSpinBox *nbSuccessMin; 70 QSpinBox *nbSuccessMin;
71private: 71private:
72 friend class MultiauthConfig; 72 friend class MultiauthConfig;
73private slots: 73private slots:
74 void checkBypass(); 74 void checkBypass();
75 void checkScreens(); 75 void checkScreens();
76}; 76};
77 77
78/// the whole configuration dialog 78/// the whole configuration dialog
79class MultiauthConfig : public QDialog 79class MultiauthConfig : public QDialog
80{ 80{
81 Q_OBJECT 81 Q_OBJECT
82 82
83public: 83public:
84 MultiauthConfig(); 84 static QString appName() { return QString::fromLatin1("security"); }
85 MultiauthConfig(QWidget *parent, const char* name, WFlags fl);
85 virtual ~MultiauthConfig(); 86 virtual ~MultiauthConfig();
86 void writeConfig(); 87 void writeConfig();
87 QList<Opie::Security::MultiauthConfigWidget> configWidgetList; 88 QList<Opie::Security::MultiauthConfigWidget> configWidgetList;
88 89
89protected slots: 90protected slots:
91 void accept();
92 void done(int r);
90 void pluginsChanged(); 93 void pluginsChanged();
91 void moveSelectedUp(); 94 void moveSelectedUp();
92 void moveSelectedDown(); 95 void moveSelectedDown();
93 96
94private slots: 97private slots:
95 // Login and Sync stuff 98 // Login and Sync stuff
96 void setSyncNet(const QString&); 99 void setSyncNet(const QString&);
97 void changeLoginName(int); 100 void changeLoginName(int);
98 void toggleAutoLogin(bool); 101 void toggleAutoLogin(bool);
99 void restoreDefaults(); 102 void restoreDefaults();
100 void insertDefaultRanges(); 103 void insertDefaultRanges();
101 void deleteListEntry(); 104 void deleteListEntry();
102 105
103private: 106private:
104 /// the widget holding all the tabs (or pages) 107 /// the widget holding all the tabs (or pages)
105 Opie::Ui::OTabWidget *m_mainTW; 108 Opie::Ui::OTabWidget *m_mainTW;
106 /// list of authentication plugins in the "Plugins" page 109 /// list of authentication plugins in the "Plugins" page
107 QListView *m_pluginListView; 110 QListView *m_pluginListView;
108 QStringList m_allPlugins, m_excludePlugins; 111 QStringList m_allPlugins, m_excludePlugins;
109 QMap<QString,QCheckListItem*> m_plugins; 112 QMap<QString,QCheckListItem*> m_plugins;
110 /// plugin list page 113 /// plugin list page
111 QWidget *m_pluginListWidget; 114 QWidget *m_pluginListWidget;
112 /// misc config page 115 /// misc config page
113 MultiauthGeneralConfig *m_generalConfig; 116 MultiauthGeneralConfig *m_generalConfig;
diff --git a/core/settings/security/security.pro b/core/settings/security/security.pro
index 5d2ae08..e9f4061 100644
--- a/core/settings/security/security.pro
+++ b/core/settings/security/security.pro
@@ -1,16 +1,10 @@
1CONFIG += qt warn_on 1CONFIG += qt warn_on quick-app
2
3HEADERS = multiauthconfig.h 2HEADERS = multiauthconfig.h
4
5SOURCES = multiauthconfig.cpp main.cpp 3SOURCES = multiauthconfig.cpp main.cpp
6
7 INTERFACES= loginbase.ui syncbase.ui 4 INTERFACES= loginbase.ui syncbase.ui
8 5
9INCLUDEPATH += $(OPIEDIR)/include 6INCLUDEPATH += $(OPIEDIR)/include
10
11LIBS += -lqpe -lopiecore2 -lopieui2 -lopiesecurity2 7LIBS += -lqpe -lopiecore2 -lopieui2 -lopiesecurity2
12
13DESTDIR = $(OPIEDIR)/bin
14TARGET = security 8TARGET = security
15 9
16include ( $(OPIEDIR)/include.pro ) 10include ( $(OPIEDIR)/include.pro )