summaryrefslogtreecommitdiff
path: root/core/launcher/launcherview.h
authoralwin <alwin>2004-11-08 14:20:12 (UTC)
committer alwin <alwin>2004-11-08 14:20:12 (UTC)
commit40bbaace5492ce6420a2d4a353b24df64c142287 (patch) (unidiff)
tree4295cad588216667fab3983267c220742721bb7d /core/launcher/launcherview.h
parentff5395987d739cbac81ccfdbca7006cec3950a30 (diff)
downloadopie-40bbaace5492ce6420a2d4a353b24df64c142287.zip
opie-40bbaace5492ce6420a2d4a353b24df64c142287.tar.gz
opie-40bbaace5492ce6420a2d4a353b24df64c142287.tar.bz2
- reworked the icon generation for images in doctab
- some reorg of code was strongly required - code more readable
Diffstat (limited to 'core/launcher/launcherview.h') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/launcherview.h114
1 files changed, 106 insertions, 8 deletions
diff --git a/core/launcher/launcherview.h b/core/launcher/launcherview.h
index a9ff9eb..3cca7f7 100644
--- a/core/launcher/launcherview.h
+++ b/core/launcher/launcherview.h
@@ -24,11 +24,11 @@
24#include <qtopia/applnk.h> 24#include <qtopia/applnk.h>
25 25
26#include <qvbox.h> 26#include <qvbox.h>
27#include <qiconview.h>
27 28
28class CategorySelect; 29class CategorySelect;
29class LauncherIconView; 30class LauncherIconView;
30class LauncherItem; 31class LauncherItem;
31class QIconView;
32class QIconViewItem; 32class QIconViewItem;
33class QLabel; 33class QLabel;
34class QWidgetStack; 34class QWidgetStack;
@@ -117,8 +117,7 @@ private:
117 117
118}; 118};
119 119
120/* taken from opie-eye */ 120/* from opie-eye */
121
122struct PixmapInfo { 121struct PixmapInfo {
123 PixmapInfo() : width( -1 ), height( -1 ) {} 122 PixmapInfo() : width( -1 ), height( -1 ) {}
124 bool operator==( const PixmapInfo& r ) { 123 bool operator==( const PixmapInfo& r ) {
@@ -137,7 +136,7 @@ class LauncherThumbReceiver:public QObject
137 Q_OBJECT 136 Q_OBJECT
138 typedef QValueList<PixmapInfo> PixmapInfos; 137 typedef QValueList<PixmapInfo> PixmapInfos;
139public: 138public:
140 LauncherThumbReceiver(LauncherItem*parent); 139 LauncherThumbReceiver();
141 ~LauncherThumbReceiver(); 140 ~LauncherThumbReceiver();
142 void requestThumb(const QString&file,int width,int height); 141 void requestThumb(const QString&file,int width,int height);
143 142
@@ -145,11 +144,110 @@ public slots:
145 void recieve( const QCString&, const QByteArray& ); 144 void recieve( const QCString&, const QByteArray& );
146protected slots: 145protected slots:
147 virtual void sendRequest(); 146 virtual void sendRequest();
147
148signals:
149 void sig_Thumbnail(const QPixmap&,const QString&);
150
151protected:
152 PixmapInfos m_inThumbNail;
153};
154
155class LauncherIconView : public QIconView {
156 Q_OBJECT
157public:
158 LauncherIconView( QWidget* parent, const char* name=0 );
159 ~LauncherIconView();
160 QIconViewItem* busyItem() const;
161
162#ifdef USE_ANIMATED_BUSY_ICON_OVERLAY
163 QPixmap busyPixmap() const { return busyPix; }
164#endif
165 void setBigIcons( bool bi );
166 void updateCategoriesAndMimeTypes();
167 void setBusyIndicatorType ( BusyIndicatorType t );
168 void doAutoScroll()
169 {
170 // We don't want rubberbanding (yet)
171 }
172
173 void setBusy(bool on);
174 bool inKeyEvent() const { return ike; }
175
176 void keyPressEvent(QKeyEvent* e)
177 {
178 ike = TRUE;
179 if ( e->key() == Key_F33 /* OK button */ || e->key() == Key_Space ) {
180 if ( (e->state() & ShiftButton) )
181 emit mouseButtonPressed(ShiftButton, currentItem(), QPoint() );
182 else
183 returnPressed(currentItem());
184 }
185
186 QIconView::keyPressEvent(e);
187 ike = FALSE;
188 }
189
190 void addItem(AppLnk* app, bool resort=TRUE);
191 bool removeLink(const QString& linkfile);
192
193 QStringList mimeTypes() const;
194 QStringList categories() const;
195 void clear();
196 void addCatsAndMimes(AppLnk* app);
197
198 void setBackgroundOrigin( QWidget::BackgroundOrigin ) {}
199
200 void setBackgroundPixmap( const QPixmap &pm ) {
201 bgPixmap = pm;
202 }
203
204 void setBackgroundColor( const QColor &c ) {
205 bgColor = c;
206 }
207
208 void drawBackground( QPainter *p, const QRect &r );
209 void setItemTextPos( ItemTextPos pos );
210 void hideOrShowItems(bool resort);
211
212 void setTypeFilter(const QString& typefilter, bool resort);
213 void setCategoryFilter( int catfilter, bool resort );
214
215 enum SortMethod { Name, Date, Type };
216
217 void setSortMethod( SortMethod m );
218 int compare(const AppLnk* a, const AppLnk* b);
219
148protected: 220protected:
149 LauncherItem*m_parent; 221 void timerEvent( QTimerEvent *te );
150 QString m_reqFile; 222 void styleChange( QStyle &old );
151 PixmapInfo rItem; 223 void calculateGrid( ItemTextPos pos );
152 bool m_waiting:1; 224 void focusInEvent( QFocusEvent * ) {}
225 void focusOutEvent( QFocusEvent * ) {}
226 LauncherItem*findDocItem(const QString&);
227 void addCheckItem(AppLnk* app);
228 void checkCallback();
229
230protected slots:
231 void setEyePixmap(const QPixmap&,const QString&);
232
233private:
234 QList<AppLnk> hidden;
235 QDict<void> mimes;
236 QDict<void> cats;
237 SortMethod sortmeth;
238 QRegExp tf;
239 int cf;
240 LauncherItem* bsy;
241 int busyTimer;
242 bool ike;
243 bool bigIcns;
244 QPixmap bgPixmap;
245 QColor bgColor;
246 LauncherThumbReceiver*m_EyeCallBack;
247#ifdef USE_ANIMATED_BUSY_ICON_OVERLAY
248 QPixmap busyPix;
249#endif
250 BusyIndicatorType busyType;
153}; 251};
154 252
155#endif // LAUNCHERVIEW_H 253#endif // LAUNCHERVIEW_H