author | harlekin <harlekin> | 2002-09-18 09:52:51 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-09-18 09:52:51 (UTC) |
commit | 15ecc4aa71878039ad40ce270fae06282d8e98c2 (patch) (unidiff) | |
tree | 1b1cae7b89bdd3960da222542e99c05332610231 | |
parent | 01d31aeaa8d513bde8237a07ea0a48ac1b85c3c0 (diff) | |
download | opie-15ecc4aa71878039ad40ce270fae06282d8e98c2.zip opie-15ecc4aa71878039ad40ce270fae06282d8e98c2.tar.gz opie-15ecc4aa71878039ad40ce270fae06282d8e98c2.tar.bz2 |
reload plugins now on config change
-rw-r--r-- | core/pim/today/plugins/datebook/datebookevent.cpp | 4 | ||||
-rw-r--r-- | core/pim/today/plugins/datebook/datebookpluginwidget.cpp | 6 | ||||
-rw-r--r-- | core/pim/today/today.cpp | 54 | ||||
-rw-r--r-- | core/pim/today/today.h | 7 | ||||
-rw-r--r-- | core/pim/today/todaybase.cpp | 6 | ||||
-rw-r--r-- | core/pim/today/todayconfig.cpp | 2 |
6 files changed, 31 insertions, 48 deletions
diff --git a/core/pim/today/plugins/datebook/datebookevent.cpp b/core/pim/today/plugins/datebook/datebookevent.cpp index 1caf061..d4e8e1e 100644 --- a/core/pim/today/plugins/datebook/datebookevent.cpp +++ b/core/pim/today/plugins/datebook/datebookevent.cpp | |||
@@ -30,6 +30,8 @@ DateBookEvent::DateBookEvent(const EffectiveEvent &ev, | |||
30 | WFlags fl) : | 30 | WFlags fl) : |
31 | OClickableLabel(parent,name,fl), event(ev) { | 31 | OClickableLabel(parent,name,fl), event(ev) { |
32 | 32 | ||
33 | setAlignment( AlignTop ); | ||
34 | |||
33 | QString msg; | 35 | QString msg; |
34 | 36 | ||
35 | Config config( "qpe" ); | 37 | Config config( "qpe" ); |
@@ -90,8 +92,6 @@ QString DateBookEvent::ampmTime( QTime tm ) { | |||
90 | } | 92 | } |
91 | 93 | ||
92 | 94 | ||
93 | //extern QPEApplication *todayApp; | ||
94 | |||
95 | /* | 95 | /* |
96 | * starts the edit dialog as known from datebook | 96 | * starts the edit dialog as known from datebook |
97 | */ | 97 | */ |
diff --git a/core/pim/today/plugins/datebook/datebookpluginwidget.cpp b/core/pim/today/plugins/datebook/datebookpluginwidget.cpp index e4667ae..7948656 100644 --- a/core/pim/today/plugins/datebook/datebookpluginwidget.cpp +++ b/core/pim/today/plugins/datebook/datebookpluginwidget.cpp | |||
@@ -59,6 +59,8 @@ void DatebookPluginWidget::getDates() { | |||
59 | QDate date = QDate::currentDate(); | 59 | QDate date = QDate::currentDate(); |
60 | 60 | ||
61 | QVBoxLayout* layoutDates = new QVBoxLayout( this ); | 61 | QVBoxLayout* layoutDates = new QVBoxLayout( this ); |
62 | layoutDates->setSpacing( 1 ); | ||
63 | layoutDates->setMargin( 1 ); | ||
62 | 64 | ||
63 | if ( db ) { | 65 | if ( db ) { |
64 | delete db; | 66 | delete db; |
@@ -105,8 +107,8 @@ void DatebookPluginWidget::getDates() { | |||
105 | noEvents->setText( QObject::tr( "No appointments today" ) ); | 107 | noEvents->setText( QObject::tr( "No appointments today" ) ); |
106 | layoutDates->addWidget( noEvents ); | 108 | layoutDates->addWidget( noEvents ); |
107 | } | 109 | } |
108 | 110 | //layoutDates->addStretch(0); | |
109 | layoutDates->addItem( new QSpacerItem( 1,1, QSizePolicy::Minimum, QSizePolicy::Expanding ) ); | 111 | // layoutDates->addItem( new QSpacerItem( 1,1, QSizePolicy::Minimum, QSizePolicy::Expanding ) ); |
110 | 112 | ||
111 | // how often refresh - later have qcop update calls in *db | 113 | // how often refresh - later have qcop update calls in *db |
112 | //QTimer::singleShot( 20*1000, this , SLOT( getDates() ) ); | 114 | //QTimer::singleShot( 20*1000, this , SLOT( getDates() ) ); |
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp index f052a9f..7537631 100644 --- a/core/pim/today/today.cpp +++ b/core/pim/today/today.cpp | |||
@@ -64,9 +64,7 @@ Today::Today( QWidget* parent, const char* name, WFlags fl ) | |||
64 | #endif | 64 | #endif |
65 | 65 | ||
66 | setOwnerField(); | 66 | setOwnerField(); |
67 | init(); | 67 | refresh(); |
68 | loadPlugins(); | ||
69 | draw(); | ||
70 | showMaximized(); | 68 | showMaximized(); |
71 | } | 69 | } |
72 | 70 | ||
@@ -118,7 +116,6 @@ void Today::init() { | |||
118 | 116 | ||
119 | // read config | 117 | // read config |
120 | Config cfg( "today" ); | 118 | Config cfg( "today" ); |
121 | |||
122 | cfg.setGroup( "Applets" ); | 119 | cfg.setGroup( "Applets" ); |
123 | m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' ); | 120 | m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' ); |
124 | } | 121 | } |
@@ -136,13 +133,13 @@ void Today::loadPlugins() { | |||
136 | } | 133 | } |
137 | pluginList.clear(); | 134 | pluginList.clear(); |
138 | 135 | ||
136 | |||
139 | QString path = QPEApplication::qpeDir() + "/plugins/today"; | 137 | QString path = QPEApplication::qpeDir() + "/plugins/today"; |
140 | QDir dir( path, "lib*.so" ); | 138 | QDir dir( path, "lib*.so" ); |
141 | 139 | ||
142 | QStringList list = dir.entryList(); | 140 | QStringList list = dir.entryList(); |
143 | QStringList::Iterator it; | 141 | QStringList::Iterator it; |
144 | 142 | ||
145 | uint count = 0; | ||
146 | for ( it = list.begin(); it != list.end(); ++it ) { | 143 | for ( it = list.begin(); it != list.end(); ++it ) { |
147 | TodayPluginInterface *iface = 0; | 144 | TodayPluginInterface *iface = 0; |
148 | QLibrary *lib = new QLibrary( path + "/" + *it ); | 145 | QLibrary *lib = new QLibrary( path + "/" + *it ); |
@@ -156,6 +153,7 @@ void Today::loadPlugins() { | |||
156 | plugin.iface = iface; | 153 | plugin.iface = iface; |
157 | plugin.name = QString(*it); | 154 | plugin.name = QString(*it); |
158 | 155 | ||
156 | // find out if plugins should be shown | ||
159 | if ( m_excludeApplets.grep( *it ).isEmpty() ) { | 157 | if ( m_excludeApplets.grep( *it ).isEmpty() ) { |
160 | plugin.active = true; | 158 | plugin.active = true; |
161 | } else { | 159 | } else { |
@@ -176,7 +174,6 @@ void Today::loadPlugins() { | |||
176 | QScrollView* sv = new QScrollView( plugin.guiBox ); | 174 | QScrollView* sv = new QScrollView( plugin.guiBox ); |
177 | QWidget *plugWidget = plugin.guiPart->widget( sv->viewport() ); | 175 | QWidget *plugWidget = plugin.guiPart->widget( sv->viewport() ); |
178 | sv->setMinimumHeight( plugin.guiPart->minHeight() ); | 176 | sv->setMinimumHeight( plugin.guiPart->minHeight() ); |
179 | //sv->setMaximumHeight( plugin.guiPart->maxHeight() ); | ||
180 | sv->setResizePolicy( QScrollView::AutoOneFit ); | 177 | sv->setResizePolicy( QScrollView::AutoOneFit ); |
181 | sv->setHScrollBarMode( QScrollView::AlwaysOff ); | 178 | sv->setHScrollBarMode( QScrollView::AlwaysOff ); |
182 | sv->setFrameShape( QFrame::NoFrame ); | 179 | sv->setFrameShape( QFrame::NoFrame ); |
@@ -190,7 +187,6 @@ void Today::loadPlugins() { | |||
190 | layout->addWidget( plugin.guiBox ); | 187 | layout->addWidget( plugin.guiBox ); |
191 | 188 | ||
192 | pluginList.append( plugin ); | 189 | pluginList.append( plugin ); |
193 | count++; | ||
194 | } else { | 190 | } else { |
195 | qDebug( "could not recognize %s", QString( path + "/" + *it ).latin1() ); | 191 | qDebug( "could not recognize %s", QString( path + "/" + *it ).latin1() ); |
196 | delete lib; | 192 | delete lib; |
@@ -231,8 +227,8 @@ void Today::draw() { | |||
231 | noPluginsActive->setText( tr( "No plugins activated" ) ); | 227 | noPluginsActive->setText( tr( "No plugins activated" ) ); |
232 | layout->addWidget( noPluginsActive ); | 228 | layout->addWidget( noPluginsActive ); |
233 | } | 229 | } |
234 | 230 | //layout->addStretch(0); | |
235 | layout->addItem( new QSpacerItem( 1,1, QSizePolicy::Minimum, QSizePolicy::Expanding ) ); | 231 | //layout->addItem( new QSpacerItem( 1,1, QSizePolicy::Minimum, QSizePolicy::Expanding ) ); |
236 | } | 232 | } |
237 | 233 | ||
238 | 234 | ||
@@ -244,7 +240,6 @@ void Today::startConfig() { | |||
244 | TodayConfig conf( this, "dialog", true ); | 240 | TodayConfig conf( this, "dialog", true ); |
245 | 241 | ||
246 | TodayPlugin plugin; | 242 | TodayPlugin plugin; |
247 | |||
248 | QList<ConfigWidget> configWidgetList; | 243 | QList<ConfigWidget> configWidgetList; |
249 | for ( uint i = 0; i < pluginList.count(); i++ ) { | 244 | for ( uint i = 0; i < pluginList.count(); i++ ) { |
250 | plugin = pluginList[i]; | 245 | plugin = pluginList[i]; |
@@ -267,29 +262,28 @@ void Today::startConfig() { | |||
267 | confWidget = configWidgetList.next() ) { | 262 | confWidget = configWidgetList.next() ) { |
268 | confWidget->writeConfig(); | 263 | confWidget->writeConfig(); |
269 | } | 264 | } |
265 | refresh(); | ||
266 | } | ||
267 | } | ||
270 | 268 | ||
271 | init(); | ||
272 | 269 | ||
273 | TodayPlugin plugin; | 270 | /** |
274 | QValueList<TodayPlugin> plugList; | 271 | * Refresh for the view. Reload all applets |
275 | for ( uint i = 0; i < pluginList.count(); i++ ) { | 272 | * |
276 | plugin = pluginList[i]; | 273 | */ |
274 | void Today::refresh() { | ||
275 | init(); | ||
277 | 276 | ||
278 | if ( m_excludeApplets.grep( plugin.name ).isEmpty() ) { | 277 | if ( layout ) { |
279 | qDebug("CONFIG " + plugin.name + " ACTIVE"); | 278 | delete layout; |
280 | plugin.active = true; | ||
281 | } else { | ||
282 | qDebug("CONFIG " + plugin.name + " INACTIVE"); | ||
283 | plugin.active = false; | ||
284 | } | 279 | } |
285 | plugList.append( plugin ); | 280 | layout = new QVBoxLayout( this ); |
286 | } | 281 | layout->addWidget( Frame ); |
287 | pluginList = plugList; | 282 | layout->addWidget( OwnerField ); |
288 | 283 | ||
284 | loadPlugins(); | ||
289 | draw(); | 285 | draw(); |
290 | } | 286 | } |
291 | } | ||
292 | |||
293 | 287 | ||
294 | void Today::startAddressbook() { | 288 | void Today::startAddressbook() { |
295 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | 289 | QCopEnvelope e( "QPE/System", "execute(QString)" ); |
@@ -308,14 +302,6 @@ void Today::editCard() { | |||
308 | QCopEnvelope v( "QPE/Addressbook", "editPersonalAndClose()" ); | 302 | QCopEnvelope v( "QPE/Addressbook", "editPersonalAndClose()" ); |
309 | } | 303 | } |
310 | 304 | ||
311 | /* | ||
312 | * launches an App | ||
313 | */ | ||
314 | void Today::launchApp( QString appName ) { | ||
315 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | ||
316 | e << QString( appName ); | ||
317 | } | ||
318 | |||
319 | Today::~Today() { | 305 | Today::~Today() { |
320 | } | 306 | } |
321 | 307 | ||
diff --git a/core/pim/today/today.h b/core/pim/today/today.h index 0a9a705..672adc4 100644 --- a/core/pim/today/today.h +++ b/core/pim/today/today.h | |||
@@ -45,15 +45,16 @@ class Today : public TodayBase { | |||
45 | private slots: | 45 | private slots: |
46 | void startConfig(); | 46 | void startConfig(); |
47 | void startAddressbook(); | 47 | void startAddressbook(); |
48 | void launchApp( QString appName ); | ||
49 | void editCard(); | 48 | void editCard(); |
50 | void draw(); | 49 | void refresh(); |
51 | 50 | ||
52 | private: | 51 | private: |
53 | void init(); | 52 | void init(); |
54 | void setOwnerField(); | 53 | void setOwnerField(); |
55 | void setOwnerField(QString &string); | 54 | void setOwnerField(QString &string); |
56 | void loadPlugins(); | 55 | void loadPlugins(); |
56 | void draw(); | ||
57 | |||
57 | 58 | ||
58 | private slots: | 59 | private slots: |
59 | void channelReceived(const QCString &msg, const QByteArray & data); | 60 | void channelReceived(const QCString &msg, const QByteArray & data); |
@@ -62,8 +63,6 @@ private slots: | |||
62 | TodayConfig *conf; | 63 | TodayConfig *conf; |
63 | QStringList m_excludeApplets; | 64 | QStringList m_excludeApplets; |
64 | 65 | ||
65 | QVBoxLayout *pluginLayout; | ||
66 | |||
67 | // QString m_autoStartTimer; | 66 | // QString m_autoStartTimer; |
68 | int m_newStart; | 67 | int m_newStart; |
69 | // int m_autoStart; | 68 | // int m_autoStart; |
diff --git a/core/pim/today/todaybase.cpp b/core/pim/today/todaybase.cpp index 74f4fa0..800ca5d 100644 --- a/core/pim/today/todaybase.cpp +++ b/core/pim/today/todaybase.cpp | |||
@@ -34,6 +34,8 @@ TodayBase::TodayBase( QWidget* parent, const char* name, WFlags fl ) | |||
34 | 34 | ||
35 | layout = new QVBoxLayout( this ); | 35 | layout = new QVBoxLayout( this ); |
36 | 36 | ||
37 | QVBoxLayout *mainLayout = new QVBoxLayout( this ); | ||
38 | |||
37 | QPalette pal = this->palette(); | 39 | QPalette pal = this->palette(); |
38 | QColor col = pal.color( QPalette::Active, QColorGroup::Background ); | 40 | QColor col = pal.color( QPalette::Active, QColorGroup::Background ); |
39 | pal.setColor( QPalette::Active, QColorGroup::Button, col ); | 41 | pal.setColor( QPalette::Active, QColorGroup::Button, col ); |
@@ -93,10 +95,6 @@ TodayBase::TodayBase( QWidget* parent, const char* name, WFlags fl ) | |||
93 | ConfigButton->setGeometry( QRect( QApplication::desktop()->width()-80, 30, 25, 21 ) ); | 95 | ConfigButton->setGeometry( QRect( QApplication::desktop()->width()-80, 30, 25, 21 ) ); |
94 | ConfigButton->setPixmap( config ); | 96 | ConfigButton->setPixmap( config ); |
95 | ConfigButton->setBackgroundOrigin( QLabel::ParentOrigin ); | 97 | ConfigButton->setBackgroundOrigin( QLabel::ParentOrigin ); |
96 | |||
97 | // -- layout -- | ||
98 | layout->addWidget( Frame ); | ||
99 | layout->addWidget( OwnerField ); | ||
100 | } | 98 | } |
101 | 99 | ||
102 | /** | 100 | /** |
diff --git a/core/pim/today/todayconfig.cpp b/core/pim/today/todayconfig.cpp index 79c4d1f..4f23471 100644 --- a/core/pim/today/todayconfig.cpp +++ b/core/pim/today/todayconfig.cpp | |||
@@ -57,8 +57,6 @@ TodayConfig::TodayConfig( QWidget* parent, const char* name, bool modal, WFlags | |||
57 | 57 | ||
58 | QVBoxLayout *layout = new QVBoxLayout( this ); | 58 | QVBoxLayout *layout = new QVBoxLayout( this ); |
59 | TabWidget3 = new QTabWidget( this, "TabWidget3" ); | 59 | TabWidget3 = new QTabWidget( this, "TabWidget3" ); |
60 | // TabWidget3->setFrameShape( QFrame::NoFrame ); | ||
61 | //TabWidget3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, TabWidget3->sizePolicy().hasHeightForWidth() ) ); | ||
62 | TabWidget3->setAutoMask( FALSE ); | 60 | TabWidget3->setAutoMask( FALSE ); |
63 | TabWidget3->setTabShape( QTabWidget::Rounded ); | 61 | TabWidget3->setTabShape( QTabWidget::Rounded ); |
64 | layout->addWidget( TabWidget3 ); | 62 | layout->addWidget( TabWidget3 ); |