summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-11-20 01:31:27 (UTC)
committer mickeyl <mickeyl>2003-11-20 01:31:27 (UTC)
commitae9e1ed9cc9e65c1ffb28f3b75ff499e18c6b31a (patch) (unidiff)
treeeb25cce124b37363bbd3b7b757d2c92dc94bee19
parentd8c2766507a807c72a350bf73c2908e4fa021262 (diff)
downloadopie-ae9e1ed9cc9e65c1ffb28f3b75ff499e18c6b31a.zip
opie-ae9e1ed9cc9e65c1ffb28f3b75ff499e18c6b31a.tar.gz
opie-ae9e1ed9cc9e65c1ffb28f3b75ff499e18c6b31a.tar.bz2
rework optional doc-tab patch to be less intrusive and more sane
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/documentlist.cpp22
-rw-r--r--core/launcher/launcher.cpp16
-rw-r--r--core/launcher/launcher.h2
3 files changed, 15 insertions, 25 deletions
diff --git a/core/launcher/documentlist.cpp b/core/launcher/documentlist.cpp
index dcea4b9..1a7de33 100644
--- a/core/launcher/documentlist.cpp
+++ b/core/launcher/documentlist.cpp
@@ -75,72 +75,62 @@ public:
75 int searchDepth; 75 int searchDepth;
76 QDir *listDirs[MAX_SEARCH_DEPTH]; 76 QDir *listDirs[MAX_SEARCH_DEPTH];
77 const QFileInfoList *lists[MAX_SEARCH_DEPTH]; 77 const QFileInfoList *lists[MAX_SEARCH_DEPTH];
78 unsigned int listPositions[MAX_SEARCH_DEPTH]; 78 unsigned int listPositions[MAX_SEARCH_DEPTH];
79 79
80 StorageInfo *storage; 80 StorageInfo *storage;
81 81
82 int tid; 82 int tid;
83 83
84 ServerInterface *serverGui; 84 ServerInterface *serverGui;
85 85
86 bool needToSendAllDocLinks; 86 bool needToSendAllDocLinks;
87 bool sendAppLnks; 87 bool sendAppLnks;
88 bool sendDocLnks; 88 bool sendDocLnks;
89 bool scanDocs; 89 bool scanDocs;
90}; 90};
91 91
92 92
93DocumentList::DocumentList( ServerInterface *serverGui, bool scanDocs, 93DocumentList::DocumentList( ServerInterface *serverGui, bool scanDocs,
94 QObject *parent, const char *name ) 94 QObject *parent, const char *name )
95 : QObject( parent, name ) 95 : QObject( parent, name )
96{ 96{
97 appLnkSet = new AppLnkSet( MimeType::appsFolderName() ); 97 appLnkSet = new AppLnkSet( MimeType::appsFolderName() );
98 d = new DocumentListPrivate( serverGui ); 98 d = new DocumentListPrivate( serverGui );
99 d->scanDocs = scanDocs;
100 d->needToSendAllDocLinks = false; 99 d->needToSendAllDocLinks = false;
101 100
101 Config cfg( "Launcher" );
102 cfg.setGroup( "DocTab" );
103 d->scanDocs = cfg.readBoolEntry( "Enable", true );
104 qDebug( "DocumentList::DocumentList() : scanDocs = %d", d->scanDocs );
105
102 QTimer::singleShot( 10, this, SLOT( startInitialScan() ) ); 106 QTimer::singleShot( 10, this, SLOT( startInitialScan() ) );
103} 107}
104 108
105void DocumentList::startInitialScan() 109void DocumentList::startInitialScan()
106{ 110{
107 reloadAppLnks(); 111 reloadAppLnks();
108 112 reloadDocLnks();
109 Config cfg( "Launcher" );
110 cfg.setGroup( "DocTab" );
111 bool docTabEnabled = cfg.readBoolEntry( "Enable", true );
112 if ( docTabEnabled )
113 reloadDocLnks();
114 else
115 {
116 if ( d->sendDocLnks && d->serverGui )
117 {
118 d->serverGui->documentScanningProgress( 0 );
119 d->serverGui->allDocumentsRemoved();
120 }
121 }
122
123} 113}
124 114
125DocumentList::~DocumentList() 115DocumentList::~DocumentList()
126{ 116{
127 delete appLnkSet; 117 delete appLnkSet;
128 delete d; 118 delete d;
129} 119}
130 120
131 121
132void DocumentList::add( const DocLnk& doc ) 122void DocumentList::add( const DocLnk& doc )
133{ 123{
134 if ( d->serverGui && QFile::exists( doc.file() ) ) 124 if ( d->serverGui && QFile::exists( doc.file() ) )
135 d->serverGui->documentAdded( doc ); 125 d->serverGui->documentAdded( doc );
136} 126}
137 127
138 128
139void DocumentList::start() 129void DocumentList::start()
140{ 130{
141 resume(); 131 resume();
142} 132}
143 133
144 134
145void DocumentList::pause() 135void DocumentList::pause()
146{ 136{
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp
index b312672..344cd46 100644
--- a/core/launcher/launcher.cpp
+++ b/core/launcher/launcher.cpp
@@ -131,48 +131,49 @@ void LauncherTabWidget::createDocLoadingWidget()
131 waitPixmap->setPixmap( Resource::loadPixmap( "bigwait" ) ); 131 waitPixmap->setPixmap( Resource::loadPixmap( "bigwait" ) );
132 waitPixmap->setAlignment( int( QLabel::AlignCenter ) ); 132 waitPixmap->setAlignment( int( QLabel::AlignCenter ) );
133 133
134 Config cfg( "Launcher" ); 134 Config cfg( "Launcher" );
135 cfg.setGroup( "DocTab" ); 135 cfg.setGroup( "DocTab" );
136 bool docTabEnabled = cfg.readBoolEntry( "Enable", true ); 136 bool docTabEnabled = cfg.readBoolEntry( "Enable", true );
137 137
138 QLabel *textLabel = new QLabel( docLoadingVBox ); 138 QLabel *textLabel = new QLabel( docLoadingVBox );
139 textLabel->setAlignment( int( QLabel::AlignCenter ) ); 139 textLabel->setAlignment( int( QLabel::AlignCenter ) );
140 docLoadingWidgetProgress = new QProgressBar( docLoadingVBox ); 140 docLoadingWidgetProgress = new QProgressBar( docLoadingVBox );
141 docLoadingWidgetProgress->setProgress( 0 ); 141 docLoadingWidgetProgress->setProgress( 0 );
142 docLoadingWidgetProgress->setCenterIndicator( TRUE ); 142 docLoadingWidgetProgress->setCenterIndicator( TRUE );
143 docLoadingWidgetProgress->setBackgroundMode( NoBackground ); // No flicker 143 docLoadingWidgetProgress->setBackgroundMode( NoBackground ); // No flicker
144 setProgressStyle(); 144 setProgressStyle();
145 145
146 if ( docTabEnabled ) 146 if ( docTabEnabled )
147 { 147 {
148 textLabel->setText( tr( "<b>Finding Documents...</b>" ) ); 148 textLabel->setText( tr( "<b>Finding Documents...</b>" ) );
149 } 149 }
150 else 150 else
151 { 151 {
152 textLabel->setText( tr( "<b>The Documents Tab<p>has been disabled.<p>" 152 textLabel->setText( tr( "<b>The Documents Tab<p>has been disabled.<p>"
153 "Use Settings->Launcher->DocTab<p>to reenable it.</b></center>" ) ); 153 "Use Settings->Launcher->DocTab<p>to reenable it.</b></center>" ) );
154 docLoadingWidgetProgress->hide(); 154 docLoadingWidgetProgress->hide();
155 docLoadingWidgetEnabled = true;
155 } 156 }
156 157
157 QWidget *space2 = new QWidget( docLoadingVBox ); 158 QWidget *space2 = new QWidget( docLoadingVBox );
158 docLoadingVBox->setStretchFactor( space2, 1 ); 159 docLoadingVBox->setStretchFactor( space2, 1 );
159 160
160 cfg.setGroup( "Tab Documents" ); // No tr 161 cfg.setGroup( "Tab Documents" ); // No tr
161 setTabViewAppearance( docLoadingWidget, cfg ); 162 setTabViewAppearance( docLoadingWidget, cfg );
162 163
163 stack->addWidget( docLoadingWidget, 0 ); 164 stack->addWidget( docLoadingWidget, 0 );
164} 165}
165 166
166void LauncherTabWidget::initLayout() 167void LauncherTabWidget::initLayout()
167{ 168{
168 layout()->activate(); 169 layout()->activate();
169 docView()->setFocus(); 170 docView()->setFocus();
170 categoryBar->showTab("Documents"); 171 categoryBar->showTab("Documents");
171} 172}
172 173
173void LauncherTabWidget::appMessage(const QCString& message, const QByteArray&) 174void LauncherTabWidget::appMessage(const QCString& message, const QByteArray&)
174{ 175{
175 if ( message == "nextView()" ) 176 if ( message == "nextView()" )
176 categoryBar->nextTab(); 177 categoryBar->nextTab();
177} 178}
178 179
@@ -480,48 +481,55 @@ void Launcher::createGUI()
480 QCopChannel* sysChannel = new QCopChannel( "QPE/System", this ); 481 QCopChannel* sysChannel = new QCopChannel( "QPE/System", this );
481 connect( sysChannel, SIGNAL(received(const QCString &, const QByteArray &)), 482 connect( sysChannel, SIGNAL(received(const QCString &, const QByteArray &)),
482 this, SLOT(systemMessage( const QCString &, const QByteArray &)) ); 483 this, SLOT(systemMessage( const QCString &, const QByteArray &)) );
483#endif 484#endif
484 485
485 // all documents 486 // all documents
486 QImage img( Resource::loadImage( "DocsIcon" ) ); 487 QImage img( Resource::loadImage( "DocsIcon" ) );
487 QPixmap pm; 488 QPixmap pm;
488 pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); 489 pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() );
489 // It could add this itself if it handles docs 490 // It could add this itself if it handles docs
490 491
491 tabs->newView("Documents", pm, tr("Documents") )->setToolsEnabled( TRUE ); 492 tabs->newView("Documents", pm, tr("Documents") )->setToolsEnabled( TRUE );
492 493
493 QTimer::singleShot( 0, tabs, SLOT( initLayout() ) ); 494 QTimer::singleShot( 0, tabs, SLOT( initLayout() ) );
494 qApp->setMainWidget( this ); 495 qApp->setMainWidget( this );
495 QTimer::singleShot( 500, this, SLOT( makeVisible() ) ); 496 QTimer::singleShot( 500, this, SLOT( makeVisible() ) );
496} 497}
497 498
498Launcher::~Launcher() 499Launcher::~Launcher()
499{ 500{
500 if ( tb ) 501 if ( tb )
501 destroyGUI(); 502 destroyGUI();
502} 503}
503 504
505 bool Launcher::requiresDocuments() const
506 {
507 Config cfg( "Launcher" );
508 cfg.setGroup( "DocTab" );
509 return cfg.readBoolEntry( "Enable", true );
510}
511
504void Launcher::makeVisible() 512void Launcher::makeVisible()
505{ 513{
506 showMaximized(); 514 showMaximized();
507} 515}
508 516
509void Launcher::destroyGUI() 517void Launcher::destroyGUI()
510{ 518{
511 delete tb; 519 delete tb;
512 tb = 0; 520 tb = 0;
513 delete tabs; 521 delete tabs;
514 tabs =0; 522 tabs =0;
515} 523}
516 524
517bool Launcher::eventFilter( QObject*, QEvent *ev ) 525bool Launcher::eventFilter( QObject*, QEvent *ev )
518{ 526{
519#ifdef QT_QWS_CUSTOM 527#ifdef QT_QWS_CUSTOM
520 if ( ev->type() == QEvent::KeyPress ) { 528 if ( ev->type() == QEvent::KeyPress ) {
521 QKeyEvent *ke = (QKeyEvent *)ev; 529 QKeyEvent *ke = (QKeyEvent *)ev;
522 if ( ke->key() == Qt::Key_F11 ) { // menu key 530 if ( ke->key() == Qt::Key_F11 ) { // menu key
523 QWidget *active = qApp->activeWindow(); 531 QWidget *active = qApp->activeWindow();
524 if ( active && active->isPopup() ) 532 if ( active && active->isPopup() )
525 active->close(); 533 active->close();
526 else { 534 else {
527 Global::terminateBuiltin("calibrate"); // No tr 535 Global::terminateBuiltin("calibrate"); // No tr
@@ -728,53 +736,45 @@ void Launcher::applicationStateChanged( const QString& name, ApplicationState st
728void Launcher::applicationScanningProgress( int percent ) 736void Launcher::applicationScanningProgress( int percent )
729{ 737{
730 switch ( percent ) { 738 switch ( percent ) {
731 case 0: { 739 case 0: {
732 for ( QStringList::ConstIterator it=ids.begin(); it!= ids.end(); ++it) { 740 for ( QStringList::ConstIterator it=ids.begin(); it!= ids.end(); ++it) {
733 tabs->view( (*it) )->setUpdatesEnabled( FALSE ); 741 tabs->view( (*it) )->setUpdatesEnabled( FALSE );
734 tabs->view( (*it) )->setSortEnabled( FALSE ); 742 tabs->view( (*it) )->setSortEnabled( FALSE );
735 } 743 }
736 break; 744 break;
737 } 745 }
738 case 100: { 746 case 100: {
739 for ( QStringList::ConstIterator it=ids.begin(); it!= ids.end(); ++it) { 747 for ( QStringList::ConstIterator it=ids.begin(); it!= ids.end(); ++it) {
740 tabs->view( (*it) )->setUpdatesEnabled( TRUE ); 748 tabs->view( (*it) )->setUpdatesEnabled( TRUE );
741 tabs->view( (*it) )->setSortEnabled( TRUE ); 749 tabs->view( (*it) )->setSortEnabled( TRUE );
742 } 750 }
743 break; 751 break;
744 } 752 }
745 default: 753 default:
746 break; 754 break;
747 } 755 }
748} 756}
749 757
750void Launcher::documentScanningProgress( int percent ) 758void Launcher::documentScanningProgress( int percent )
751{ 759{
752 if ( !docTabEnabled )
753 {
754 qDebug( "Launcher: document tab disabled!" );
755 tabs->setLoadingProgress( 100 );
756 tabs->setLoadingWidgetEnabled( TRUE );
757 return;
758 }
759
760 switch ( percent ) { 760 switch ( percent ) {
761 case 0: { 761 case 0: {
762 tabs->setLoadingProgress( 0 ); 762 tabs->setLoadingProgress( 0 );
763 tabs->setLoadingWidgetEnabled( TRUE ); 763 tabs->setLoadingWidgetEnabled( TRUE );
764 tabs->docView()->setUpdatesEnabled( FALSE ); 764 tabs->docView()->setUpdatesEnabled( FALSE );
765 tabs->docView()->setSortEnabled( FALSE ); 765 tabs->docView()->setSortEnabled( FALSE );
766 break; 766 break;
767 } 767 }
768 case 100: { 768 case 100: {
769 tabs->docView()->updateTools(); 769 tabs->docView()->updateTools();
770 tabs->docView()->setSortEnabled( TRUE ); 770 tabs->docView()->setSortEnabled( TRUE );
771 tabs->docView()->setUpdatesEnabled( TRUE ); 771 tabs->docView()->setUpdatesEnabled( TRUE );
772 tabs->setLoadingWidgetEnabled( FALSE ); 772 tabs->setLoadingWidgetEnabled( FALSE );
773 break; 773 break;
774 } 774 }
775 default: 775 default:
776 tabs->setLoadingProgress( percent ); 776 tabs->setLoadingProgress( percent );
777 break; 777 break;
778 } 778 }
779} 779}
780 780
diff --git a/core/launcher/launcher.h b/core/launcher/launcher.h
index 1d046ee..4f3ff8c 100644
--- a/core/launcher/launcher.h
+++ b/core/launcher/launcher.h
@@ -95,49 +95,49 @@ private:
95class Launcher : public QMainWindow, public ServerInterface 95class Launcher : public QMainWindow, public ServerInterface
96{ 96{
97 Q_OBJECT 97 Q_OBJECT
98public: 98public:
99 Launcher(); 99 Launcher();
100 ~Launcher(); 100 ~Launcher();
101 101
102 // implementing ServerInterface 102 // implementing ServerInterface
103 void createGUI(); 103 void createGUI();
104 void destroyGUI(); 104 void destroyGUI();
105 void typeAdded( const QString& type, const QString& name, const QPixmap& pixmap, const QPixmap& bgPixmap ); 105 void typeAdded( const QString& type, const QString& name, const QPixmap& pixmap, const QPixmap& bgPixmap );
106 void typeRemoved( const QString& type ); 106 void typeRemoved( const QString& type );
107 void applicationAdded( const QString& type, const AppLnk& doc ); 107 void applicationAdded( const QString& type, const AppLnk& doc );
108 void applicationRemoved( const QString& type, const AppLnk& doc ); 108 void applicationRemoved( const QString& type, const AppLnk& doc );
109 void allApplicationsRemoved(); 109 void allApplicationsRemoved();
110 void applicationStateChanged( const QString& name, ApplicationState state ); 110 void applicationStateChanged( const QString& name, ApplicationState state );
111 void documentAdded( const DocLnk& doc ); 111 void documentAdded( const DocLnk& doc );
112 void documentRemoved( const DocLnk& doc ); 112 void documentRemoved( const DocLnk& doc );
113 void allDocumentsRemoved(); 113 void allDocumentsRemoved();
114 void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc ); 114 void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc );
115 void storageChanged( const QList<FileSystem> & ); 115 void storageChanged( const QList<FileSystem> & );
116 void applicationScanningProgress( int percent ); 116 void applicationScanningProgress( int percent );
117 void documentScanningProgress( int percent ); 117 void documentScanningProgress( int percent );
118 bool requiresApplications() const { return TRUE; } 118 bool requiresApplications() const { return TRUE; }
119 bool requiresDocuments() const { return TRUE; } 119 bool requiresDocuments() const;
120 void showLoadingDocs(); 120 void showLoadingDocs();
121 void showDocTab(); 121 void showDocTab();
122 122
123 QStringList idList() const { return ids; } 123 QStringList idList() const { return ids; }
124 124
125public slots: 125public slots:
126 void viewSelected(const QString&); 126 void viewSelected(const QString&);
127 void showTab(const QString&); 127 void showTab(const QString&);
128 void select( const AppLnk * ); 128 void select( const AppLnk * );
129 void properties( AppLnk * ); 129 void properties( AppLnk * );
130 void makeVisible(); 130 void makeVisible();
131 131
132signals: 132signals:
133 void executing( const AppLnk * ); 133 void executing( const AppLnk * );
134 134
135private slots: 135private slots:
136 void systemMessage( const QCString &, const QByteArray &); 136 void systemMessage( const QCString &, const QByteArray &);
137 void toggleSymbolInput(); 137 void toggleSymbolInput();
138 void toggleNumLockState(); 138 void toggleNumLockState();
139 void toggleCapsLockState(); 139 void toggleCapsLockState();
140 140
141protected: 141protected:
142 bool eventFilter( QObject *o, QEvent *ev ); 142 bool eventFilter( QObject *o, QEvent *ev );
143 143