author | harlekin <harlekin> | 2002-09-20 20:19:14 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-09-20 20:19:14 (UTC) |
commit | d2d73b6391fbc7f743199f48387d13e887bbac1e (patch) (unidiff) | |
tree | 7f289628796ee4bf0bf1f32d952b5455a42b17bd | |
parent | 681e6e75efaa5577d376d0bb191afdf323cb4e75 (diff) | |
download | opie-d2d73b6391fbc7f743199f48387d13e887bbac1e.zip opie-d2d73b6391fbc7f743199f48387d13e887bbac1e.tar.gz opie-d2d73b6391fbc7f743199f48387d13e887bbac1e.tar.bz2 |
fixed the crash when closing config dialog and also sorting of the plugins is working now
-rw-r--r-- | core/pim/today/today.cpp | 54 | ||||
-rw-r--r-- | core/pim/today/today.h | 3 | ||||
-rw-r--r-- | core/pim/today/todayconfig.cpp | 51 |
3 files changed, 66 insertions, 42 deletions
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp index 7537631..d8b427d 100644 --- a/core/pim/today/today.cpp +++ b/core/pim/today/today.cpp | |||
@@ -110,12 +110,8 @@ void Today::setOwnerField( QString &message ) { | |||
110 | void Today::init() { | 110 | void Today::init() { |
111 | |||
112 | QDate date = QDate::currentDate(); | ||
113 | QString time = ( tr( date.toString() ) ); | ||
114 | |||
115 | DateLabel->setText( QString( "<font color=#FFFFFF>" + time + "</font>" ) ); | ||
116 | |||
117 | // read config | 111 | // read config |
118 | Config cfg( "today" ); | 112 | Config cfg( "today" ); |
119 | cfg.setGroup( "Applets" ); | 113 | cfg.setGroup( "Plugins" ); |
114 | |||
120 | m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' ); | 115 | m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' ); |
116 | m_allApplets = cfg.readListEntry( "AllApplets", ',' ); | ||
121 | } | 117 | } |
@@ -135,3 +131,2 @@ void Today::loadPlugins() { | |||
135 | 131 | ||
136 | |||
137 | QString path = QPEApplication::qpeDir() + "/plugins/today"; | 132 | QString path = QPEApplication::qpeDir() + "/plugins/today"; |
@@ -142,2 +137,5 @@ void Today::loadPlugins() { | |||
142 | 137 | ||
138 | |||
139 | QMap<QString, TodayPlugin> tempList; | ||
140 | |||
143 | for ( it = list.begin(); it != list.end(); ++it ) { | 141 | for ( it = list.begin(); it != list.end(); ++it ) { |
@@ -166,8 +164,6 @@ void Today::loadPlugins() { | |||
166 | QHBoxLayout *boxLayout = new QHBoxLayout( plugin.guiBox ); | 164 | QHBoxLayout *boxLayout = new QHBoxLayout( plugin.guiBox ); |
167 | |||
168 | QPixmap plugPix; | 165 | QPixmap plugPix; |
169 | plugPix.convertFromImage( Resource::loadImage( plugin.guiPart->pixmapNameWidget() ).smoothScale( 18, 18 ), 0 ); | 166 | plugPix.convertFromImage( Resource::loadImage( plugin.guiPart->pixmapNameWidget() ).smoothScale( 18, 18 ), 0 ); |
170 | OClickableLabel* plugIcon = new OClickableLabel( plugin.guiBox ); | 167 | OClickableLabel* plugIcon = new OClickableLabel( plugin.guiBox ); |
171 | plugIcon->setPixmap( plugPix ); | 168 | plugIcon->setPixmap( plugPix ); |
172 | |||
173 | // a scrollview for each plugin | 169 | // a scrollview for each plugin |
@@ -180,3 +176,2 @@ void Today::loadPlugins() { | |||
180 | sv->addChild( plugWidget ); | 176 | sv->addChild( plugWidget ); |
181 | |||
182 | // make sure the icon is on the top alligned | 177 | // make sure the icon is on the top alligned |
@@ -186,5 +181,10 @@ void Today::loadPlugins() { | |||
186 | boxLayout->setStretchFactor( sv, 9 ); | 181 | boxLayout->setStretchFactor( sv, 9 ); |
187 | layout->addWidget( plugin.guiBox ); | 182 | // "prebuffer" it in one more list, to get the sorting done |
183 | tempList.insert( plugin.name, plugin ); | ||
188 | 184 | ||
189 | pluginList.append( plugin ); | 185 | // on first start the list is off course empty |
186 | if ( m_allApplets.isEmpty() ) { | ||
187 | layout->addWidget( plugin.guiBox ); | ||
188 | pluginList.append( plugin ); | ||
189 | } | ||
190 | } else { | 190 | } else { |
@@ -194,2 +194,14 @@ void Today::loadPlugins() { | |||
194 | } | 194 | } |
195 | |||
196 | if ( !m_allApplets.isEmpty() ) { | ||
197 | TodayPlugin tempPlugin; | ||
198 | QStringList::Iterator stringit; | ||
199 | for( stringit = m_allApplets.begin(); stringit != m_allApplets.end(); ++stringit ) { | ||
200 | tempPlugin = ( tempList.find( *stringit ) ).data(); | ||
201 | if ( !( (tempPlugin.name).isEmpty() ) ) { | ||
202 | layout->addWidget( tempPlugin.guiBox ); | ||
203 | pluginList.append( tempPlugin ); | ||
204 | } | ||
205 | } | ||
206 | } | ||
195 | } | 207 | } |
@@ -229,4 +241,3 @@ void Today::draw() { | |||
229 | } | 241 | } |
230 | //layout->addStretch(0); | 242 | layout->addStretch(0); |
231 | //layout->addItem( new QSpacerItem( 1,1, QSizePolicy::Minimum, QSizePolicy::Expanding ) ); | ||
232 | } | 243 | } |
@@ -243,3 +254,4 @@ void Today::startConfig() { | |||
243 | QList<ConfigWidget> configWidgetList; | 254 | QList<ConfigWidget> configWidgetList; |
244 | for ( uint i = 0; i < pluginList.count(); i++ ) { | 255 | |
256 | for ( int i = pluginList.count() - 1 ; i >= 0; i-- ) { | ||
245 | plugin = pluginList[i]; | 257 | plugin = pluginList[i]; |
@@ -248,3 +260,3 @@ void Today::startConfig() { | |||
248 | if ( plugin.guiPart->configWidget( this ) != 0l ) { | 260 | if ( plugin.guiPart->configWidget( this ) != 0l ) { |
249 | ConfigWidget* widget = plugin.guiPart->configWidget( this ); | 261 | ConfigWidget* widget = plugin.guiPart->configWidget( conf.TabWidget3 ); |
250 | configWidgetList.append( widget ); | 262 | configWidgetList.append( widget ); |
@@ -276,2 +288,8 @@ void Today::refresh() { | |||
276 | 288 | ||
289 | // set the date in top label | ||
290 | QDate date = QDate::currentDate(); | ||
291 | QString time = ( tr( date.toString() ) ); | ||
292 | |||
293 | DateLabel->setText( QString( "<font color=#FFFFFF>" + time + "</font>" ) ); | ||
294 | |||
277 | if ( layout ) { | 295 | if ( layout ) { |
diff --git a/core/pim/today/today.h b/core/pim/today/today.h index 672adc4..b35c9b1 100644 --- a/core/pim/today/today.h +++ b/core/pim/today/today.h | |||
@@ -36,2 +36,3 @@ class QVBoxLayout; | |||
36 | 36 | ||
37 | |||
37 | class Today : public TodayBase { | 38 | class Today : public TodayBase { |
@@ -57,3 +58,2 @@ private: | |||
57 | 58 | ||
58 | |||
59 | private slots: | 59 | private slots: |
@@ -64,2 +64,3 @@ private slots: | |||
64 | QStringList m_excludeApplets; | 64 | QStringList m_excludeApplets; |
65 | QStringList m_allApplets; | ||
65 | 66 | ||
diff --git a/core/pim/today/todayconfig.cpp b/core/pim/today/todayconfig.cpp index 4f23471..532d126 100644 --- a/core/pim/today/todayconfig.cpp +++ b/core/pim/today/todayconfig.cpp | |||
@@ -37,3 +37,2 @@ public: | |||
37 | : QToolButton( parent, name ) { | 37 | : QToolButton( parent, name ) { |
38 | // setTextLabel( name ); | ||
39 | setPixmap( Resource::loadPixmap( icon ) ); | 38 | setPixmap( Resource::loadPixmap( icon ) ); |
@@ -71,2 +70,3 @@ TodayConfig::TodayConfig( QWidget* parent, const char* name, bool modal, WFlags | |||
71 | m_appletListView->header()->hide(); | 70 | m_appletListView->header()->hide(); |
71 | m_appletListView->setSorting( -1 ); | ||
72 | QVBox *vbox1 = new QVBox( hbox1 ); | 72 | QVBox *vbox1 = new QVBox( hbox1 ); |
@@ -75,15 +75,10 @@ TodayConfig::TodayConfig( QWidget* parent, const char* name, bool modal, WFlags | |||
75 | tab2Layout->addWidget( hbox1 ); | 75 | tab2Layout->addWidget( hbox1 ); |
76 | |||
77 | TabWidget3->insertTab( tab_2, tr( "active/order" ) ); | 76 | TabWidget3->insertTab( tab_2, tr( "active/order" ) ); |
77 | |||
78 | tab_3 = new QWidget( TabWidget3, "tab_3" ); | 78 | tab_3 = new QWidget( TabWidget3, "tab_3" ); |
79 | QVBoxLayout *tab3Layout = new QVBoxLayout( tab_3 ); | 79 | QVBoxLayout *tab3Layout = new QVBoxLayout( tab_3 ); |
80 | QHBox *hbox_clip = new QHBox( tab_3 ); | 80 | tab3Layout->setMargin( 20 ); |
81 | TextLabel1 = new QLabel( hbox_clip, "TextLabel1" ); | ||
82 | TextLabel1->setText( tr( "Clip after how\n" | ||
83 | "many letters" ) ); | ||
84 | SpinBox7 = new QSpinBox( hbox_clip, "SpinBox7" ); | ||
85 | SpinBox7->setMaxValue( 80 ); | ||
86 | QHBox *hbox_auto = new QHBox( tab_3 ); | 81 | QHBox *hbox_auto = new QHBox( tab_3 ); |
87 | TextLabel2 = new QLabel( hbox_auto, "AutoStart" ); | 82 | TextLabel2 = new QLabel( hbox_auto, "AutoStart" ); |
88 | TextLabel2->setText( tr( "autostart on \nresume? (Opie only)" ) ); | 83 | TextLabel2->setText( tr( "autostart on \nresume?\n (Opie only)" ) ); |
89 | CheckBoxAuto = new QCheckBox( hbox_auto, "CheckBoxAuto" ); | 84 | CheckBoxAuto = new QCheckBox( hbox_auto, "CheckBoxAuto" ); |
@@ -92,4 +87,3 @@ TodayConfig::TodayConfig( QWidget* parent, const char* name, bool modal, WFlags | |||
92 | TimeLabel->setText( tr( "minutes inactive" ) ); | 87 | TimeLabel->setText( tr( "minutes inactive" ) ); |
93 | SpinBoxTime = new QSpinBox( hbox_inactive, "TimeSpinner"); | 88 | SpinBoxTime = new QSpinBox( hbox_inactive, "TimeSpinner" ); |
94 | tab3Layout->addWidget( hbox_clip ); | ||
95 | tab3Layout->addWidget( hbox_auto ); | 89 | tab3Layout->addWidget( hbox_auto ); |
@@ -114,3 +108,3 @@ void TodayConfig::setAutoStart() { | |||
114 | cfg.setGroup( "Autostart" ); | 108 | cfg.setGroup( "Autostart" ); |
115 | int autostart = cfg.readNumEntry( "autostart", 1); | 109 | int autostart = cfg.readNumEntry( "autostart", 1 ); |
116 | if ( autostart ) { | 110 | if ( autostart ) { |
@@ -138,3 +132,3 @@ void TodayConfig::readConfig() { | |||
138 | 132 | ||
139 | cfg.setGroup( "Applets" ); | 133 | cfg.setGroup( "Plugins" ); |
140 | m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' ); | 134 | m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' ); |
@@ -147,3 +141,3 @@ void TodayConfig::writeConfig() { | |||
147 | Config cfg( "today" ); | 141 | Config cfg( "today" ); |
148 | cfg. setGroup ( "Applets" ); | 142 | cfg.setGroup( "Plugins" ); |
149 | if ( m_applets_changed ) { | 143 | if ( m_applets_changed ) { |
@@ -151,8 +145,18 @@ void TodayConfig::writeConfig() { | |||
151 | QStringList include; | 145 | QStringList include; |
152 | QMap <QString, QCheckListItem *>::Iterator it; | 146 | QStringList all_applets; |
153 | for ( it = m_applets.begin(); it != m_applets. end (); ++it ) { | 147 | |
154 | if ( !(*it)-> isOn () ) { | 148 | QListViewItemIterator list_it( m_appletListView ); |
155 | exclude << it.key(); | 149 | |
156 | } else { | 150 | // this makes sure the names get saved in the order selected |
157 | include << it.key(); | 151 | for ( ; list_it.current(); ++list_it ) { |
152 | QMap <QString, QCheckListItem *>::Iterator it; | ||
153 | for ( it = m_applets.begin(); it != m_applets. end (); ++it ) { | ||
154 | if ( list_it.current() == (*it) && !(*it)-> isOn () ) { | ||
155 | exclude << it.key(); | ||
156 | } else if ( list_it.current() == (*it) && (*it)-> isOn () ){ | ||
157 | include << it.key(); | ||
158 | } | ||
159 | if ( list_it.current() == (*it) ) { | ||
160 | all_applets << it.key(); | ||
161 | } | ||
158 | } | 162 | } |
@@ -161,2 +165,3 @@ void TodayConfig::writeConfig() { | |||
161 | cfg.writeEntry( "IncludeApplets", include, ',' ); | 165 | cfg.writeEntry( "IncludeApplets", include, ',' ); |
166 | cfg.writeEntry( "AllApplets", all_applets, ',' ); | ||
162 | } | 167 | } |
@@ -165,3 +170,3 @@ void TodayConfig::writeConfig() { | |||
165 | m_autoStart = CheckBoxAuto->isChecked(); | 170 | m_autoStart = CheckBoxAuto->isChecked(); |
166 | cfg.writeEntry( "autostart", m_autoStart ); | 171 | cfg.writeEntry( "autostart", m_autoStart ); |
167 | m_autoStartTimer = SpinBoxTime->value(); | 172 | m_autoStartTimer = SpinBoxTime->value(); |
@@ -173,3 +178,3 @@ void TodayConfig::moveSelectedUp() { | |||
173 | QListViewItem *item = m_appletListView->selectedItem(); | 178 | QListViewItem *item = m_appletListView->selectedItem(); |
174 | if ( item && item->itemAbove() ) { | 179 | if ( item && item->itemAbove() ) { |
175 | item->itemAbove()->moveItem( item ); | 180 | item->itemAbove()->moveItem( item ); |
@@ -199,3 +204,2 @@ void TodayConfig::pluginManagement( QString libName, QString name, QPixmap icon | |||
199 | 204 | ||
200 | qDebug (" SUCHNAME: " + name ); | ||
201 | if ( m_excludeApplets.find( libName ) == m_excludeApplets.end() ) { | 205 | if ( m_excludeApplets.find( libName ) == m_excludeApplets.end() ) { |
@@ -203,2 +207,3 @@ void TodayConfig::pluginManagement( QString libName, QString name, QPixmap icon | |||
203 | } | 207 | } |
208 | |||
204 | m_applets[libName] = item; | 209 | m_applets[libName] = item; |