author | llornkcor <llornkcor> | 2004-06-15 09:51:02 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2004-06-15 09:51:02 (UTC) |
commit | 83b4b2d2670b63a2a540006cea2ea8808100d308 (patch) (unidiff) | |
tree | 577fc60d3b2f63374c7bceeea311f2dc28f99e8e | |
parent | 631bd9765ed1d4e53ee8b021da644e0cfdcd623c (diff) | |
download | opie-83b4b2d2670b63a2a540006cea2ea8808100d308.zip opie-83b4b2d2670b63a2a540006cea2ea8808100d308.tar.gz opie-83b4b2d2670b63a2a540006cea2ea8808100d308.tar.bz2 |
load guten library, and fix some dialogs
-rw-r--r-- | noncore/apps/opie-gutenbrowser/LibraryDialog.cpp | 10 | ||||
-rw-r--r-- | noncore/apps/opie-gutenbrowser/LibraryDialogData.cpp | 3 | ||||
-rw-r--r-- | noncore/apps/opie-gutenbrowser/gutenbrowser.cpp | 82 |
3 files changed, 47 insertions, 48 deletions
diff --git a/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp b/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp index 270a4cf..124b6f3 100644 --- a/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp +++ b/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp | |||
@@ -1,354 +1,356 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | // LibraryDialog.cpp - description | 2 | // LibraryDialog.cpp - description |
3 | // ------------------- | 3 | // ------------------- |
4 | // begin : Sat Aug 19 2000 | 4 | // begin : Sat Aug 19 2000 |
5 | // copyright : (C) 2000 - 2004 by llornkcor | 5 | // copyright : (C) 2000 - 2004 by llornkcor |
6 | // email : ljp@llornkcor.com | 6 | // email : ljp@llornkcor.com |
7 | // ***************************************************/ | 7 | // ***************************************************/ |
8 | // /*************************************************************************** | 8 | // /*************************************************************************** |
9 | // * This program is free software; you can redistribute it and/or modify * | 9 | // * This program is free software; you can redistribute it and/or modify * |
10 | // * it under the terms of the GNU General Public License as published by * | 10 | // * it under the terms of the GNU General Public License as published by * |
11 | // * the Free Software Foundation; either version 2 of the License, or * | 11 | // * the Free Software Foundation; either version 2 of the License, or * |
12 | // * (at your option) any later version. * | 12 | // * (at your option) any later version. * |
13 | // ***************************************************************************/ | 13 | // ***************************************************************************/ |
14 | //ftp://ibiblio.org/pub/docs/books/gutenberg/GUTINDEX.ALL | 14 | //ftp://ibiblio.org/pub/docs/books/gutenberg/GUTINDEX.ALL |
15 | 15 | ||
16 | #include "LibraryDialog.h" | 16 | #include "LibraryDialog.h" |
17 | #include "output.h" | 17 | #include "output.h" |
18 | 18 | ||
19 | /* OPIE */ | 19 | /* OPIE */ |
20 | #include <qpe/applnk.h> | 20 | #include <qpe/applnk.h> |
21 | #include <qpe/qpeapplication.h> | 21 | #include <qpe/qpeapplication.h> |
22 | #include <qpe/qpedialog.h> | 22 | #include <qpe/qpedialog.h> |
23 | #include <opie2/odebug.h> | 23 | #include <opie2/odebug.h> |
24 | 24 | ||
25 | /* QT */ | 25 | /* QT */ |
26 | #include <qpushbutton.h> | 26 | #include <qpushbutton.h> |
27 | #include <qmultilineedit.h> | 27 | #include <qmultilineedit.h> |
28 | //#include <qlayout.h> | 28 | //#include <qlayout.h> |
29 | 29 | ||
30 | /* STD */ | 30 | /* STD */ |
31 | #include <unistd.h> | 31 | #include <unistd.h> |
32 | #include <stdio.h> | 32 | #include <stdio.h> |
33 | #include <stdlib.h> | 33 | #include <stdlib.h> |
34 | 34 | ||
35 | /* | 35 | /* |
36 | * The dialog will by default be modeless, unless you set 'modal' to | 36 | * The dialog will by default be modeless, unless you set 'modal' to |
37 | * TRUE to construct a modal dialog. */ | 37 | * TRUE to construct a modal dialog. */ |
38 | LibraryDialog::LibraryDialog( QWidget* parent, const char* name , bool modal, WFlags fl ) | 38 | LibraryDialog::LibraryDialog( QWidget* parent, const char* name , bool modal, WFlags fl ) |
39 | : QDialog( parent, name, true/* modal*/, fl ) | 39 | : QDialog( parent, name, true/* modal*/, fl ) |
40 | { | 40 | { |
41 | if ( !name ) | 41 | if ( !name ) |
42 | setName( "LibraryDialog" ); | 42 | setName( "LibraryDialog" ); |
43 | indexLoaded=false; | 43 | indexLoaded=false; |
44 | initDialog(); | 44 | initDialog(); |
45 | 45 | ||
46 | // this->setMaximumWidth(240); | 46 | // this->setMaximumWidth(240); |
47 | 47 | ||
48 | index = "GUTINDEX.ALL"; | 48 | index = "GUTINDEX.ALL"; |
49 | local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/"; | 49 | local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/"; |
50 | local_index = local_library + index; | 50 | local_index = local_library + index; |
51 | 51 | ||
52 | QString iniFile ; | 52 | QString iniFile ; |
53 | iniFile = QPEApplication::qpeDir()+"/etc/gutenbrowser/gutenbrowserrc"; | 53 | iniFile = QPEApplication::qpeDir()+"/etc/gutenbrowser/gutenbrowserrc"; |
54 | 54 | ||
55 | new_index =QPEApplication::qpeDir()+"/etc/gutenbrowser/PGWHOLE.TXT"; | 55 | new_index =QPEApplication::qpeDir()+"/etc/gutenbrowser/PGWHOLE.TXT"; |
56 | 56 | ||
57 | old_index = QPEApplication::qpeDir()+"/etc/gutenbrowser/GUTINDEX.ALL"; | 57 | old_index = QPEApplication::qpeDir()+"/etc/gutenbrowser/GUTINDEX.ALL"; |
58 | // old_index = QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL"; | 58 | // old_index = QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL"; |
59 | 59 | ||
60 | // iniFile = local_library+"gutenbrowserrc"; | 60 | // iniFile = local_library+"gutenbrowserrc"; |
61 | // new_index = local_library + "PGWHOLE.TXT"; | 61 | // new_index = local_library + "PGWHOLE.TXT"; |
62 | // old_index = local_library + "GUTINDEX.ALL"; | 62 | // old_index = local_library + "GUTINDEX.ALL"; |
63 | 63 | ||
64 | Config config("Gutenbrowser"); | 64 | Config config("Gutenbrowser"); |
65 | 65 | ||
66 | config.setGroup( "HttpServer" ); | 66 | config.setGroup( "HttpServer" ); |
67 | proxy_http = config.readEntry("Preferred", "http://sailor.gutenbook.org"); | 67 | proxy_http = config.readEntry("Preferred", "http://sailor.gutenbook.org"); |
68 | 68 | ||
69 | config.setGroup( "FTPsite" ); | 69 | config.setGroup( "FTPsite" ); |
70 | ftp_host=config.readEntry("SiteName", "sailor.gutenberg.org"); | 70 | ftp_host=config.readEntry("SiteName", "sailor.gutenberg.org"); |
71 | odebug << "Library Dialog: ftp_host is "+ftp_host << oendl; | 71 | odebug << "Library Dialog: ftp_host is "+ftp_host << oendl; |
72 | // ftp_host=ftp_host.right(ftp_host.length()-(ftp_host.find(") ",0,TRUE)+1) ); | 72 | // ftp_host=ftp_host.right(ftp_host.length()-(ftp_host.find(") ",0,TRUE)+1) ); |
73 | // ftp_host=ftp_host.stripWhiteSpace(); | 73 | // ftp_host=ftp_host.stripWhiteSpace(); |
74 | ftp_base_dir= config.readEntry("base", "/pub/gutenberg"); | 74 | ftp_base_dir= config.readEntry("base", "/pub/gutenberg"); |
75 | 75 | ||
76 | i_binary = 0; | 76 | i_binary = 0; |
77 | 77 | ||
78 | config.setGroup("SortAuth"); | 78 | config.setGroup("SortAuth"); |
79 | if( config.readEntry("authSort", "FALSE") == "TRUE") | 79 | if( config.readEntry("authSort", "FALSE") == "TRUE") |
80 | authBox->setChecked(TRUE); | 80 | authBox->setChecked(TRUE); |
81 | 81 | ||
82 | config.setGroup("General"); | 82 | config.setGroup("General"); |
83 | downDir =config.readEntry( "DownloadDirectory",local_library); | 83 | downDir =config.readEntry( "DownloadDirectory",local_library); |
84 | odebug << "downDir is "+downDir << oendl; | 84 | odebug << "downDir is "+downDir << oendl; |
85 | newindexLib.setName( old_index); | 85 | newindexLib.setName( old_index); |
86 | indexLib.setName( old_index); | 86 | indexLib.setName( old_index); |
87 | 87 | ||
88 | new QPEDialogListener(this); | 88 | new QPEDialogListener(this); |
89 | QTimer::singleShot( 1000, this, SLOT( FindLibrary()) ); | ||
90 | |||
89 | } | 91 | } |
90 | 92 | ||
91 | LibraryDialog::~LibraryDialog() | 93 | LibraryDialog::~LibraryDialog() |
92 | { | 94 | { |
93 | // delete QList_Item2; | 95 | // delete QList_Item2; |
94 | // delete QList_Item1; | 96 | // delete QList_Item1; |
95 | // delete QList_Item3; | 97 | // delete QList_Item3; |
96 | // delete QList_Item4; | 98 | // delete QList_Item4; |
97 | // delete QList_Item5; | 99 | // delete QList_Item5; |
98 | 100 | ||
99 | // saveConfig(); | 101 | // saveConfig(); |
100 | } | 102 | } |
101 | 103 | ||
102 | /*This groks using PGWHOLE.TXT */ | 104 | /*This groks using PGWHOLE.TXT */ |
103 | void LibraryDialog::Newlibrary() | 105 | void LibraryDialog::Newlibrary() |
104 | { | 106 | { |
105 | #ifndef Q_WS_QWS //sorry embedded gutenbrowser cant use zip files | 107 | #ifndef Q_WS_QWS //sorry embedded gutenbrowser cant use zip files |
106 | //odebug << "Opening new library index " << newindexLib << "" << oendl; | 108 | //odebug << "Opening new library index " << newindexLib << "" << oendl; |
107 | if ( newindexLib.open( IO_ReadOnly) ) { | 109 | if ( newindexLib.open( IO_ReadOnly) ) { |
108 | setCaption( tr( "Library Index - using master pg index." ) );// file opened successfully | 110 | setCaption( tr( "Library Index - using master pg index." ) );// file opened successfully |
109 | QTextStream indexStream( &newindexLib ); | 111 | QTextStream indexStream( &newindexLib ); |
110 | QString indexLine; | 112 | QString indexLine; |
111 | while ( !indexStream.atEnd() ) { // until end of file.. | 113 | while ( !indexStream.atEnd() ) { // until end of file.. |
112 | indexLine = indexStream.readLine(); | 114 | indexLine = indexStream.readLine(); |
113 | if ( ( indexLine.mid(4,4)).toInt() && !( indexLine.left(3)).toInt()) { | 115 | if ( ( indexLine.mid(4,4)).toInt() && !( indexLine.left(3)).toInt()) { |
114 | year = indexLine.mid(4,4); | 116 | year = indexLine.mid(4,4); |
115 | year = year.stripWhiteSpace(); | 117 | year = year.stripWhiteSpace(); |
116 | file = indexLine.mid( indexLine.find( "[", 0, TRUE )+1, 12 ); | 118 | file = indexLine.mid( indexLine.find( "[", 0, TRUE )+1, 12 ); |
117 | file = file.stripWhiteSpace(); | 119 | file = file.stripWhiteSpace(); |
118 | number = indexLine.mid( indexLine.find( "]", 0, TRUE ) +1, indexLine.find( " ", 0, TRUE )+1 ); | 120 | number = indexLine.mid( indexLine.find( "]", 0, TRUE ) +1, indexLine.find( " ", 0, TRUE )+1 ); |
119 | if( year.toInt() < 1984) | 121 | if( year.toInt() < 1984) |
120 | number = number.left( number.length() -1 ); | 122 | number = number.left( number.length() -1 ); |
121 | number = number.stripWhiteSpace(); | 123 | number = number.stripWhiteSpace(); |
122 | title = indexLine.mid( indexLine.find(" ", 26, TRUE), indexLine.length() ); | 124 | title = indexLine.mid( indexLine.find(" ", 26, TRUE), indexLine.length() ); |
123 | title = title.stripWhiteSpace(); | 125 | title = title.stripWhiteSpace(); |
124 | 126 | ||
125 | getAuthor(); // groks author | 127 | getAuthor(); // groks author |
126 | author = author.stripWhiteSpace(); | 128 | author = author.stripWhiteSpace(); |
127 | if (authBox->isChecked()) { // this reverses the first name and last name of the author | 129 | if (authBox->isChecked()) { // this reverses the first name and last name of the author |
128 | // odebug << "Sorting last name first" << oendl; | 130 | // odebug << "Sorting last name first" << oendl; |
129 | QString lastName, firstName=""; | 131 | QString lastName, firstName=""; |
130 | int finder=author.findRev( ' ', -1, TRUE); | 132 | int finder=author.findRev( ' ', -1, TRUE); |
131 | lastName=author.right( author.length()-finder); | 133 | lastName=author.right( author.length()-finder); |
132 | firstName=author.left(finder); | 134 | firstName=author.left(finder); |
133 | lastName=lastName.stripWhiteSpace(); | 135 | lastName=lastName.stripWhiteSpace(); |
134 | firstName=firstName.stripWhiteSpace(); | 136 | firstName=firstName.stripWhiteSpace(); |
135 | 137 | ||
136 | if( lastName.find( firstName, 0, true) == -1) // this avoids dup names | 138 | if( lastName.find( firstName, 0, true) == -1) // this avoids dup names |
137 | author=lastName+", "+firstName; | 139 | author=lastName+", "+firstName; |
138 | } | 140 | } |
139 | 141 | ||
140 | if( !number.isEmpty() && (title.find( "reserved",0, FALSE) == -1) && (file.find( "]",0, TRUE) == -1) ) { | 142 | if( !number.isEmpty() && (title.find( "reserved",0, FALSE) == -1) && (file.find( "]",0, TRUE) == -1) ) { |
141 | 143 | ||
142 | // fill string list or something to be able to resort the whole library | 144 | // fill string list or something to be able to resort the whole library |
143 | if( author.isEmpty() ) | 145 | if( author.isEmpty() ) |
144 | QList_Item5 = new QListViewItem( ListView5, /* number,*/ title, author, year, file ); | 146 | QList_Item5 = new QListViewItem( ListView5, /* number,*/ title, author, year, file ); |
145 | else { | 147 | else { |
146 | 148 | ||
147 | if( (author.left(1) >= QString("A") && author.left(1) <= QString("F")) || | 149 | if( (author.left(1) >= QString("A") && author.left(1) <= QString("F")) || |
148 | (author.left(1) >= QString("a") && author.left(1) <= QString("f")) ) | 150 | (author.left(1) >= QString("a") && author.left(1) <= QString("f")) ) |
149 | QList_Item1 = new QListViewItem( ListView1,/* number,*/ title, author, year, file ); | 151 | QList_Item1 = new QListViewItem( ListView1,/* number,*/ title, author, year, file ); |
150 | 152 | ||
151 | else if( (author.left(1) >= QString("G") && author.left(1) <= QString("M")) || | 153 | else if( (author.left(1) >= QString("G") && author.left(1) <= QString("M")) || |
152 | (author.left(1) >= QString("g") && author.left(1) <= QString("m")) ) | 154 | (author.left(1) >= QString("g") && author.left(1) <= QString("m")) ) |
153 | QList_Item2 = new QListViewItem( ListView2, /*number, */title, author, year, file ); | 155 | QList_Item2 = new QListViewItem( ListView2, /*number, */title, author, year, file ); |
154 | 156 | ||
155 | else if( (author.left(1) >= QString("N") && author.left(1) <= QString("R")) || | 157 | else if( (author.left(1) >= QString("N") && author.left(1) <= QString("R")) || |
156 | (author.left(1) >= QString("n") && author.left(1) <= QString("r")) ) | 158 | (author.left(1) >= QString("n") && author.left(1) <= QString("r")) ) |
157 | QList_Item3 = new QListViewItem( ListView3, /*number,*/ title, author, year, file ); | 159 | QList_Item3 = new QListViewItem( ListView3, /*number,*/ title, author, year, file ); |
158 | 160 | ||
159 | else if( (author.left(1) >= QString("S") && author.left(1) <= QString("Z")) || | 161 | else if( (author.left(1) >= QString("S") && author.left(1) <= QString("Z")) || |
160 | (author.left(1) >= QString("s") && author.left(1) <= QString("z")) ) | 162 | (author.left(1) >= QString("s") && author.left(1) <= QString("z")) ) |
161 | QList_Item4 = new QListViewItem( ListView4, /* number,*/ title, author, year, file ); | 163 | QList_Item4 = new QListViewItem( ListView4, /* number,*/ title, author, year, file ); |
162 | 164 | ||
163 | else | 165 | else |
164 | QList_Item5 = new QListViewItem( ListView5, /* number,*/ title, author, year, file ); | 166 | QList_Item5 = new QListViewItem( ListView5, /* number,*/ title, author, year, file ); |
165 | } | 167 | } |
166 | } | 168 | } |
167 | }// end if | 169 | }// end if |
168 | }// end while | 170 | }// end while |
169 | newindexLib.close(); | 171 | newindexLib.close(); |
170 | } | 172 | } |
171 | #ifndef Q_WS_QWS | 173 | #ifndef Q_WS_QWS |
172 | setCursor( arrowCursor); | 174 | setCursor( arrowCursor); |
173 | #endif | 175 | #endif |
174 | #endif | 176 | #endif |
175 | } // end Newlibrary() | 177 | } // end Newlibrary() |
176 | 178 | ||
177 | 179 | ||
178 | void LibraryDialog::Library() | 180 | void LibraryDialog::Library() |
179 | {// old library groking method | 181 | {// old library groking method |
180 | 182 | ||
181 | ListView1->clear(); | 183 | ListView1->clear(); |
182 | ListView2->clear(); | 184 | ListView2->clear(); |
183 | ListView3->clear(); | 185 | ListView3->clear(); |
184 | ListView4->clear(); | 186 | ListView4->clear(); |
185 | ListView5->clear(); | 187 | ListView5->clear(); |
186 | 188 | ||
187 | odebug << "opening GUTINDEX.ALL file" << oendl; | 189 | odebug << "opening GUTINDEX.ALL file" << oendl; |
188 | IDontKnowWhy = ""; | 190 | IDontKnowWhy = ""; |
189 | if ( indexLib.open( IO_ReadOnly) ) { // file opened successfully | 191 | if ( indexLib.open( IO_ReadOnly) ) { // file opened successfully |
190 | QTextStream indexStream( &indexLib ); | 192 | QTextStream indexStream( &indexLib ); |
191 | QString indexLine; | 193 | QString indexLine; |
192 | qApp->processEvents(); | 194 | qApp->processEvents(); |
193 | // int jig; | 195 | // int jig; |
194 | while ( !indexStream.eof() ) { | 196 | while ( !indexStream.eof() ) { |
195 | 197 | ||
196 | indexLine = indexStream.readLine(); | 198 | indexLine = indexStream.readLine(); |
197 | if ( indexLine != "") { | 199 | if ( indexLine != "") { |
198 | if( (indexLine.mid(4,4)).toInt() /* && !( indexLine.left(3)).toInt()*/ ) { | 200 | if( (indexLine.mid(4,4)).toInt() /* && !( indexLine.left(3)).toInt()*/ ) { |
199 | // month = indexLine.left( 3); | 201 | // month = indexLine.left( 3); |
200 | year = indexLine.mid(4,4); | 202 | year = indexLine.mid(4,4); |
201 | // title = indexLine.mid( 9, 50); | 203 | // title = indexLine.mid( 9, 50); |
202 | file = indexLine.mid(60,12); | 204 | file = indexLine.mid(60,12); |
203 | if(file.left(1).find("[",0,TRUE) != -1) | 205 | if(file.left(1).find("[",0,TRUE) != -1) |
204 | file.remove(1,1); | 206 | file.remove(1,1); |
205 | if( file.find("]",0,TRUE) != -1) | 207 | if( file.find("]",0,TRUE) != -1) |
206 | file = file.left( file.find("]",0,TRUE)); | 208 | file = file.left( file.find("]",0,TRUE)); |
207 | //odebug << "file is "+file << oendl; | 209 | //odebug << "file is "+file << oendl; |
208 | /// number = indexLine.mid( indexLine.find( "]", 0, TRUE ) +1, indexLine.find( " ", 0, TRUE )+1 ); | 210 | /// number = indexLine.mid( indexLine.find( "]", 0, TRUE ) +1, indexLine.find( " ", 0, TRUE )+1 ); |
209 | number = indexLine.mid(55,5); | 211 | number = indexLine.mid(55,5); |
210 | number = number.stripWhiteSpace(); | 212 | number = number.stripWhiteSpace(); |
211 | // title = indexLine.mid( indexLine.find(" ", 26, TRUE), indexLine.length() ); | 213 | // title = indexLine.mid( indexLine.find(" ", 26, TRUE), indexLine.length() ); |
212 | title = indexLine.mid( 9, 50 ); | 214 | title = indexLine.mid( 9, 50 ); |
213 | title = title.stripWhiteSpace(); | 215 | title = title.stripWhiteSpace(); |
214 | //odebug << "title is "+title << oendl; | 216 | //odebug << "title is "+title << oendl; |
215 | getAuthor(); // grok author | 217 | getAuthor(); // grok author |
216 | author = author.stripWhiteSpace(); | 218 | author = author.stripWhiteSpace(); |
217 | //odebug << "author is "+author << oendl; | 219 | //odebug << "author is "+author << oendl; |
218 | if (authBox->isChecked() == TRUE) { // this reverses the first name and last name of the author | 220 | if (authBox->isChecked() == TRUE) { // this reverses the first name and last name of the author |
219 | QString lastName, firstName=""; | 221 | QString lastName, firstName=""; |
220 | int finder=author.findRev( ' ', -1, TRUE); | 222 | int finder=author.findRev( ' ', -1, TRUE); |
221 | lastName=author.right( author.length()-finder); | 223 | lastName=author.right( author.length()-finder); |
222 | firstName=author.left(finder); | 224 | firstName=author.left(finder); |
223 | lastName=lastName.stripWhiteSpace(); | 225 | lastName=lastName.stripWhiteSpace(); |
224 | firstName=firstName.stripWhiteSpace(); | 226 | firstName=firstName.stripWhiteSpace(); |
225 | 227 | ||
226 | if( lastName.find( firstName, 0, true) == -1) // this avoids dup names | 228 | if( lastName.find( firstName, 0, true) == -1) // this avoids dup names |
227 | author=lastName+", "+firstName; | 229 | author=lastName+", "+firstName; |
228 | } | 230 | } |
229 | 231 | ||
230 | if( !number.isEmpty() && (title.find( "reserved",0, FALSE) == -1) /*&& (file.find( "]",0, TRUE))*/ ) { | 232 | if( !number.isEmpty() && (title.find( "reserved",0, FALSE) == -1) /*&& (file.find( "]",0, TRUE))*/ ) { |
231 | // fill string list or something to be able to sort by Author | 233 | // fill string list or something to be able to sort by Author |
232 | if( author.isEmpty() ) | 234 | if( author.isEmpty() ) |
233 | QList_Item5 = new QListViewItem( ListView5, /*number, */title, author, year, file ); | 235 | QList_Item5 = new QListViewItem( ListView5, /*number, */title, author, year, file ); |
234 | else { | 236 | else { |
235 | if( (author.left(1) >= QString("A") && author.left(1) <= QString("F")) || | 237 | if( (author.left(1) >= QString("A") && author.left(1) <= QString("F")) || |
236 | (author.left(1) >= QString("a") && author.left(1) <= QString("f")) ) | 238 | (author.left(1) >= QString("a") && author.left(1) <= QString("f")) ) |
237 | QList_Item1 = new QListViewItem( ListView1, /* number,*/ title, author, year, file ); | 239 | QList_Item1 = new QListViewItem( ListView1, /* number,*/ title, author, year, file ); |
238 | 240 | ||
239 | else if( (author.left(1) >= QString("G") && author.left(1) <= QString("M")) || | 241 | else if( (author.left(1) >= QString("G") && author.left(1) <= QString("M")) || |
240 | (author.left(1) >= QString("g") && author.left(1) <= QString("m")) ) | 242 | (author.left(1) >= QString("g") && author.left(1) <= QString("m")) ) |
241 | QList_Item2 = new QListViewItem( ListView2, /* number,*/ title, author, year, file ); | 243 | QList_Item2 = new QListViewItem( ListView2, /* number,*/ title, author, year, file ); |
242 | 244 | ||
243 | else if( (author.left(1) >= QString("N") && author.left(1) <= QString("R")) || | 245 | else if( (author.left(1) >= QString("N") && author.left(1) <= QString("R")) || |
244 | (author.left(1) >= QString("n") && author.left(1) <= QString("r")) ) | 246 | (author.left(1) >= QString("n") && author.left(1) <= QString("r")) ) |
245 | QList_Item3 = new QListViewItem( ListView3, /* number,*/ title, author, year, file ); | 247 | QList_Item3 = new QListViewItem( ListView3, /* number,*/ title, author, year, file ); |
246 | 248 | ||
247 | else if( (author.left(1) >= QString("S") && author.left(1) <= QString("Z")) || | 249 | else if( (author.left(1) >= QString("S") && author.left(1) <= QString("Z")) || |
248 | (author.left(1) >= QString("s") && author.left(1) <= QString("z")) ) | 250 | (author.left(1) >= QString("s") && author.left(1) <= QString("z")) ) |
249 | QList_Item4 = new QListViewItem( ListView4, /* number,*/ title, author, year, file ); | 251 | QList_Item4 = new QListViewItem( ListView4, /* number,*/ title, author, year, file ); |
250 | } | 252 | } |
251 | } | 253 | } |
252 | } | 254 | } |
253 | } | 255 | } |
254 | } | 256 | } |
255 | indexLib.close(); | 257 | indexLib.close(); |
256 | } else { | 258 | } else { |
257 | QString sMsg; | 259 | QString sMsg; |
258 | sMsg = ( tr("Error opening local library index:\n "))+local_index; | 260 | sMsg = ( tr("<p>Error opening local library index:</P> "))+local_index; |
259 | QMessageBox::message( "Error",sMsg); | 261 | QMessageBox::message( "Error",sMsg); |
260 | } | 262 | } |
261 | 263 | ||
262 | } //end Library() | 264 | } //end Library() |
263 | 265 | ||
264 | 266 | ||
265 | /* | 267 | /* |
266 | Groks the author out of the title */ | 268 | Groks the author out of the title */ |
267 | bool LibraryDialog::getAuthor() | 269 | bool LibraryDialog::getAuthor() |
268 | { | 270 | { |
269 | if( title.contains( ", by", TRUE)) { | 271 | if( title.contains( ", by", TRUE)) { |
270 | int auth; | 272 | int auth; |
271 | auth = title.find(", by", 0, TRUE); | 273 | auth = title.find(", by", 0, TRUE); |
272 | author = title.right(title.length() - (auth + 4) ); | 274 | author = title.right(title.length() - (auth + 4) ); |
273 | if( int finder = author.find("[", 0, TRUE)) { | 275 | if( int finder = author.find("[", 0, TRUE)) { |
274 | author = author.left(finder); | 276 | author = author.left(finder); |
275 | } | 277 | } |
276 | } | 278 | } |
277 | else if ( title.contains( "by, ", TRUE) ) { | 279 | else if ( title.contains( "by, ", TRUE) ) { |
278 | int auth; | 280 | int auth; |
279 | auth = title.find("by, ", 0, TRUE); | 281 | auth = title.find("by, ", 0, TRUE); |
280 | author = title.right(title.length() - (auth + 4) ); | 282 | author = title.right(title.length() - (auth + 4) ); |
281 | if( int finder = author.find("[", 0, TRUE)) { | 283 | if( int finder = author.find("[", 0, TRUE)) { |
282 | author = author.left( finder); | 284 | author = author.left( finder); |
283 | } | 285 | } |
284 | } | 286 | } |
285 | else if ( title.contains( " by", TRUE) ) { | 287 | else if ( title.contains( " by", TRUE) ) { |
286 | int auth; | 288 | int auth; |
287 | auth = title.find(" by", 0, TRUE); | 289 | auth = title.find(" by", 0, TRUE); |
288 | author = title.right(title.length() - (auth + 3) ); | 290 | author = title.right(title.length() - (auth + 3) ); |
289 | if( int finder = author.find("[", 0, TRUE)) { | 291 | if( int finder = author.find("[", 0, TRUE)) { |
290 | author = author.left( finder); | 292 | author = author.left( finder); |
291 | } | 293 | } |
292 | } | 294 | } |
293 | else if ( title.contains( "by ", TRUE) ) { | 295 | else if ( title.contains( "by ", TRUE) ) { |
294 | int auth; | 296 | int auth; |
295 | auth = title.find("by ", 0, TRUE); | 297 | auth = title.find("by ", 0, TRUE); |
296 | author = title.right(title.length() - (auth + 3) ); | 298 | author = title.right(title.length() - (auth + 3) ); |
297 | if( int finder = author.find("[", 0, TRUE)) { | 299 | if( int finder = author.find("[", 0, TRUE)) { |
298 | author = author.left( finder); | 300 | author = author.left( finder); |
299 | } | 301 | } |
300 | } | 302 | } |
301 | else if ( title.contains( ",", TRUE) ) { | 303 | else if ( title.contains( ",", TRUE) ) { |
302 | int auth; | 304 | int auth; |
303 | auth = title.find(",", 0, TRUE); | 305 | auth = title.find(",", 0, TRUE); |
304 | author = title.right( title.length() - (auth + 1) ); | 306 | author = title.right( title.length() - (auth + 1) ); |
305 | if ( author.contains( ",", TRUE) ) { | 307 | if ( author.contains( ",", TRUE) ) { |
306 | int auth; | 308 | int auth; |
307 | auth = author.find(",", 0, TRUE); | 309 | auth = author.find(",", 0, TRUE); |
308 | author = author.right( author.length() - (auth + 1) ); | 310 | author = author.right( author.length() - (auth + 1) ); |
309 | } | 311 | } |
310 | if( int finder = author.find("[", 0, TRUE)) { | 312 | if( int finder = author.find("[", 0, TRUE)) { |
311 | author = author.left( finder); | 313 | author = author.left( finder); |
312 | } | 314 | } |
313 | } | 315 | } |
314 | else if ( title.contains( "/", TRUE) ) { | 316 | else if ( title.contains( "/", TRUE) ) { |
315 | int auth; | 317 | int auth; |
316 | auth = title.find("/", 0, TRUE); | 318 | auth = title.find("/", 0, TRUE); |
317 | author = title.right(title.length() - (auth + 1) ); | 319 | author = title.right(title.length() - (auth + 1) ); |
318 | if( int finder = author.find("[", 0, TRUE)) { | 320 | if( int finder = author.find("[", 0, TRUE)) { |
319 | author = author.left( finder); | 321 | author = author.left( finder); |
320 | } | 322 | } |
321 | } | 323 | } |
322 | else if ( title.contains( "of", TRUE) ) { | 324 | else if ( title.contains( "of", TRUE) ) { |
323 | int auth; | 325 | int auth; |
324 | auth = title.find("of", 0, TRUE); | 326 | auth = title.find("of", 0, TRUE); |
325 | author = title.right(title.length() - (auth + 2) ); | 327 | author = title.right(title.length() - (auth + 2) ); |
326 | if( int finder = author.find("[", 0, TRUE)) | 328 | if( int finder = author.find("[", 0, TRUE)) |
327 | { | 329 | { |
328 | author = author.left( finder); | 330 | author = author.left( finder); |
329 | } | 331 | } |
330 | } else { | 332 | } else { |
331 | author = ""; | 333 | author = ""; |
332 | } | 334 | } |
333 | if ( author.contains("et. al")) { | 335 | if ( author.contains("et. al")) { |
334 | int auth; | 336 | int auth; |
335 | auth = author.find("et. al", 0, TRUE); | 337 | auth = author.find("et. al", 0, TRUE); |
336 | author = author.left( auth ); | 338 | author = author.left( auth ); |
337 | } | 339 | } |
338 | if ( author.contains("#")) { | 340 | if ( author.contains("#")) { |
339 | int auth; | 341 | int auth; |
340 | auth = author.find("#", 0, TRUE); | 342 | auth = author.find("#", 0, TRUE); |
341 | author = author.left( auth); | 343 | author = author.left( auth); |
342 | } | 344 | } |
343 | if ( author.contains("(")) { | 345 | if ( author.contains("(")) { |
344 | int auth; | 346 | int auth; |
345 | auth = author.find("(", 0, TRUE); | 347 | auth = author.find("(", 0, TRUE); |
346 | author = author.left( auth); | 348 | author = author.left( auth); |
347 | } | 349 | } |
348 | if ( author.contains("et al")) { | 350 | if ( author.contains("et al")) { |
349 | int auth; | 351 | int auth; |
350 | auth = author.find("et al", 0, TRUE); | 352 | auth = author.find("et al", 0, TRUE); |
351 | author = author.left( auth ); | 353 | author = author.left( auth ); |
352 | } | 354 | } |
353 | QRegExp r = QRegExp("[0-9]", TRUE, FALSE); | 355 | QRegExp r = QRegExp("[0-9]", TRUE, FALSE); |
354 | if ( author.left(2).find( r) != -1 ) { | 356 | if ( author.left(2).find( r) != -1 ) { |
@@ -418,193 +420,193 @@ void LibraryDialog::select_title( QListViewItem * item) | |||
418 | } | 420 | } |
419 | } | 421 | } |
420 | } | 422 | } |
421 | 423 | ||
422 | bool LibraryDialog::download_Etext() | 424 | bool LibraryDialog::download_Etext() |
423 | { // ftp method | 425 | { // ftp method |
424 | // might have to use old gpl'd ftp for embedded!! | 426 | // might have to use old gpl'd ftp for embedded!! |
425 | Config cfg("Gutenbrowser"); | 427 | Config cfg("Gutenbrowser"); |
426 | cfg.setGroup("FTPsite"); | 428 | cfg.setGroup("FTPsite"); |
427 | ftp_host=cfg.readEntry("SiteName", "sailor.gutenberg.org"); | 429 | ftp_host=cfg.readEntry("SiteName", "sailor.gutenberg.org"); |
428 | ftp_base_dir= cfg.readEntry("base", "/pub/gutenberg"); | 430 | ftp_base_dir= cfg.readEntry("base", "/pub/gutenberg"); |
429 | 431 | ||
430 | odebug << "about to network dialog" << oendl; | 432 | odebug << "about to network dialog" << oendl; |
431 | QString NewlistItemNumber, NewlistItemYear, ls_result, result_line, s, dir, networkUrl, outputFile; | 433 | QString NewlistItemNumber, NewlistItemYear, ls_result, result_line, s, dir, networkUrl, outputFile; |
432 | 434 | ||
433 | //////////////////// FIXME- if 'x' is part of real name.... | 435 | //////////////////// FIXME- if 'x' is part of real name.... |
434 | NewlistItemFile = DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, FALSE)).left(DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, FALSE)).find("x", 1, FALSE)); | 436 | NewlistItemFile = DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, FALSE)).left(DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, FALSE)).find("x", 1, FALSE)); |
435 | 437 | ||
436 | if( NewlistItemFile.find( DlglistItemFile.left(4) ,0,TRUE) ==-1 ) { | 438 | if( NewlistItemFile.find( DlglistItemFile.left(4) ,0,TRUE) ==-1 ) { |
437 | NewlistItemFile.replace( 0,4, DlglistItemFile.left(4)); | 439 | NewlistItemFile.replace( 0,4, DlglistItemFile.left(4)); |
438 | odebug << "NewlistItemFile is now "+NewlistItemFile << oendl; | 440 | odebug << "NewlistItemFile is now "+NewlistItemFile << oendl; |
439 | } | 441 | } |
440 | NewlistItemYear = DlglistItemYear.right(2); | 442 | NewlistItemYear = DlglistItemYear.right(2); |
441 | int NewlistItemYear_Int = NewlistItemYear.toInt(0, 10); | 443 | int NewlistItemYear_Int = NewlistItemYear.toInt(0, 10); |
442 | odebug << NewlistItemYear << oendl; | 444 | odebug << NewlistItemYear << oendl; |
443 | if (NewlistItemYear_Int < 91 && NewlistItemYear_Int > 70) { | 445 | if (NewlistItemYear_Int < 91 && NewlistItemYear_Int > 70) { |
444 | NewlistItemYear = "90"; | 446 | NewlistItemYear = "90"; |
445 | } | 447 | } |
446 | Edir ="etext" +NewlistItemYear; | 448 | Edir ="etext" +NewlistItemYear; |
447 | dir= ftp_base_dir + "/etext" +NewlistItemYear+"/"; | 449 | dir= ftp_base_dir + "/etext" +NewlistItemYear+"/"; |
448 | if( ftp_base_dir.find("=",0,true) ) | 450 | if( ftp_base_dir.find("=",0,true) ) |
449 | ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1); | 451 | ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1); |
450 | 452 | ||
451 | networkUrl= "ftp://"+ftp_host+dir; | 453 | networkUrl= "ftp://"+ftp_host+dir; |
452 | 454 | ||
453 | outputFile=local_library+".guten_temp"; | 455 | outputFile=local_library+".guten_temp"; |
454 | //odebug << "Download file:" << NewlistItemFile << "" << oendl; | 456 | //odebug << "Download file:" << NewlistItemFile << "" << oendl; |
455 | odebug << "Checking: "+ftp_host+" "+dir+" "+outputFile+" "+NewlistItemFile << oendl; | 457 | odebug << "Checking: "+ftp_host+" "+dir+" "+outputFile+" "+NewlistItemFile << oendl; |
456 | QStringList networkList; | 458 | QStringList networkList; |
457 | networkList.append((const char *)ftp_host); | 459 | networkList.append((const char *)ftp_host); |
458 | networkList.append((const char *)dir); | 460 | networkList.append((const char *)dir); |
459 | networkList.append((const char *)outputFile); | 461 | networkList.append((const char *)outputFile); |
460 | networkList.append((const char *)NewlistItemFile); | 462 | networkList.append((const char *)NewlistItemFile); |
461 | //<< (char *)ftp_host << (char *)dir << (char *)outputFile << (char *)NewlistItemFile; | 463 | //<< (char *)ftp_host << (char *)dir << (char *)outputFile << (char *)NewlistItemFile; |
462 | 464 | ||
463 | NetworkDialog *NetworkDlg; | 465 | NetworkDialog *NetworkDlg; |
464 | NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", TRUE, 0, networkList); | 466 | NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", TRUE, 0, networkList); |
465 | 467 | ||
466 | 468 | ||
467 | if( NetworkDlg->exec() != 0 ) { // use new, improved, *INSTANT* network-dialog-file-getterer | 469 | if( NetworkDlg->exec() != 0 ) { // use new, improved, *INSTANT* network-dialog-file-getterer |
468 | File_Name= NetworkDlg->localFileName; | 470 | File_Name= NetworkDlg->localFileName; |
469 | odebug << "back to Library from Network Dialog" << oendl; | 471 | odebug << "back to Library from Network Dialog" << oendl; |
470 | odebug << "Just downloaded "+NetworkDlg->localFileName << oendl; | 472 | odebug << "Just downloaded "+NetworkDlg->localFileName << oendl; |
471 | 473 | ||
472 | // if (File_Name.find( local_library, 0, TRUE) != -1 ) { //could not be found | 474 | // if (File_Name.find( local_library, 0, TRUE) != -1 ) { //could not be found |
473 | // QString oldName=File_Name; | 475 | // QString oldName=File_Name; |
474 | // File_Name.replace(0,local_library.length(),downDir); | 476 | // File_Name.replace(0,local_library.length(),downDir); |
475 | // odebug << "File_Name now is "+File_Name << oendl; | 477 | // odebug << "File_Name now is "+File_Name << oendl; |
476 | 478 | ||
477 | // } | 479 | // } |
478 | // rename .txt to .etx | 480 | // rename .txt to .etx |
479 | if(NetworkDlg->successDownload) { | 481 | if(NetworkDlg->successDownload) { |
480 | odebug << "Filename is "+File_Name << oendl; | 482 | odebug << "Filename is "+File_Name << oendl; |
481 | if(File_Name.right(4)==".txt") { | 483 | if(File_Name.right(4)==".txt") { |
482 | QString s_fileName=File_Name; | 484 | QString s_fileName=File_Name; |
483 | s_fileName.replace( s_fileName.length()-3,3,"gtn"); | 485 | s_fileName.replace( s_fileName.length()-3,3,"gtn"); |
484 | // s_fileName.replace( s_fileName.length()-3,3,"etx"); | 486 | // s_fileName.replace( s_fileName.length()-3,3,"etx"); |
485 | rename(File_Name.latin1(),s_fileName.latin1()); | 487 | rename(File_Name.latin1(),s_fileName.latin1()); |
486 | File_Name=s_fileName; | 488 | File_Name=s_fileName; |
487 | 489 | ||
488 | odebug << "Filename is now "+File_Name << oendl; | 490 | odebug << "Filename is now "+File_Name << oendl; |
489 | 491 | ||
490 | } | 492 | } |
491 | if(File_Name.length() > 5 ) { | 493 | if(File_Name.length() > 5 ) { |
492 | setTitle(); | 494 | setTitle(); |
493 | QFileInfo fi(File_Name); | 495 | QFileInfo fi(File_Name); |
494 | QString name_file=fi.fileName(); | 496 | QString name_file=fi.fileName(); |
495 | name_file=name_file.left(name_file.length()-4); | 497 | name_file=name_file.left(name_file.length()-4); |
496 | 498 | ||
497 | odebug << "Setting doclink" << oendl; | 499 | odebug << "Setting doclink" << oendl; |
498 | DocLnk lnk; | 500 | DocLnk lnk; |
499 | odebug << "name is "+name_file << oendl; | 501 | odebug << "name is "+name_file << oendl; |
500 | lnk.setName(name_file); //sets file name | 502 | lnk.setName(name_file); //sets file name |
501 | odebug << "Title is "+DlglistItemTitle << oendl; | 503 | odebug << "Title is "+DlglistItemTitle << oendl; |
502 | lnk.setComment(DlglistItemTitle); | 504 | lnk.setComment(DlglistItemTitle); |
503 | 505 | ||
504 | odebug << "Filename is "+File_Name << oendl; | 506 | odebug << "Filename is "+File_Name << oendl; |
505 | lnk.setFile(File_Name); //sets File property | 507 | lnk.setFile(File_Name); //sets File property |
506 | lnk.setType("guten/plain");// hey is this a REGISTERED mime type?!?!? ;D | 508 | lnk.setType("guten/plain");// hey is this a REGISTERED mime type?!?!? ;D |
507 | lnk.setExec(File_Name); | 509 | lnk.setExec(File_Name); |
508 | lnk.setIcon("gutenbrowser/Gutenbrowser"); | 510 | lnk.setIcon("gutenbrowser/Gutenbrowser"); |
509 | if(!lnk.writeLink()) { | 511 | if(!lnk.writeLink()) { |
510 | odebug << "Writing doclink did not work" << oendl; | 512 | odebug << "Writing doclink did not work" << oendl; |
511 | } else { | 513 | } else { |
512 | } | 514 | } |
513 | } else | 515 | } else |
514 | QMessageBox::message("Note","There was an error\nwith the file"); | 516 | QMessageBox::message("Note","<p>There was an error with the file</p>"); |
515 | } | 517 | } |
516 | } | 518 | } |
517 | return true; | 519 | return true; |
518 | } | 520 | } |
519 | 521 | ||
520 | bool LibraryDialog::httpDownload() | 522 | bool LibraryDialog::httpDownload() |
521 | {// httpDownload | 523 | {// httpDownload |
522 | #ifndef Q_WS_QWS | 524 | #ifndef Q_WS_QWS |
523 | Config config("Gutenbrowser"); | 525 | Config config("Gutenbrowser"); |
524 | config.setGroup( "Browser" ); | 526 | config.setGroup( "Browser" ); |
525 | QString brow = config.readEntry("Preferred", ""); | 527 | QString brow = config.readEntry("Preferred", ""); |
526 | QString file_name = "./.guten_temp"; | 528 | QString file_name = "./.guten_temp"; |
527 | // config.setGroup( "HttpServer" ); | 529 | // config.setGroup( "HttpServer" ); |
528 | // QString s_http = config.readEntry("Preferred", "http://sailor.gutenbook.org"); | 530 | // QString s_http = config.readEntry("Preferred", "http://sailor.gutenbook.org"); |
529 | QString httpName = proxy_http + "/"+Edir; | 531 | QString httpName = proxy_http + "/"+Edir; |
530 | // progressBar->setProgress( i); | 532 | // progressBar->setProgress( i); |
531 | i++; | 533 | i++; |
532 | if ( brow != "Konq") { /////////// use lynx | 534 | if ( brow != "Konq") { /////////// use lynx |
533 | // QString cmd = "lynx -source " + httpName +" | cat >> " + file_name; | 535 | // QString cmd = "lynx -source " + httpName +" | cat >> " + file_name; |
534 | // system(cmd); | 536 | // system(cmd); |
535 | } else { //////////// use KFM | 537 | } else { //////////// use KFM |
536 | // KFM::download( httpName, file_name); | 538 | // KFM::download( httpName, file_name); |
537 | } | 539 | } |
538 | i++; | 540 | i++; |
539 | QFile tmp( file_name); | 541 | QFile tmp( file_name); |
540 | QString str; | 542 | QString str; |
541 | if (tmp.open(IO_ReadOnly)) { | 543 | if (tmp.open(IO_ReadOnly)) { |
542 | QTextStream t( &tmp ); // use a text stream | 544 | QTextStream t( &tmp ); // use a text stream |
543 | while ( !t.eof()) { | 545 | while ( !t.eof()) { |
544 | QString s = t.readLine(); | 546 | QString s = t.readLine(); |
545 | if (s.contains( NewlistItemFile, FALSE) && (s.contains(".txt")) ) { | 547 | if (s.contains( NewlistItemFile, FALSE) && (s.contains(".txt")) ) { |
546 | str = s.mid( s.find( ".txt\">"+NewlistItemFile, 0, TRUE)+6, (s.find( ".txt</A>", 0, TRUE) + 4) - ( s.find( ".txt\">"+NewlistItemFile, 0, TRUE)+6 ) ); | 548 | str = s.mid( s.find( ".txt\">"+NewlistItemFile, 0, TRUE)+6, (s.find( ".txt</A>", 0, TRUE) + 4) - ( s.find( ".txt\">"+NewlistItemFile, 0, TRUE)+6 ) ); |
547 | httpName += "/" + str; | 549 | httpName += "/" + str; |
548 | } | 550 | } |
549 | } //end of while loop | 551 | } //end of while loop |
550 | } | 552 | } |
551 | tmp.close(); | 553 | tmp.close(); |
552 | m_getFilePath = local_library + str; | 554 | m_getFilePath = local_library + str; |
553 | i++; | 555 | i++; |
554 | if ( brow != "KFM"){ ///////// use lynx | 556 | if ( brow != "KFM"){ ///////// use lynx |
555 | QString cmd = "lynx -source " + httpName +" | cat >> " + m_getFilePath; | 557 | QString cmd = "lynx -source " + httpName +" | cat >> " + m_getFilePath; |
556 | // QMessageBox::message("Error", cmd); | 558 | // QMessageBox::message("Error", cmd); |
557 | system(cmd); | 559 | system(cmd); |
558 | } else { ////////// use KFM | 560 | } else { ////////// use KFM |
559 | // KFM::download( httpName, m_getFilePath); | 561 | // KFM::download( httpName, m_getFilePath); |
560 | } | 562 | } |
561 | i++; | 563 | i++; |
562 | #endif | 564 | #endif |
563 | return false; | 565 | return false; |
564 | } | 566 | } |
565 | 567 | ||
566 | void LibraryDialog::cancelIt() | 568 | void LibraryDialog::cancelIt() |
567 | { | 569 | { |
568 | saveConfig(); | 570 | saveConfig(); |
569 | 571 | ||
570 | DlglistItemNumber = ""; | 572 | DlglistItemNumber = ""; |
571 | this->reject(); | 573 | this->reject(); |
572 | } | 574 | } |
573 | 575 | ||
574 | bool LibraryDialog::setTitle() | 576 | bool LibraryDialog::setTitle() |
575 | { | 577 | { |
576 | Config config("Gutenbrowser"); | 578 | Config config("Gutenbrowser"); |
577 | odebug << "setting title" << oendl; | 579 | odebug << "setting title" << oendl; |
578 | odebug << DlglistItemTitle << oendl; | 580 | odebug << DlglistItemTitle << oendl; |
579 | 581 | ||
580 | if( DlglistItemTitle.find("[",0,TRUE) != -1) | 582 | if( DlglistItemTitle.find("[",0,TRUE) != -1) |
581 | DlglistItemTitle.replace(DlglistItemTitle.find("[",0,TRUE),1, "(" ); | 583 | DlglistItemTitle.replace(DlglistItemTitle.find("[",0,TRUE),1, "(" ); |
582 | if( DlglistItemTitle.find("]",0,TRUE) !=-1) | 584 | if( DlglistItemTitle.find("]",0,TRUE) !=-1) |
583 | DlglistItemTitle.replace(DlglistItemTitle.find("]",0,TRUE),1, ")" ); | 585 | DlglistItemTitle.replace(DlglistItemTitle.find("]",0,TRUE),1, ")" ); |
584 | odebug << "Title being set is "+DlglistItemTitle << oendl; | 586 | odebug << "Title being set is "+DlglistItemTitle << oendl; |
585 | int test = 0; | 587 | int test = 0; |
586 | QString ramble, temp; | 588 | QString ramble, temp; |
587 | config.setGroup("Files"); | 589 | config.setGroup("Files"); |
588 | QString s_numofFiles = config.readEntry("NumberOfFiles", "0" ); | 590 | QString s_numofFiles = config.readEntry("NumberOfFiles", "0" ); |
589 | int i_numofFiles = s_numofFiles.toInt(); | 591 | int i_numofFiles = s_numofFiles.toInt(); |
590 | for ( int i = 0; i <= i_numofFiles; i++){ | 592 | for ( int i = 0; i <= i_numofFiles; i++){ |
591 | temp.setNum( i); | 593 | temp.setNum( i); |
592 | ramble = config.readEntry( temp, "" ); | 594 | ramble = config.readEntry( temp, "" ); |
593 | if( strcmp( ramble, File_Name) == 0){ | 595 | if( strcmp( ramble, File_Name) == 0){ |
594 | test = 1; | 596 | test = 1; |
595 | } | 597 | } |
596 | } | 598 | } |
597 | config.setGroup("Files"); | 599 | config.setGroup("Files"); |
598 | config.writeEntry( "NumberOfFiles", i_numofFiles +1 ); | 600 | config.writeEntry( "NumberOfFiles", i_numofFiles +1 ); |
599 | QString interger; | 601 | QString interger; |
600 | interger.setNum( i_numofFiles +1); | 602 | interger.setNum( i_numofFiles +1); |
601 | config.writeEntry( interger, File_Name); | 603 | config.writeEntry( interger, File_Name); |
602 | config.setGroup( "Titles" ); | 604 | config.setGroup( "Titles" ); |
603 | config.writeEntry( File_Name, DlglistItemTitle); | 605 | config.writeEntry( File_Name, DlglistItemTitle); |
604 | 606 | ||
605 | test = 0; | 607 | test = 0; |
606 | return true; | 608 | return true; |
607 | } | 609 | } |
608 | 610 | ||
609 | 611 | ||
610 | void LibraryDialog::saveConfig() | 612 | void LibraryDialog::saveConfig() |
@@ -846,226 +848,226 @@ bool LibraryDialog::getItem(QListViewItem *it) | |||
846 | { | 848 | { |
847 | // odebug << "selected getItem" << oendl; | 849 | // odebug << "selected getItem" << oendl; |
848 | 850 | ||
849 | // DlglistItemNumber = it->text(0); | 851 | // DlglistItemNumber = it->text(0); |
850 | DlglistItemTitle = it->text(0); | 852 | DlglistItemTitle = it->text(0); |
851 | DlglistItemYear = it->text(2); | 853 | DlglistItemYear = it->text(2); |
852 | DlglistItemFile = it->text(3); | 854 | DlglistItemFile = it->text(3); |
853 | 855 | ||
854 | if(download_Etext()) { | 856 | if(download_Etext()) { |
855 | if(i_binary == 1) { | 857 | if(i_binary == 1) { |
856 | } | 858 | } |
857 | } | 859 | } |
858 | return true; | 860 | return true; |
859 | } | 861 | } |
860 | 862 | ||
861 | /* | 863 | /* |
862 | download button is pushed so we get the current items to download*/ | 864 | download button is pushed so we get the current items to download*/ |
863 | bool LibraryDialog::onButtonDownload() | 865 | bool LibraryDialog::onButtonDownload() |
864 | { | 866 | { |
865 | // odebug << "selected onButtonDownloadz" << oendl; | 867 | // odebug << "selected onButtonDownloadz" << oendl; |
866 | 868 | ||
867 | QListViewItemIterator it1( ListView1 ); | 869 | QListViewItemIterator it1( ListView1 ); |
868 | QListViewItemIterator it2( ListView2 ); | 870 | QListViewItemIterator it2( ListView2 ); |
869 | QListViewItemIterator it3( ListView3 ); | 871 | QListViewItemIterator it3( ListView3 ); |
870 | QListViewItemIterator it4( ListView4 ); | 872 | QListViewItemIterator it4( ListView4 ); |
871 | QListViewItemIterator it5( ListView5 ); | 873 | QListViewItemIterator it5( ListView5 ); |
872 | 874 | ||
873 | // iterate through all items of the listview | 875 | // iterate through all items of the listview |
874 | for ( ; it1.current(); ++it1 ) { | 876 | for ( ; it1.current(); ++it1 ) { |
875 | if ( it1.current()->isSelected() ) | 877 | if ( it1.current()->isSelected() ) |
876 | getItem(it1.current()); | 878 | getItem(it1.current()); |
877 | it1.current()->setSelected(FALSE); | 879 | it1.current()->setSelected(FALSE); |
878 | } | 880 | } |
879 | for ( ; it2.current(); ++it2 ) { | 881 | for ( ; it2.current(); ++it2 ) { |
880 | if ( it2.current()->isSelected() ) | 882 | if ( it2.current()->isSelected() ) |
881 | getItem(it2.current()); | 883 | getItem(it2.current()); |
882 | it2.current()->setSelected(FALSE); | 884 | it2.current()->setSelected(FALSE); |
883 | } | 885 | } |
884 | for ( ; it3.current(); ++it3 ) { | 886 | for ( ; it3.current(); ++it3 ) { |
885 | if ( it3.current()->isSelected() ) | 887 | if ( it3.current()->isSelected() ) |
886 | getItem(it3.current()); | 888 | getItem(it3.current()); |
887 | it3.current()->setSelected(FALSE); | 889 | it3.current()->setSelected(FALSE); |
888 | } | 890 | } |
889 | for ( ; it4.current(); ++it4 ) { | 891 | for ( ; it4.current(); ++it4 ) { |
890 | if ( it4.current()->isSelected() ) | 892 | if ( it4.current()->isSelected() ) |
891 | getItem(it4.current()); | 893 | getItem(it4.current()); |
892 | it4.current()->setSelected(FALSE); | 894 | it4.current()->setSelected(FALSE); |
893 | } | 895 | } |
894 | for ( ; it5.current(); ++it5 ) { | 896 | for ( ; it5.current(); ++it5 ) { |
895 | if ( it5.current()->isSelected() ) | 897 | if ( it5.current()->isSelected() ) |
896 | getItem(it5.current()); | 898 | getItem(it5.current()); |
897 | it5.current()->setSelected(FALSE); | 899 | it5.current()->setSelected(FALSE); |
898 | } | 900 | } |
899 | return true; | 901 | return true; |
900 | } | 902 | } |
901 | 903 | ||
902 | 904 | ||
903 | /* | 905 | /* |
904 | handles the sorting combo box */ | 906 | handles the sorting combo box */ |
905 | void LibraryDialog::comboSelect(int index) | 907 | void LibraryDialog::comboSelect(int index) |
906 | { | 908 | { |
907 | // odebug << "we are sorting" << oendl; | 909 | // odebug << "we are sorting" << oendl; |
908 | ListView1->setSorting( index, TRUE); | 910 | ListView1->setSorting( index, TRUE); |
909 | ListView2->setSorting( index, TRUE); | 911 | ListView2->setSorting( index, TRUE); |
910 | ListView3->setSorting( index, TRUE); | 912 | ListView3->setSorting( index, TRUE); |
911 | ListView4->setSorting( index, TRUE); | 913 | ListView4->setSorting( index, TRUE); |
912 | ListView5->setSorting( index, TRUE); | 914 | ListView5->setSorting( index, TRUE); |
913 | 915 | ||
914 | ListView1->sort(); | 916 | ListView1->sort(); |
915 | ListView2->sort(); | 917 | ListView2->sort(); |
916 | ListView3->sort(); | 918 | ListView3->sort(); |
917 | ListView4->sort(); | 919 | ListView4->sort(); |
918 | ListView5->sort(); | 920 | ListView5->sort(); |
919 | 921 | ||
920 | // ListView1->triggerUpdate(); | 922 | // ListView1->triggerUpdate(); |
921 | // ListView2->triggerUpdate(); | 923 | // ListView2->triggerUpdate(); |
922 | // ListView3->triggerUpdate(); | 924 | // ListView3->triggerUpdate(); |
923 | // ListView4->triggerUpdate(); | 925 | // ListView4->triggerUpdate(); |
924 | // ListView5->triggerUpdate(); | 926 | // ListView5->triggerUpdate(); |
925 | } | 927 | } |
926 | 928 | ||
927 | void LibraryDialog::newList() | 929 | void LibraryDialog::newList() |
928 | { | 930 | { |
929 | if(indexLoaded) { | 931 | if(indexLoaded) { |
930 | onButtonDownload(); | 932 | onButtonDownload(); |
931 | } else { | 933 | } else { |
932 | Output *outDlg; | 934 | Output *outDlg; |
933 | buttonNewList->setDown(TRUE); | 935 | buttonNewList->setDown(TRUE); |
934 | QDir gutDir(QPEApplication::qpeDir()+"etc/gutenbrowser"); | 936 | QDir gutDir(QPEApplication::qpeDir()+"etc/gutenbrowser"); |
935 | if(!gutDir.exists()) gutDir.mkdir(QPEApplication::qpeDir()+"etc/gutenbrowser",true); | 937 | if(!gutDir.exists()) gutDir.mkdir(QPEApplication::qpeDir()+"etc/gutenbrowser",true); |
936 | if( chdir(QPEApplication::qpeDir()+"etc/gutenbrowser") == 0) { | 938 | if( chdir(QPEApplication::qpeDir()+"etc/gutenbrowser") == 0) { |
937 | odebug << "changing dir "+QPEApplication::qpeDir()+"etc/gutenbrowser" << oendl; | 939 | odebug << "changing dir "+QPEApplication::qpeDir()+"etc/gutenbrowser" << oendl; |
938 | QString gutenindex1 = QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL"; | 940 | QString gutenindex1 = QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL"; |
939 | QString cmd="wget -O " + gutenindex1 + " http://sailor.gutenberg.org/GUTINDEX.ALL 2>&1"; | 941 | QString cmd="wget -O " + gutenindex1 + " http://sailor.gutenberg.org/GUTINDEX.ALL 2>&1"; |
940 | 942 | ||
941 | int result = QMessageBox::warning( this,"Download" | 943 | int result = QMessageBox::warning( this,"Download" |
942 | ,"Ok to use /'wget/' to download\na new library list?\n" | 944 | ,"<p>Ok to use /'wget/' to download a new library list?</P>" |
943 | ,"Yes","No",0,0,1); | 945 | ,"Yes","No",0,0,1); |
944 | qApp->processEvents(); | 946 | qApp->processEvents(); |
945 | if(result == 0) { | 947 | if(result == 0) { |
946 | outDlg = new Output( 0, tr("Downloading Gutenberg Index...."),TRUE); | 948 | outDlg = new Output( 0, tr("Downloading Gutenberg Index...."),TRUE); |
947 | outDlg->showMaximized(); | 949 | outDlg->showMaximized(); |
948 | outDlg->show(); | 950 | outDlg->show(); |
949 | qApp->processEvents(); | 951 | qApp->processEvents(); |
950 | FILE *fp; | 952 | FILE *fp; |
951 | char line[130]; | 953 | char line[130]; |
952 | outDlg->OutputEdit->append( tr("Running wget") ); | 954 | outDlg->OutputEdit->append( tr("Running wget") ); |
953 | outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); | 955 | outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); |
954 | sleep(1); | 956 | sleep(1); |
955 | fp = popen( (const char *) cmd, "r"); | 957 | fp = popen( (const char *) cmd, "r"); |
956 | if ( !fp ) { | 958 | if ( !fp ) { |
957 | } else { | 959 | } else { |
958 | odebug << "Issuing the command\n"+cmd << oendl; | 960 | odebug << "Issuing the command\n"+cmd << oendl; |
959 | // system(cmd); | 961 | // system(cmd); |
960 | while ( fgets( line, sizeof line, fp)) { | 962 | while ( fgets( line, sizeof line, fp)) { |
961 | outDlg->OutputEdit->append(line); | 963 | outDlg->OutputEdit->append(line); |
962 | outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); | 964 | outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); |
963 | } | 965 | } |
964 | pclose(fp); | 966 | pclose(fp); |
965 | outDlg->OutputEdit->append("Finished downloading\n"); | 967 | outDlg->OutputEdit->append("Finished downloading\n"); |
966 | outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); | 968 | outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); |
967 | qApp->processEvents(); | 969 | qApp->processEvents(); |
968 | 970 | ||
969 | // if( QFile(gutenindex1).exists() ) { | 971 | // if( QFile(gutenindex1).exists() ) { |
970 | // QString gutenindex=QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL"; | 972 | // QString gutenindex=QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL"; |
971 | // if( rename(gutenindex1.latin1(),gutenindex.latin1()) !=0) | 973 | // if( rename(gutenindex1.latin1(),gutenindex.latin1()) !=0) |
972 | // odebug << "renaming error" << oendl; | 974 | // odebug << "renaming error" << oendl; |
973 | // } | 975 | // } |
974 | 976 | ||
975 | } | 977 | } |
976 | // outDlg->close(); | 978 | // outDlg->close(); |
977 | FindLibrary(); | 979 | FindLibrary(); |
978 | if(outDlg) delete outDlg; | 980 | if(outDlg) delete outDlg; |
979 | } | 981 | } |
980 | buttonNewList->setDown(FALSE); | 982 | buttonNewList->setDown(FALSE); |
981 | } else { | 983 | } else { |
982 | QMessageBox::message("Note","Could not change directories"); | 984 | QMessageBox::message("Note","Could not change directories"); |
983 | } | 985 | } |
984 | // if(outDlg) | 986 | // if(outDlg) |
985 | // delete outDlg; | 987 | // delete outDlg; |
986 | } | 988 | } |
987 | } | 989 | } |
988 | 990 | ||
989 | bool LibraryDialog::moreInfo() | 991 | bool LibraryDialog::moreInfo() |
990 | { | 992 | { |
991 | 993 | ||
992 | QListViewItem * item; | 994 | QListViewItem * item; |
993 | item = 0; | 995 | item = 0; |
994 | QString titleString; | 996 | QString titleString; |
995 | item = ListView1->currentItem(); | 997 | item = ListView1->currentItem(); |
996 | if( item != 0) { | 998 | if( item != 0) { |
997 | titleString = item->text(0); | 999 | titleString = item->text(0); |
998 | ListView1->clearSelection(); | 1000 | ListView1->clearSelection(); |
999 | item = 0; | 1001 | item = 0; |
1000 | } | 1002 | } |
1001 | if( item == 0) | 1003 | if( item == 0) |
1002 | item = ListView2->currentItem(); | 1004 | item = ListView2->currentItem(); |
1003 | if( item != 0) { | 1005 | if( item != 0) { |
1004 | titleString = item->text(0); | 1006 | titleString = item->text(0); |
1005 | ListView2->clearSelection(); | 1007 | ListView2->clearSelection(); |
1006 | item = 0; | 1008 | item = 0; |
1007 | } | 1009 | } |
1008 | if( item == 0) | 1010 | if( item == 0) |
1009 | item = ListView3->currentItem(); | 1011 | item = ListView3->currentItem(); |
1010 | if( item != 0) { | 1012 | if( item != 0) { |
1011 | titleString = item->text(0); | 1013 | titleString = item->text(0); |
1012 | ListView3->clearSelection(); | 1014 | ListView3->clearSelection(); |
1013 | item = 0; | 1015 | item = 0; |
1014 | } | 1016 | } |
1015 | if( item == 0) | 1017 | if( item == 0) |
1016 | item = ListView4->currentItem(); | 1018 | item = ListView4->currentItem(); |
1017 | if( item != 0) { | 1019 | if( item != 0) { |
1018 | titleString = item->text(0); | 1020 | titleString = item->text(0); |
1019 | ListView4->clearSelection(); | 1021 | ListView4->clearSelection(); |
1020 | item = 0; | 1022 | item = 0; |
1021 | } | 1023 | } |
1022 | if( item == 0) | 1024 | if( item == 0) |
1023 | item = ListView5->currentItem(); | 1025 | item = ListView5->currentItem(); |
1024 | if( item != 0) { | 1026 | if( item != 0) { |
1025 | titleString = item->text(0); | 1027 | titleString = item->text(0); |
1026 | ListView5->clearSelection(); | 1028 | ListView5->clearSelection(); |
1027 | item = 0; | 1029 | item = 0; |
1028 | } | 1030 | } |
1029 | item=0; | 1031 | item=0; |
1030 | if(titleString.length()>2) { | 1032 | if(titleString.length()>2) { |
1031 | odebug << "Title is "+titleString << oendl; | 1033 | odebug << "Title is "+titleString << oendl; |
1032 | titleString.replace( QRegExp("\\s"), "%20"); | 1034 | titleString.replace( QRegExp("\\s"), "%20"); |
1033 | titleString.replace( QRegExp("'"), "%20"); | 1035 | titleString.replace( QRegExp("'"), "%20"); |
1034 | titleString.replace( QRegExp("\""), "%20"); | 1036 | titleString.replace( QRegExp("\""), "%20"); |
1035 | titleString.replace( QRegExp("&"), "%20"); | 1037 | titleString.replace( QRegExp("&"), "%20"); |
1036 | QString cmd= "http://google.com/search?q="+titleString+"&num=30&sa=Google+Search"; | 1038 | QString cmd= "http://google.com/search?q="+titleString+"&num=30&sa=Google+Search"; |
1037 | cmd="opera "+cmd; | 1039 | cmd="opera "+cmd; |
1038 | system(cmd); | 1040 | system(cmd); |
1039 | } else | 1041 | } else |
1040 | QMessageBox::message( "Note","If you select a title, this will\nsearch google.com for that title."); | 1042 | QMessageBox::message( "Note","<p>If you select a title, this will search google.com for that title.</p>"); |
1041 | return true; | 1043 | return true; |
1042 | 1044 | ||
1043 | } | 1045 | } |
1044 | 1046 | ||
1045 | /* | 1047 | /* |
1046 | This loads the library Index*/ | 1048 | This loads the library Index*/ |
1047 | void LibraryDialog::FindLibrary() | 1049 | void LibraryDialog::FindLibrary() |
1048 | { | 1050 | { |
1049 | buttonLibrary->setDown(TRUE); | 1051 | buttonLibrary->setDown(TRUE); |
1050 | 1052 | ||
1051 | qApp->processEvents(); | 1053 | qApp->processEvents(); |
1052 | if( QFile( new_index).exists() /* && this->isHidden() */) { | 1054 | if( QFile( new_index).exists() /* && this->isHidden() */) { |
1053 | newindexLib.setName( new_index); | 1055 | newindexLib.setName( new_index); |
1054 | indexLib.setName( new_index); | 1056 | indexLib.setName( new_index); |
1055 | odebug << "index file is "+ new_index << oendl; | 1057 | odebug << "index file is "+ new_index << oendl; |
1056 | Newlibrary(); | 1058 | Newlibrary(); |
1057 | } else { | 1059 | } else { |
1058 | newindexLib.setName( old_index); | 1060 | newindexLib.setName( old_index); |
1059 | indexLib.setName( old_index); | 1061 | indexLib.setName( old_index); |
1060 | odebug << "new index nameis "+ old_index << oendl; | 1062 | odebug << "new index nameis "+ old_index << oendl; |
1061 | Library(); | 1063 | Library(); |
1062 | } | 1064 | } |
1063 | indexLoaded=true; | 1065 | indexLoaded=true; |
1064 | buttonSearch->setEnabled(TRUE); | 1066 | buttonSearch->setEnabled(TRUE); |
1065 | moreInfoButton->setEnabled(TRUE); | 1067 | moreInfoButton->setEnabled(TRUE); |
1066 | 1068 | ||
1067 | buttonLibrary->setDown(FALSE); | 1069 | buttonLibrary->setDown(FALSE); |
1068 | buttonNewList->setText("Download"); | 1070 | buttonNewList->setText("Download"); |
1069 | qApp->processEvents(); | 1071 | qApp->processEvents(); |
1070 | 1072 | ||
1071 | } | 1073 | } |
diff --git a/noncore/apps/opie-gutenbrowser/LibraryDialogData.cpp b/noncore/apps/opie-gutenbrowser/LibraryDialogData.cpp index 72d605e..60c1c75 100644 --- a/noncore/apps/opie-gutenbrowser/LibraryDialogData.cpp +++ b/noncore/apps/opie-gutenbrowser/LibraryDialogData.cpp | |||
@@ -143,139 +143,140 @@ void LibraryDialog::initDialog(){ | |||
143 | ListView4->setColumnWidth(1, 170); | 143 | ListView4->setColumnWidth(1, 170); |
144 | ListView4->setColumnAlignment( 1, 1 ); | 144 | ListView4->setColumnAlignment( 1, 1 ); |
145 | 145 | ||
146 | ListView4->addColumn( tr( "Year" ) ); | 146 | ListView4->addColumn( tr( "Year" ) ); |
147 | ListView4->setColumnWidthMode( 2, QListView::Manual ); | 147 | ListView4->setColumnWidthMode( 2, QListView::Manual ); |
148 | ListView4->setColumnWidth(2, 50); | 148 | ListView4->setColumnWidth(2, 50); |
149 | ListView4->setColumnAlignment( 2, 1 ); | 149 | ListView4->setColumnAlignment( 2, 1 ); |
150 | 150 | ||
151 | ListView4->addColumn( tr( "File" ) ); | 151 | ListView4->addColumn( tr( "File" ) ); |
152 | ListView4->setColumnWidthMode( 3, QListView::Manual ); | 152 | ListView4->setColumnWidthMode( 3, QListView::Manual ); |
153 | ListView4->setColumnWidth(3, 100); | 153 | ListView4->setColumnWidth(3, 100); |
154 | ListView4->setColumnAlignment( 3, 1 ); | 154 | ListView4->setColumnAlignment( 3, 1 ); |
155 | 155 | ||
156 | ListView5->addColumn( tr( "Title" ) ); | 156 | ListView5->addColumn( tr( "Title" ) ); |
157 | ListView5->setColumnWidthMode( 0, QListView::Manual ); | 157 | ListView5->setColumnWidthMode( 0, QListView::Manual ); |
158 | ListView5->setColumnWidth(0, 330); | 158 | ListView5->setColumnWidth(0, 330); |
159 | ListView5->setColumnAlignment( 0, 1 ); | 159 | ListView5->setColumnAlignment( 0, 1 ); |
160 | 160 | ||
161 | ListView5->addColumn( tr( "Author" ) ); | 161 | ListView5->addColumn( tr( "Author" ) ); |
162 | ListView5->setColumnWidthMode( 1, QListView::Manual ); | 162 | ListView5->setColumnWidthMode( 1, QListView::Manual ); |
163 | ListView5->setColumnWidth(1, 170); | 163 | ListView5->setColumnWidth(1, 170); |
164 | ListView5->setColumnAlignment( 1, 1 ); | 164 | ListView5->setColumnAlignment( 1, 1 ); |
165 | 165 | ||
166 | ListView5->addColumn( tr( "Year" ) ); | 166 | ListView5->addColumn( tr( "Year" ) ); |
167 | ListView5->setColumnWidthMode( 2, QListView::Manual ); | 167 | ListView5->setColumnWidthMode( 2, QListView::Manual ); |
168 | ListView5->setColumnWidth(2, 50); | 168 | ListView5->setColumnWidth(2, 50); |
169 | ListView5->setColumnAlignment( 2, 1 ); | 169 | ListView5->setColumnAlignment( 2, 1 ); |
170 | 170 | ||
171 | ListView5->addColumn( tr( "File" ) ); | 171 | ListView5->addColumn( tr( "File" ) ); |
172 | ListView5->setColumnWidthMode( 3, QListView::Manual ); | 172 | ListView5->setColumnWidthMode( 3, QListView::Manual ); |
173 | ListView5->setColumnWidth(3, 100); | 173 | ListView5->setColumnWidth(3, 100); |
174 | ListView5->setColumnAlignment( 3, 1 ); | 174 | ListView5->setColumnAlignment( 3, 1 ); |
175 | 175 | ||
176 | tabWidget->insertTab( widget_1, tr( "A-F" ) ); | 176 | tabWidget->insertTab( widget_1, tr( "A-F" ) ); |
177 | tabWidget->insertTab( widget_2, tr( "G-M" ) ); | 177 | tabWidget->insertTab( widget_2, tr( "G-M" ) ); |
178 | tabWidget->insertTab( widget_3, tr( "N-R" ) ); | 178 | tabWidget->insertTab( widget_3, tr( "N-R" ) ); |
179 | tabWidget->insertTab( widget_4, tr( "S-Z" ) ); | 179 | tabWidget->insertTab( widget_4, tr( "S-Z" ) ); |
180 | tabWidget->insertTab( widget_5, tr( " " ) ); | 180 | tabWidget->insertTab( widget_5, tr( " " ) ); |
181 | 181 | ||
182 | ListView1->setMultiSelection(TRUE); | 182 | ListView1->setMultiSelection(TRUE); |
183 | ListView2->setMultiSelection(TRUE); | 183 | ListView2->setMultiSelection(TRUE); |
184 | ListView3->setMultiSelection(TRUE); | 184 | ListView3->setMultiSelection(TRUE); |
185 | ListView4->setMultiSelection(TRUE); | 185 | ListView4->setMultiSelection(TRUE); |
186 | ListView5->setMultiSelection(TRUE); | 186 | ListView5->setMultiSelection(TRUE); |
187 | 187 | ||
188 | widget_6 = new QWidget( tabWidget, "widget_6" ); | 188 | widget_6 = new QWidget( tabWidget, "widget_6" ); |
189 | tabWidget->insertTab(widget_6,tr("Options")); | 189 | tabWidget->insertTab(widget_6,tr("Options")); |
190 | 190 | ||
191 | ListView1->setSorting( 2, TRUE); | 191 | ListView1->setSorting( 2, TRUE); |
192 | ListView2->setSorting( 2, TRUE); | 192 | ListView2->setSorting( 2, TRUE); |
193 | ListView3->setSorting( 2, TRUE); | 193 | ListView3->setSorting( 2, TRUE); |
194 | ListView4->setSorting( 2, TRUE); | 194 | ListView4->setSorting( 2, TRUE); |
195 | ListView5->setSorting( 2, TRUE); | 195 | ListView5->setSorting( 2, TRUE); |
196 | ListView1->setAllColumnsShowFocus( TRUE ); | 196 | ListView1->setAllColumnsShowFocus( TRUE ); |
197 | ListView2->setAllColumnsShowFocus( TRUE ); | 197 | ListView2->setAllColumnsShowFocus( TRUE ); |
198 | ListView3->setAllColumnsShowFocus( TRUE ); | 198 | ListView3->setAllColumnsShowFocus( TRUE ); |
199 | ListView4->setAllColumnsShowFocus( TRUE ); | 199 | ListView4->setAllColumnsShowFocus( TRUE ); |
200 | ListView5->setAllColumnsShowFocus( TRUE ); | 200 | ListView5->setAllColumnsShowFocus( TRUE ); |
201 | 201 | ||
202 | QGridLayout *layout6 = new QGridLayout(widget_6 ); | 202 | QGridLayout *layout6 = new QGridLayout(widget_6 ); |
203 | QComboBox * sortingCombo; | 203 | QComboBox * sortingCombo; |
204 | buttonCancel = new QPushButton( widget_6, "buttonCancel" ); | 204 | buttonCancel = new QPushButton( widget_6, "buttonCancel" ); |
205 | checkBox = new QCheckBox( ( tr("Open Automatically")), widget_6); | 205 | checkBox = new QCheckBox( ( tr("Open Automatically")), widget_6); |
206 | checkBox->setChecked( FALSE); | 206 | checkBox->setChecked( FALSE); |
207 | // httpBox = new QCheckBox( ( tr("Use http")),widget_6); | 207 | // httpBox = new QCheckBox( ( tr("Use http")),widget_6); |
208 | // httpBox->setChecked( FALSE); | 208 | // httpBox->setChecked( FALSE); |
209 | // QToolTip::add( httpBox, ( tr("Use http to download \nproxy users should probably use this.")) ); | 209 | // QToolTip::add( httpBox, ( tr("Use http to download \nproxy users should probably use this.")) ); |
210 | authBox= new QCheckBox( ( tr("Last name first \n(requires library restart)")),widget_6); | 210 | authBox= new QCheckBox( ( tr("Last name first \n(requires library restart)")),widget_6); |
211 | authBox->setChecked( FALSE); | 211 | authBox->setChecked( FALSE); |
212 | 212 | ||
213 | layout1->addMultiCellWidget( ListView1, 0, 0, 0, 4); | 213 | layout1->addMultiCellWidget( ListView1, 0, 0, 0, 4); |
214 | layout2->addMultiCellWidget( ListView2, 0, 0, 0, 4); | 214 | layout2->addMultiCellWidget( ListView2, 0, 0, 0, 4); |
215 | layout3->addMultiCellWidget( ListView3, 0, 0, 0, 4); | 215 | layout3->addMultiCellWidget( ListView3, 0, 0, 0, 4); |
216 | layout4->addMultiCellWidget( ListView4, 0, 0, 0, 4); | 216 | layout4->addMultiCellWidget( ListView4, 0, 0, 0, 4); |
217 | layout5->addMultiCellWidget( ListView5, 0, 0, 0, 4); | 217 | layout5->addMultiCellWidget( ListView5, 0, 0, 0, 4); |
218 | 218 | ||
219 | buttonSearch = new QPushButton(this,"buttonSearch"); | 219 | buttonSearch = new QPushButton(this,"buttonSearch"); |
220 | buttonLibrary=new QPushButton(this,"buttenLibrary"); | 220 | buttonLibrary=new QPushButton(this,"buttenLibrary"); |
221 | buttonNewList=new QPushButton(this,"NewList"); | 221 | buttonNewList=new QPushButton(this,"NewList"); |
222 | moreInfoButton= new QPushButton(this,"moreInfo"); | 222 | moreInfoButton= new QPushButton(this,"moreInfo"); |
223 | sortingCombo=new QComboBox(widget_6,"sort by combo"); | 223 | sortingCombo=new QComboBox(widget_6,"sort by combo"); |
224 | 224 | ||
225 | 225 | ||
226 | layout6->addMultiCellWidget(buttonCancel, 0, 0, 4, 4); | 226 | layout6->addMultiCellWidget(buttonCancel, 0, 0, 4, 4); |
227 | layout6->addMultiCellWidget(checkBox, 1, 1, 0, 0); | 227 | layout6->addMultiCellWidget(checkBox, 1, 1, 0, 0); |
228 | layout6->addMultiCellWidget(sortingCombo, 2, 2, 0, 0); | 228 | layout6->addMultiCellWidget(sortingCombo, 2, 2, 0, 0); |
229 | layout6->addMultiCellWidget(authBox, 3, 3, 0, 0); | 229 | layout6->addMultiCellWidget(authBox, 3, 3, 0, 0); |
230 | 230 | ||
231 | layout->addMultiCellWidget( buttonSearch, 1, 1, 0, 0); | 231 | layout->addMultiCellWidget( buttonSearch, 1, 1, 0, 0); |
232 | layout->addMultiCellWidget( buttonLibrary, 1, 1, 1, 1); | 232 | layout->addMultiCellWidget( buttonLibrary, 1, 1, 1, 1); |
233 | layout->addMultiCellWidget( moreInfoButton, 1, 1, 2, 2); | 233 | layout->addMultiCellWidget( moreInfoButton, 1, 1, 2, 2); |
234 | layout->addMultiCellWidget( buttonNewList, 1, 1, 3, 3); | 234 | layout->addMultiCellWidget( buttonNewList, 1, 1, 3, 3); |
235 | 235 | ||
236 | moreInfoButton->setText("Info"); | 236 | moreInfoButton->setText("Info"); |
237 | moreInfoButton->setDisabled(TRUE); | 237 | moreInfoButton->setDisabled(TRUE); |
238 | buttonSearch->setDisabled(TRUE); | 238 | buttonSearch->setDisabled(TRUE); |
239 | buttonSearch->setDefault(TRUE); | ||
239 | 240 | ||
240 | buttonSearch->setText(tr("Search")); | 241 | buttonSearch->setText(tr("Search")); |
241 | 242 | ||
242 | buttonCancel->setText(tr("Close")); | 243 | buttonCancel->setText(tr("Close")); |
243 | buttonLibrary->setText("Load"); | 244 | buttonLibrary->setText("Load"); |
244 | buttonLibrary->setDefault(TRUE); | 245 | // buttonLibrary->setDefault(TRUE); |
245 | buttonNewList->setText("New List"); | 246 | buttonNewList->setText("New List"); |
246 | 247 | ||
247 | QStrList sortingList; | 248 | QStrList sortingList; |
248 | sortingList.append( "Sort by Number"); | 249 | sortingList.append( "Sort by Number"); |
249 | sortingList.append("Sort by Title"); | 250 | sortingList.append("Sort by Title"); |
250 | sortingList.append( "Sort by Author"); | 251 | sortingList.append( "Sort by Author"); |
251 | sortingList.append("Sort by Year"); | 252 | sortingList.append("Sort by Year"); |
252 | 253 | ||
253 | sortingCombo->insertStrList(sortingList,0); | 254 | sortingCombo->insertStrList(sortingList,0); |
254 | sortingCombo->setCurrentItem(2); | 255 | sortingCombo->setCurrentItem(2); |
255 | sortingCombo->setMaximumWidth(180); | 256 | sortingCombo->setMaximumWidth(180); |
256 | 257 | ||
257 | // signals and slots connections | 258 | // signals and slots connections |
258 | connect(buttonSearch,SIGNAL(clicked()),this,SLOT(onButtonSearch())); | 259 | connect(buttonSearch,SIGNAL(clicked()),this,SLOT(onButtonSearch())); |
259 | connect(buttonLibrary,SIGNAL(clicked()),this,SLOT(FindLibrary())); | 260 | connect(buttonLibrary,SIGNAL(clicked()),this,SLOT(FindLibrary())); |
260 | connect(buttonCancel,SIGNAL(clicked()),this,SLOT(reject())); | 261 | connect(buttonCancel,SIGNAL(clicked()),this,SLOT(reject())); |
261 | connect(moreInfoButton,SIGNAL(clicked()),this,SLOT(moreInfo())); | 262 | connect(moreInfoButton,SIGNAL(clicked()),this,SLOT(moreInfo())); |
262 | connect(buttonNewList,SIGNAL(clicked()),this,SLOT(newList())); | 263 | connect(buttonNewList,SIGNAL(clicked()),this,SLOT(newList())); |
263 | 264 | ||
264 | connect(ListView1,SIGNAL(doubleClicked(QListViewItem*)),SLOT(select_title(QListViewItem*))); | 265 | connect(ListView1,SIGNAL(doubleClicked(QListViewItem*)),SLOT(select_title(QListViewItem*))); |
265 | connect(ListView1,SIGNAL(returnPressed(QListViewItem*)),SLOT(select_title(QListViewItem*))); | 266 | connect(ListView1,SIGNAL(returnPressed(QListViewItem*)),SLOT(select_title(QListViewItem*))); |
266 | connect(ListView2,SIGNAL(doubleClicked(QListViewItem*)),SLOT(select_title(QListViewItem*))); | 267 | connect(ListView2,SIGNAL(doubleClicked(QListViewItem*)),SLOT(select_title(QListViewItem*))); |
267 | connect(ListView2,SIGNAL(returnPressed(QListViewItem*)),SLOT(select_title(QListViewItem*))); | 268 | connect(ListView2,SIGNAL(returnPressed(QListViewItem*)),SLOT(select_title(QListViewItem*))); |
268 | connect(ListView3,SIGNAL(doubleClicked(QListViewItem*)),SLOT(select_title(QListViewItem*))); | 269 | connect(ListView3,SIGNAL(doubleClicked(QListViewItem*)),SLOT(select_title(QListViewItem*))); |
269 | connect(ListView3,SIGNAL(returnPressed(QListViewItem*)),SLOT(select_title(QListViewItem*))); | 270 | connect(ListView3,SIGNAL(returnPressed(QListViewItem*)),SLOT(select_title(QListViewItem*))); |
270 | connect(ListView4,SIGNAL(doubleClicked(QListViewItem*)),SLOT(select_title(QListViewItem*))); | 271 | connect(ListView4,SIGNAL(doubleClicked(QListViewItem*)),SLOT(select_title(QListViewItem*))); |
271 | connect(ListView4,SIGNAL(returnPressed(QListViewItem*)),SLOT(select_title(QListViewItem*))); | 272 | connect(ListView4,SIGNAL(returnPressed(QListViewItem*)),SLOT(select_title(QListViewItem*))); |
272 | connect(ListView5,SIGNAL(doubleClicked(QListViewItem*)),SLOT(select_title(QListViewItem*))); | 273 | connect(ListView5,SIGNAL(doubleClicked(QListViewItem*)),SLOT(select_title(QListViewItem*))); |
273 | connect(ListView5,SIGNAL(returnPressed(QListViewItem*)),SLOT(select_title(QListViewItem*))); | 274 | connect(ListView5,SIGNAL(returnPressed(QListViewItem*)),SLOT(select_title(QListViewItem*))); |
274 | 275 | ||
275 | connect(sortingCombo,SIGNAL(activated(int)),SLOT(comboSelect(int))); | 276 | connect(sortingCombo,SIGNAL(activated(int)),SLOT(comboSelect(int))); |
276 | 277 | ||
277 | } | 278 | } |
278 | 279 | ||
279 | void LibraryDialog::doListView() { | 280 | void LibraryDialog::doListView() { |
280 | 281 | ||
281 | } | 282 | } |
diff --git a/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp b/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp index f14080f..be920dd 100644 --- a/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp +++ b/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp | |||
@@ -12,1073 +12,1069 @@ | |||
12 | // http search | 12 | // http search |
13 | // http://digital.library.upenn.edu/books/authors.html | 13 | // http://digital.library.upenn.edu/books/authors.html |
14 | // http://digital.library.upenn.edu/books/titles.html | 14 | // http://digital.library.upenn.edu/books/titles.html |
15 | // ftp://ibiblio.org/pub/docs/books/gutenberg/GUTINDEX.ALL | 15 | // ftp://ibiblio.org/pub/docs/books/gutenberg/GUTINDEX.ALL |
16 | // donate@gutenberg.net | 16 | // donate@gutenberg.net |
17 | 17 | ||
18 | 18 | ||
19 | #include "editTitle.h" | 19 | #include "editTitle.h" |
20 | #include "gutenbrowser.h" | 20 | #include "gutenbrowser.h" |
21 | #include "LibraryDialog.h" | 21 | #include "LibraryDialog.h" |
22 | //#include "bookmarksdlg.h" | 22 | //#include "bookmarksdlg.h" |
23 | #include "optionsDialog.h" | 23 | #include "optionsDialog.h" |
24 | #include "helpme.h" | 24 | #include "helpme.h" |
25 | #include "NetworkDialog.h" | 25 | #include "NetworkDialog.h" |
26 | 26 | ||
27 | #include "openetext.h" | 27 | #include "openetext.h" |
28 | #include "output.h" | 28 | #include "output.h" |
29 | 29 | ||
30 | /* OPIE */ | 30 | /* OPIE */ |
31 | #include <opie2/odebug.h> | 31 | #include <opie2/odebug.h> |
32 | #include <qpe/qpeapplication.h> | 32 | #include <qpe/qpeapplication.h> |
33 | #include <qpe/fontdatabase.h> | 33 | #include <qpe/fontdatabase.h> |
34 | #include <qpe/config.h> | 34 | #include <qpe/config.h> |
35 | #include <qpe/qcopenvelope_qws.h> | 35 | #include <qpe/qcopenvelope_qws.h> |
36 | #include <qpe/mimetype.h> | 36 | #include <qpe/mimetype.h> |
37 | #include <qpe/resource.h> | 37 | #include <qpe/resource.h> |
38 | #include <qpe/applnk.h> | 38 | #include <qpe/applnk.h> |
39 | 39 | ||
40 | /* QT */ | 40 | /* QT */ |
41 | #include <qregexp.h> | 41 | #include <qregexp.h> |
42 | #include <qregion.h> | 42 | #include <qregion.h> |
43 | #include <qpaintdevicemetrics.h> | 43 | #include <qpaintdevicemetrics.h> |
44 | #include <qvaluelist.h> | 44 | #include <qvaluelist.h> |
45 | #include <qlabel.h> | 45 | #include <qlabel.h> |
46 | #include <qclipboard.h> | 46 | #include <qclipboard.h> |
47 | #include <qpainter.h> | 47 | #include <qpainter.h> |
48 | #include <qpalette.h> | 48 | #include <qpalette.h> |
49 | #include <qobjectlist.h> | 49 | #include <qobjectlist.h> |
50 | #include <qfontdialog.h> | 50 | #include <qfontdialog.h> |
51 | #include <qtextview.h> | 51 | #include <qtextview.h> |
52 | #include <qbrush.h> | 52 | #include <qbrush.h> |
53 | #include <qfile.h> | 53 | #include <qfile.h> |
54 | #include <qfontinfo.h> | 54 | #include <qfontinfo.h> |
55 | #include <qscrollview.h> | 55 | #include <qscrollview.h> |
56 | #include <qpoint.h> | 56 | #include <qpoint.h> |
57 | 57 | ||
58 | /* STD */ | 58 | /* STD */ |
59 | #include <stdio.h> | 59 | #include <stdio.h> |
60 | #include <stdlib.h> | 60 | #include <stdlib.h> |
61 | #include <unistd.h> | 61 | #include <unistd.h> |
62 | #include <sys/stat.h> | 62 | #include <sys/stat.h> |
63 | #include <fcntl.h> | 63 | #include <fcntl.h> |
64 | #include <errno.h> | 64 | #include <errno.h> |
65 | 65 | ||
66 | static const int nfontsizes = 9; | 66 | static const int nfontsizes = 9; |
67 | static const int fontsize[nfontsizes] = {8,9,10,11,12,13,14,18,24}; | 67 | static const int fontsize[nfontsizes] = {8,9,10,11,12,13,14,18,24}; |
68 | 68 | ||
69 | #ifdef NOQUICKLAUNCH | 69 | #ifdef NOQUICKLAUNCH |
70 | Gutenbrowser::Gutenbrowser() | 70 | Gutenbrowser::Gutenbrowser() |
71 | Gutenbrowser(); | 71 | Gutenbrowser(); |
72 | #else | 72 | #else |
73 | Gutenbrowser::Gutenbrowser(QWidget *,const char*, WFlags ) | 73 | Gutenbrowser::Gutenbrowser(QWidget *,const char*, WFlags ) |
74 | #endif | 74 | #endif |
75 | : QMainWindow() | 75 | : QMainWindow() |
76 | { | 76 | { |
77 | // QCopEnvelope( "QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; | 77 | // QCopEnvelope( "QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; |
78 | // QCopEnvelope e("QPE/System", "grabKeyboard(QString)" ); | 78 | // QCopEnvelope e("QPE/System", "grabKeyboard(QString)" ); |
79 | // e << ""; | 79 | // e << ""; |
80 | // QPEApplication::grabKeyboard(); | 80 | // QPEApplication::grabKeyboard(); |
81 | showMainList=TRUE; | 81 | showMainList=TRUE; |
82 | working=false; | 82 | working=false; |
83 | this->setUpdatesEnabled(TRUE); | 83 | this->setUpdatesEnabled(TRUE); |
84 | // #ifndef Q_WS_QWS | 84 | // #ifndef Q_WS_QWS |
85 | QString msg; | 85 | QString msg; |
86 | msg="You have now entered unto gutenbrowser,\n"; | 86 | msg="You have now entered unto gutenbrowser,\n"; |
87 | msg+="make your self at home, sit back, relax and read something great.\n"; | 87 | msg+="make your self at home, sit back, relax and read something great.\n"; |
88 | 88 | ||
89 | local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/"; | 89 | local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/"; |
90 | setCaption("Gutenbrowser");// Embedded " VERSION); | 90 | setCaption("Gutenbrowser");// Embedded " VERSION); |
91 | this->setUpdatesEnabled(TRUE); | 91 | this->setUpdatesEnabled(TRUE); |
92 | 92 | ||
93 | // bool firstTime=FALSE; | 93 | // bool firstTime=FALSE; |
94 | topLayout = new QVBoxLayout( this, 0, 0, "topLayout"); | 94 | topLayout = new QVBoxLayout( this, 0, 0, "topLayout"); |
95 | 95 | ||
96 | menu = new QHBoxLayout(-1,"menu"); | 96 | menu = new QHBoxLayout(-1,"menu"); |
97 | buttons2 = new QHBoxLayout(-1,"buttons2"); | 97 | buttons2 = new QHBoxLayout(-1,"buttons2"); |
98 | edits = new QHBoxLayout(-1,"edits"); | 98 | edits = new QHBoxLayout(-1,"edits"); |
99 | 99 | ||
100 | useSplitter=TRUE; | 100 | useSplitter=TRUE; |
101 | 101 | ||
102 | initConfig(); | 102 | initConfig(); |
103 | initMenuBar(); | 103 | initMenuBar(); |
104 | initButtonBar(); | 104 | initButtonBar(); |
105 | initStatusBar(); | 105 | initStatusBar(); |
106 | initView(); | 106 | initView(); |
107 | initSlots(); | 107 | initSlots(); |
108 | 108 | qDebug("init finished"); | |
109 | QPEApplication::setStylusOperation( mainList->viewport(),QPEApplication::RightOnHold); | 109 | QPEApplication::setStylusOperation( mainList->viewport(),QPEApplication::RightOnHold); |
110 | 110 | ||
111 | connect( mainList, SIGNAL( mouseButtonPressed( int, QListBoxItem *, const QPoint &)), | 111 | connect( mainList, SIGNAL( mouseButtonPressed( int, QListBoxItem *, const QPoint &)), |
112 | this, SLOT( mainListPressed(int, QListBoxItem *, const QPoint &)) ); | 112 | this, SLOT( mainListPressed(int, QListBoxItem *, const QPoint &)) ); |
113 | if( useIcons) | 113 | if( useIcons) |
114 | toggleButtonIcons( TRUE); | 114 | toggleButtonIcons( TRUE); |
115 | else | 115 | else |
116 | toggleButtonIcons( FALSE); | 116 | toggleButtonIcons( FALSE); |
117 | 117 | ||
118 | enableButtons(false); | 118 | enableButtons(false); |
119 | 119 | ||
120 | Config config("Gutenbrowser"); // populate menubuttonlist | 120 | Config config("Gutenbrowser"); // populate menubuttonlist |
121 | config.setGroup("General"); | 121 | config.setGroup("General"); |
122 | 122 | ||
123 | config.setGroup( "Files" ); | 123 | config.setGroup( "Files" ); |
124 | QString s_numofFiles = config.readEntry("NumberOfFiles", "0" ); | 124 | QString s_numofFiles = config.readEntry("NumberOfFiles", "0" ); |
125 | int i_numofFiles = s_numofFiles.toInt(); | 125 | int i_numofFiles = s_numofFiles.toInt(); |
126 | 126 | ||
127 | QString tempFileName; | 127 | QString tempFileName; |
128 | 128 | ||
129 | for (int i = 0; i <= i_numofFiles; i++) { | 129 | for (int i = 0; i <= i_numofFiles; i++) { |
130 | // tempFileName.setNum(i); | 130 | // tempFileName.setNum(i); |
131 | config.setGroup( "Files" ); | 131 | config.setGroup( "Files" ); |
132 | QString ramble = config.readEntry( QString::number(i), "" ); | 132 | QString ramble = config.readEntry( QString::number(i), "" ); |
133 | 133 | ||
134 | config.setGroup( "Titles" ); | 134 | config.setGroup( "Titles" ); |
135 | QString tempTitle = config.readEntry( ramble, ""); | 135 | QString tempTitle = config.readEntry( ramble, ""); |
136 | config.setGroup( tempTitle); | 136 | config.setGroup( tempTitle); |
137 | int index=config.readNumEntry( "LineNumber", -1 ); | 137 | int index=config.readNumEntry( "LineNumber", -1 ); |
138 | if( index != -1) { | 138 | if( index != -1) { |
139 | // odebug << tempTitle << oendl; | 139 | odebug << tempTitle << oendl; |
140 | bookmarksMenu->insertItem( tempTitle); | 140 | bookmarksMenu->insertItem( tempTitle); |
141 | } | 141 | } |
142 | } | 142 | } |
143 | 143 | ||
144 | // QString gutenIndex= local_library + "GUTINDEX.ALL"; | 144 | // QString gutenIndex= local_library + "GUTINDEX.ALL"; |
145 | QString gutenIndex= QPEApplication::qpeDir()+ "/etc/gutenbrowser/GUTINDEX.ALL"; | 145 | QString gutenIndex = QPEApplication::qpeDir()+ "/etc/gutenbrowser/GUTINDEX.ALL"; |
146 | 146 | qDebug("gutenindex "+gutenIndex ); | |
147 | if( QFile( gutenIndex).exists() ) { | 147 | if( QFile( gutenIndex).exists() ) { |
148 | indexLib.setName( gutenIndex); | 148 | indexLib.setName( gutenIndex); |
149 | } else { | 149 | } else { |
150 | QString localLibIndexFile = QPEApplication::qpeDir()+ "/etc/gutenbrowser/PGWHOLE.TXT"; | 150 | QString localLibIndexFile = QPEApplication::qpeDir()+ "/etc/gutenbrowser/PGWHOLE.TXT"; |
151 | // QString localLibIndexFile= local_library + "PGWHOLE.TXT"; | 151 | // QString localLibIndexFile= local_library + "PGWHOLE.TXT"; |
152 | newindexLib.setName( localLibIndexFile); | 152 | newindexLib.setName( localLibIndexFile); |
153 | } | 153 | } |
154 | qDebug("attempting new library"); | ||
154 | LibraryDlg = new LibraryDialog( this, "Library Index" /*, TRUE */); | 155 | LibraryDlg = new LibraryDialog( this, "Library Index" /*, TRUE */); |
155 | loadCheck=false; | 156 | loadCheck = false; |
156 | chdir(local_library); | 157 | chdir(local_library); |
157 | if(!showMainList) { | 158 | if(!showMainList) { |
158 | Lview->setFocus(); | 159 | Lview->setFocus(); |
159 | // if(firstTime) | 160 | // if(firstTime) |
160 | // Bookmark(); | 161 | // Bookmark(); |
161 | for (int i=1;i< qApp->argc();i++) { | 162 | for (int i=1;i< qApp->argc();i++) { |
162 | odebug << "Suppose we open somethin" << oendl; | 163 | qDebug("Suppose we open somethin"); |
163 | load(qApp->argv()[i]); | 164 | load(qApp->argv()[i]); |
164 | } | 165 | } |
165 | } else { | 166 | } else { |
166 | fillWithTitles(); | 167 | fillWithTitles(); |
167 | mainList->setFocus(); | 168 | mainList->setFocus(); |
168 | // mainList->setCurrentItem(0); | 169 | // mainList->setCurrentItem(0); |
169 | 170 | ||
170 | } | 171 | } |
171 | writeConfig(); | 172 | writeConfig(); |
172 | } //end init | 173 | } //end init |
173 | 174 | ||
174 | Gutenbrowser::~Gutenbrowser() { | 175 | Gutenbrowser::~Gutenbrowser() { |
175 | // QPEApplication::grabKeyboard(); | 176 | // QPEApplication::grabKeyboard(); |
176 | // QPEApplication::ungrabKeyboard(); | 177 | // QPEApplication::ungrabKeyboard(); |
177 | odebug << "Exit" << oendl; | 178 | odebug << "Exit" << oendl; |
178 | } | 179 | } |
179 | 180 | ||
180 | /* | 181 | /* |
181 | Google.com search */ | 182 | Google.com search */ |
182 | void Gutenbrowser::InfoBarClick() { | 183 | void Gutenbrowser::InfoBarClick() { |
183 | QString text; | 184 | QString text; |
184 | if( Lview->hasSelectedText()) { | 185 | if( Lview->hasSelectedText()) { |
185 | Lview->copy(); | 186 | Lview->copy(); |
186 | QClipboard *cb = QApplication::clipboard(); | 187 | QClipboard *cb = QApplication::clipboard(); |
187 | text = cb->text(); | 188 | text = cb->text(); |
188 | } else { | 189 | } else { |
189 | // text=title; | 190 | // text=title; |
190 | text=this->caption(); | 191 | text=this->caption(); |
191 | } | 192 | } |
192 | searchGoogle(text); | 193 | searchGoogle(text); |
193 | } | 194 | } |
194 | 195 | ||
195 | /* | 196 | /* |
196 | download http with wget or preferred browser */ | 197 | download http with wget or preferred browser */ |
197 | void Gutenbrowser::goGetit( const QString &url, bool showMsg) { | 198 | void Gutenbrowser::goGetit( const QString &url, bool showMsg) { |
198 | // int eexit=0; | 199 | // int eexit=0; |
199 | QString cmd; | 200 | QString cmd; |
200 | // config.read(); | 201 | // config.read(); |
201 | qApp->processEvents(); | 202 | qApp->processEvents(); |
202 | QString filename = QPEApplication::qpeDir(); | 203 | QString filename = QPEApplication::qpeDir(); |
203 | if(filename.right(1)!="/") | 204 | if(filename.right(1)!="/") |
204 | filename+="/etc/gutenbrowser/"; | 205 | filename+="/etc/gutenbrowser/"; |
205 | else | 206 | else |
206 | filename+="etc/gutenbrowser/"; | 207 | filename+="etc/gutenbrowser/"; |
207 | odebug << "filename "+filename << oendl; | 208 | odebug << "filename "+filename << oendl; |
208 | // QString filename = QDir::homeDirPath()+"/Applications/gutenbrowser/"; | 209 | // QString filename = QDir::homeDirPath()+"/Applications/gutenbrowser/"; |
209 | 210 | ||
210 | filename += url.right( url.length() - url.findRev("/",-1,TRUE) -1); | 211 | filename += url.right( url.length() - url.findRev("/",-1,TRUE) -1); |
211 | 212 | ||
212 | Config config("Gutenbrowser"); | 213 | Config config("Gutenbrowser"); |
213 | config.setGroup( "Browser" ); | 214 | config.setGroup( "Browser" ); |
214 | QString brow = config.readEntry("Preferred", "Opera"); | 215 | QString brow = config.readEntry("Preferred", "Opera"); |
215 | odebug << "Preferred browser is "+brow << oendl; | 216 | odebug << "Preferred browser is "+brow << oendl; |
216 | if(!showMsg) { //if we just get the gutenindex.all | 217 | if(!showMsg) { //if we just get the gutenindex.all |
217 | cmd="wget -O " + filename +" " + url+" 2>&1" ; | 218 | cmd="wget -O " + filename +" " + url+" 2>&1" ; |
218 | chdir(local_library); | 219 | chdir(local_library); |
219 | odebug << "Issuing the system command: " << cmd << "" << oendl; | 220 | odebug << "Issuing the system command: " << cmd << "" << oendl; |
220 | 221 | ||
221 | Output *outDlg; | 222 | Output *outDlg; |
222 | outDlg = new Output(this, tr("Gutenbrowser Output"),FALSE); | 223 | outDlg = new Output(this, tr("Gutenbrowser Output"),FALSE); |
223 | outDlg->showMaximized(); | 224 | outDlg->showMaximized(); |
224 | outDlg->show(); | 225 | outDlg->show(); |
225 | qApp->processEvents(); | 226 | qApp->processEvents(); |
226 | FILE *fp; | 227 | FILE *fp; |
227 | char line[130]; | 228 | char line[130]; |
228 | outDlg->OutputEdit->append( tr("Running wget") ); | 229 | outDlg->OutputEdit->append( tr("Running wget") ); |
229 | sleep(1); | 230 | sleep(1); |
230 | fp = popen( (const char *) cmd, "r"); | 231 | fp = popen( (const char *) cmd, "r"); |
231 | // odebug << "Issuing the command\n"+cmd << oendl; | 232 | odebug << "Issuing the command\n"+cmd << oendl; |
232 | // system(cmd); | 233 | // system(cmd); |
233 | while ( fgets( line, sizeof line, fp)) { | 234 | while ( fgets( line, sizeof line, fp)) { |
234 | outDlg->OutputEdit->append(line); | 235 | outDlg->OutputEdit->append(line); |
235 | outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); | 236 | // outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); |
236 | } | 237 | } |
237 | pclose(fp); | 238 | pclose(fp); |
238 | outDlg->close(); | 239 | outDlg->close(); |
239 | if(outDlg) | 240 | if(outDlg) |
240 | delete outDlg; | 241 | delete outDlg; |
241 | } else { | 242 | } else { |
242 | if( brow == "Konq") { | 243 | if( brow == "Konq") { |
243 | cmd = "konqueror "+url+" &"; | 244 | cmd = "konqueror "+url+" &"; |
244 | } | 245 | } |
245 | if( brow == "Opera") { //for desktop testing | 246 | if( brow == "Opera") { //for desktop testing |
246 | cmd = "opera "+url+" &"; | 247 | cmd = "opera "+url+" &"; |
247 | } | 248 | } |
248 | // if( brow == "Opera") { // on Zaurus | 249 | // if( brow == "Opera") { // on Zaurus |
249 | // cmd = "operagui "+url+" &"; | 250 | // cmd = "operagui "+url+" &"; |
250 | // } | 251 | // } |
251 | if( brow == "Mozilla") { | 252 | if( brow == "Mozilla") { |
252 | cmd = "mozilla "+url+" &"; | 253 | cmd = "mozilla "+url+" &"; |
253 | } | 254 | } |
254 | if( brow == "Netscape") { | 255 | if( brow == "Netscape") { |
255 | cmd = "netscape "+url+" &"; | 256 | cmd = "netscape "+url+" &"; |
256 | } | 257 | } |
257 | if(brow == "wget") { | 258 | if(brow == "wget") { |
258 | // cmd="wget -q "+url+" &"; | 259 | // cmd="wget -q "+url+" &"; |
259 | QString tempHtml=local_library+"webster.html"; | 260 | QString tempHtml=local_library+"webster.html"; |
260 | cmd="wget -O "+tempHtml+" -q "+url; | 261 | cmd="wget -O "+tempHtml+" -q "+url; |
261 | } | 262 | } |
262 | 263 | ||
263 | chdir(local_library); | 264 | chdir(local_library); |
264 | odebug << "Issuing the sys command: " << cmd << "" << oendl; | 265 | odebug << "Issuing the sys command: " << cmd << "" << oendl; |
265 | system(cmd); | 266 | system(cmd); |
266 | } | 267 | } |
267 | } | 268 | } |
268 | 269 | ||
269 | void Gutenbrowser::toggleButtonIcons( bool useEm) { | 270 | void Gutenbrowser::toggleButtonIcons( bool useEm) { |
270 | QString pixDir; | 271 | QString pixDir; |
271 | if(useEm) | 272 | if(useEm) |
272 | useEm=TRUE; | 273 | useEm=TRUE; |
273 | pixDir=QPEApplication::qpeDir()+"pics/gutenbrowser"; | 274 | pixDir=QPEApplication::qpeDir()+"pics/gutenbrowser"; |
274 | odebug << "Docdir is "+QPEApplication::documentDir() << oendl; | 275 | odebug << "Docdir is "+QPEApplication::documentDir() << oendl; |
275 | 276 | ||
276 | if( useIcons && QDir( pixDir).exists() ) { | 277 | if( useIcons && QDir( pixDir).exists() ) { |
277 | LibraryButton->setPixmap( Resource::loadPixmap("home") ); //in inline | 278 | LibraryButton->setPixmap( Resource::loadPixmap("home") ); //in inline |
278 | OpenButton->setPixmap( Resource::loadPixmap("gutenbrowser/openbook")); | 279 | OpenButton->setPixmap( Resource::loadPixmap("gutenbrowser/openbook")); |
279 | ForwardButton->setPixmap( Resource::loadPixmap("forward"));//in inline | 280 | ForwardButton->setPixmap( Resource::loadPixmap("forward"));//in inline |
280 | BackButton->setPixmap( Resource::loadPixmap("back") );//in inline | 281 | BackButton->setPixmap( Resource::loadPixmap("back") );//in inline |
281 | SearchButton->setPixmap( Resource::loadPixmap("gutenbrowser/search") );//in inline | 282 | SearchButton->setPixmap( Resource::loadPixmap("gutenbrowser/search") );//in inline |
282 | lastBmkButton->setPixmap( Resource::loadPixmap("gutenbrowser/bookmark_folder")); | 283 | lastBmkButton->setPixmap( Resource::loadPixmap("gutenbrowser/bookmark_folder")); |
283 | setBookmarkButton->setPixmap( Resource::loadPixmap("gutenbrowser/bookmark") ); | 284 | setBookmarkButton->setPixmap( Resource::loadPixmap("gutenbrowser/bookmark") ); |
284 | dictionaryButton->setPixmap( Resource::loadPixmap("gutenbrowser/spellcheck") ); | 285 | dictionaryButton->setPixmap( Resource::loadPixmap("gutenbrowser/spellcheck") ); |
285 | InfoBar->setPixmap( Resource::loadPixmap("gutenbrowser/google")); | 286 | InfoBar->setPixmap( Resource::loadPixmap("gutenbrowser/google")); |
286 | } | 287 | } |
287 | } | 288 | } |
288 | 289 | ||
289 | 290 | ||
290 | bool Gutenbrowser::queryExit() | 291 | bool Gutenbrowser::queryExit() |
291 | { | 292 | { |
292 | int exit=QMessageBox::information(this, "Quit...", "Do your really want to quit?", | 293 | int exit=QMessageBox::information(this, "Quit...", "Do your really want to quit?", |
293 | QMessageBox::Ok, QMessageBox::Cancel); | 294 | QMessageBox::Ok, QMessageBox::Cancel); |
294 | if (exit==1) { | 295 | if (exit==1) { |
295 | writeConfig(); | 296 | writeConfig(); |
296 | qApp->quit(); | 297 | qApp->quit(); |
297 | } else { | 298 | } else { |
298 | }; | 299 | }; |
299 | return (exit==1); | 300 | return (exit==1); |
300 | } | 301 | } |
301 | 302 | ||
302 | // SLOT IMPLEMENTATION | 303 | // SLOT IMPLEMENTATION |
303 | 304 | ||
304 | void Gutenbrowser::slotFilePrint() { | 305 | void Gutenbrowser::slotFilePrint() { |
305 | } | 306 | } |
306 | 307 | ||
307 | void Gutenbrowser::ByeBye() { | 308 | void Gutenbrowser::ByeBye() { |
308 | if (b_queryExit) | 309 | if (b_queryExit) |
309 | queryExit(); | 310 | queryExit(); |
310 | else { | 311 | else { |
311 | // writeConfig(); | 312 | // writeConfig(); |
312 | qApp->quit(); | 313 | qApp->quit(); |
313 | } | 314 | } |
314 | } | 315 | } |
315 | 316 | ||
316 | void Gutenbrowser::HelpBtn() { | 317 | void Gutenbrowser::HelpBtn() { |
317 | HelpMe* HelpDlg; | 318 | HelpMe* HelpDlg; |
318 | HelpDlg = new HelpMe( this, "Help Dialog"); | 319 | HelpDlg = new HelpMe( this, "Help Dialog"); |
319 | HelpDlg->showMaximized(); | 320 | HelpDlg->showMaximized(); |
320 | } | 321 | } |
321 | 322 | ||
322 | void Gutenbrowser::DownloadIndex() { | 323 | void Gutenbrowser::DownloadIndex() { |
323 | #ifndef Q_WS_QWS | 324 | #ifndef Q_WS_QWS |
324 | { | 325 | { |
325 | switch( QMessageBox::information( 0, (tr("Download Library Index, or FTP sites?")), | 326 | switch( QMessageBox::information( 0, (tr("Download Library Index, or FTP sites?")), |
326 | (tr("Do you want to download the newest\n" | 327 | (tr("Do you want to download the newest\n" |
327 | "Project Gutenberg Library Index?\n" | 328 | "Project Gutenberg Library Index?\n" |
328 | "or select an ftp site?\n")), | 329 | "or select an ftp site?\n")), |
329 | (tr("&Library Index")), (tr("&Ftp Site")), (tr("&Cancel")), 2, 2 ) ) | 330 | (tr("&Library Index")), (tr("&Ftp Site")), (tr("&Cancel")), 2, 2 ) ) |
330 | { | 331 | { |
331 | case 0: // index clicked, | 332 | case 0: // index clicked, |
332 | downloadLibIndex(); | 333 | downloadLibIndex(); |
333 | break; | 334 | break; |
334 | 335 | ||
335 | case 1: // ftp selected | 336 | case 1: // ftp selected |
336 | downloadFtpList(); | 337 | downloadFtpList(); |
337 | break; | 338 | break; |
338 | 339 | ||
339 | case 2: // Cancel | 340 | case 2: // Cancel |
340 | break; | 341 | break; |
341 | }; | 342 | }; |
342 | } | 343 | } |
343 | #endif | 344 | #endif |
344 | } // end DownloadIndex | 345 | } // end DownloadIndex |
345 | 346 | ||
346 | 347 | ||
347 | void Gutenbrowser::downloadFtpList() { | 348 | void Gutenbrowser::downloadFtpList() { |
348 | // QString cmd="wget http://www.promo.net/pg/list.html"); | 349 | // QString cmd="wget http://www.promo.net/pg/list.html"); |
349 | //system(cmd); | 350 | //system(cmd); |
350 | qApp->processEvents(); | 351 | qApp->processEvents(); |
351 | optionsDialog* optDlg; | 352 | optionsDialog* optDlg; |
352 | optDlg = new optionsDialog( this,"Options_Dlg", true); | 353 | optDlg = new optionsDialog( this,"Options_Dlg", true); |
353 | optDlg->getSite(); | 354 | optDlg->getSite(); |
354 | if(optDlg) | 355 | if(optDlg) |
355 | delete optDlg; | 356 | delete optDlg; |
356 | } | 357 | } |
357 | 358 | ||
358 | 359 | ||
359 | void Gutenbrowser::downloadLibIndex() { | 360 | void Gutenbrowser::downloadLibIndex() { |
360 | // QString dwmloader = local_library + "pgwhole.zip"; | 361 | // QString dwmloader = local_library + "pgwhole.zip"; |
361 | // QString cmd = "lynx -source http://www.gutenberg.net/pgwhole.zip | cat >> " + dwmloader; | 362 | // QString cmd = "lynx -source http://www.gutenberg.net/pgwhole.zip | cat >> " + dwmloader; |
362 | // system(cmd); | 363 | // system(cmd); |
363 | 364 | ||
364 | // QString outputFile= local_library+ "GUTINDEX.ALL"; | 365 | // QString outputFile= local_library+ "GUTINDEX.ALL"; |
365 | // config.setGroup( "FTPsite" ); // ftp server config | 366 | // config.setGroup( "FTPsite" ); // ftp server config |
366 | // ftp_host=config.readEntry("SiteName", ""); | 367 | // ftp_host=config.readEntry("SiteName", ""); |
367 | // ftp_base_dir= config.readEntry("base", ""); | 368 | // ftp_base_dir= config.readEntry("base", ""); |
368 | // QString networkUrl= "ftp://"+ftp_host+ftp_base_dir+"/GUTINDEX.ALL"; | 369 | // QString networkUrl= "ftp://"+ftp_host+ftp_base_dir+"/GUTINDEX.ALL"; |
369 | QDir dir( local_library); | 370 | QDir dir( local_library); |
370 | dir.cd("", TRUE); | 371 | dir.cd("", TRUE); |
371 | goGetit( "http://sailor.gutenberg.org/GUTINDEX.ALL", false); // until ghttp works on binaries -qt3 | 372 | goGetit( "http://sailor.gutenberg.org/GUTINDEX.ALL", false); // until ghttp works on binaries -qt3 |
372 | // goGetit( "http://www.gutenberg.net/pgwhole.zip", true); // until ghttp works on binaries -qt3 | 373 | // goGetit( "http://www.gutenberg.net/pgwhole.zip", true); // until ghttp works on binaries -qt3 |
373 | // NetworkDialog *NetworkDlg; | 374 | // NetworkDialog *NetworkDlg; |
374 | // NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", TRUE, 0, networkUrl, outputFile ); | 375 | // NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", TRUE, 0, networkUrl, outputFile ); |
375 | // if( NetworkDlg->exec() != 0 ) | 376 | // if( NetworkDlg->exec() != 0 ) |
376 | // { // use new, improved, *INSTANT* network-dialog-file-getterer | 377 | // { // use new, improved, *INSTANT* network-dialog-file-getterer |
377 | //// QMessageBox::message("Note",""); | 378 | //// QMessageBox::message("Note",""); |
378 | // } | 379 | // } |
379 | // if(NetworkDlg) | 380 | // if(NetworkDlg) |
380 | // delete NetworkDlg; | 381 | // delete NetworkDlg; |
381 | } | 382 | } |
382 | 383 | ||
383 | 384 | ||
384 | void Gutenbrowser::PrintBtn() { | 385 | void Gutenbrowser::PrintBtn() { |
385 | } | 386 | } |
386 | 387 | ||
387 | void Gutenbrowser::SearchBtn() { | 388 | void Gutenbrowser::SearchBtn() { |
388 | if( loadCheck) { | 389 | if( loadCheck) { |
389 | odebug << "loadCheck: we have a loaded doc" << oendl; | 390 | odebug << "loadCheck: we have a loaded doc" << oendl; |
390 | Search(); | 391 | Search(); |
391 | } | 392 | } |
392 | // else | 393 | // else |
393 | // QMessageBox::message("Note","Sorry, can't search. No etext is loaded"); | 394 | // QMessageBox::message("Note","Sorry, can't search. No etext is loaded"); |
394 | } | 395 | } |
395 | 396 | ||
396 | 397 | ||
397 | void Gutenbrowser::ForwardBtn() { | 398 | void Gutenbrowser::ForwardBtn() { |
398 | 399 | ||
399 | if( !ForwardButton->autoRepeat() && !ForwardButton->isDown()) { | 400 | if( !ForwardButton->autoRepeat() && !ForwardButton->isDown()) { |
400 | 401 | ||
401 | QString s; | 402 | QString s; |
402 | QString insertString; | 403 | QString insertString; |
403 | int pageSize= Lview->PageSize(); | 404 | int pageSize= Lview->PageSize(); |
404 | Lview->clear(); | 405 | Lview->clear(); |
405 | 406 | ||
406 | for(int fd=0; fd < pageSize - 1;fd++) { | 407 | for(int fd=0; fd < pageSize - 1;fd++) { |
407 | f.readLine(s, 256); | 408 | f.readLine(s, 256); |
408 | if(useWrap) | 409 | if(useWrap) |
409 | s.replace(QRegExp("\n"),""); | 410 | s.replace(QRegExp("\n"),""); |
410 | insertString+=s; | 411 | insertString+=s; |
411 | Lview->insertLine( s, -1); | 412 | Lview->insertLine( s, -1); |
412 | // odebug << s << oendl; | 413 | odebug << s << oendl; |
413 | currentLine++; | 414 | currentLine++; |
414 | } | 415 | } |
415 | // Lview->insertAt( insertString,0,0, FALSE); | 416 | // Lview->insertAt( insertString,0,0, FALSE); |
416 | currentFilePos = f.at(); | 417 | currentFilePos = f.at(); |
417 | // if( i_pageNum != pages) { | 418 | // if( i_pageNum != pages) { |
418 | // Lview->MultiLine_Ex::pageDown( FALSE); | 419 | // Lview->MultiLine_Ex::pageDown( FALSE); |
419 | i_pageNum++; | 420 | i_pageNum++; |
420 | pageStopArray.resize(i_pageNum + 1); | 421 | pageStopArray.resize(i_pageNum + 1); |
421 | // int length = Lview->length(); | 422 | // int length = Lview->length(); |
422 | 423 | ||
423 | pageStopArray[i_pageNum ] = currentFilePos; | 424 | pageStopArray[i_pageNum ] = currentFilePos; |
424 | // odebug << currentFilePos << " current page is number " << i_pageNum | 425 | odebug << currentFilePos << " current page is number " << i_pageNum |
425 | // << ", pagesize " << pageSize << ", length " << Lview->length() | 426 | << ", pagesize " << pageSize << ", length " << Lview->length() |
426 | // << ", current " << pageStopArray[i_pageNum] << oendl; | 427 | << ", current " << pageStopArray[i_pageNum] << oendl; |
427 | setStatus(); | 428 | setStatus(); |
428 | Lview->setCursorPosition( 0, 0, FALSE); | 429 | // Lview->setCursorPosition( 0, 0, FALSE); |
429 | // } | 430 | // } |
430 | 431 | ||
431 | } else { | 432 | } else { |
432 | // odebug << "bal" << oendl; | 433 | odebug << "bal" << oendl; |
433 | // if( i_pageNum != pages) { | 434 | // if( i_pageNum != pages) { |
434 | 435 | ||
435 | // // int newTop = Lview->Top(); | 436 | // // int newTop = Lview->Top(); |
436 | // // if(Lview->lastRow() > i) | 437 | // // if(Lview->lastRow() > i) |
437 | // Lview->ScrollUp(1); | 438 | // Lview->ScrollUp(1); |
438 | // // i_pageNum++; | 439 | // // i_pageNum++; |
439 | // setStatus(); | 440 | // setStatus(); |
440 | // Lview->setCursorPosition( Lview->Top(), 0, FALSE); | 441 | // Lview->setCursorPosition( Lview->Top(), 0, FALSE); |
441 | 442 | ||
442 | // } | 443 | // } |
443 | 444 | ||
444 | } | 445 | } |
445 | Lview->setFocus(); | 446 | Lview->setFocus(); |
446 | 447 | ||
447 | // odebug << "page number " << i_pageNum << " line number " << currentLine << "" << oendl; | 448 | odebug << "page number " << i_pageNum << " line number " << currentLine << "" << oendl; |
448 | } | 449 | } |
449 | 450 | ||
450 | 451 | ||
451 | void Gutenbrowser::BackBtn() { | 452 | void Gutenbrowser::BackBtn() { |
452 | if( i_pageNum > 0) { | 453 | if( i_pageNum > 0) { |
453 | int pageSize= Lview->PageSize(); | 454 | int pageSize= Lview->PageSize(); |
454 | // int length=Lview->length(); | 455 | // int length=Lview->length(); |
455 | 456 | ||
456 | i_pageNum--; | 457 | i_pageNum--; |
457 | currentFilePos = f.at(); | 458 | currentFilePos = f.at(); |
458 | 459 | ||
459 | // odebug << currentFilePos << " move back to " << pageStopArray[i_pageNum - 1 ] | 460 | odebug << currentFilePos << " move back to " << pageStopArray[i_pageNum - 1 ] |
460 | // << ", current page number " << i_pageNum | 461 | << ", current page number " << i_pageNum |
461 | // << ", " << pageSize << ", length " << Lview->length() << oendl; | 462 | << ", " << pageSize << ", length " << Lview->length() << oendl; |
462 | 463 | ||
463 | if( i_pageNum < 2) { | 464 | if( i_pageNum < 2) { |
464 | f.at( 0); | 465 | f.at( 0); |
465 | } else { | 466 | } else { |
466 | if(!f.at( pageStopArray[i_pageNum - 1] )) | 467 | if(!f.at( pageStopArray[i_pageNum - 1] )) |
467 | odebug << "File positioned backward did not work" << oendl; | 468 | odebug << "File positioned backward did not work" << oendl; |
468 | } | 469 | } |
469 | QString s; | 470 | QString s; |
470 | // int sizeLine=0; | 471 | // int sizeLine=0; |
471 | Lview->clear(); | 472 | Lview->clear(); |
472 | // QString insertString; | 473 | // QString insertString; |
473 | 474 | ||
474 | for(int fd = 0; fd < pageSize ;fd++) { | 475 | for(int fd = 0; fd < pageSize ;fd++) { |
475 | // Lview->removeLine( Lview->PageSize() ); | 476 | // Lview->removeLine( Lview->PageSize() ); |
476 | f.readLine(s, 256); | 477 | f.readLine(s, 256); |
477 | if(useWrap) | 478 | if(useWrap) |
478 | s.replace(QRegExp("\n"),""); | 479 | s.replace(QRegExp("\n"),""); |
479 | currentLine++; | 480 | currentLine++; |
480 | // insertString+=s; | 481 | // insertString+=s; |
481 | Lview->insertLine( s, -1); | 482 | Lview->insertLine( s, -1); |
482 | } | 483 | } |
483 | 484 | ||
484 | // Lview->insertAt( insertString,0,0, FALSE); | 485 | // Lview->insertAt( insertString,0,0, FALSE); |
485 | 486 | ||
486 | if( !BackButton->autoRepeat() && !BackButton->isDown()) { | 487 | if( !BackButton->autoRepeat() && !BackButton->isDown()) { |
487 | QString topR; | 488 | QString topR; |
488 | QString lastR; | 489 | QString lastR; |
489 | QString pageR; | 490 | QString pageR; |
490 | // int sizer = Lview->lastRow() - Lview->topRow(); | 491 | // int sizer = Lview->lastRow() - Lview->topRow(); |
491 | // int i_topRow = Lview->topRow(); | 492 | // int i_topRow = Lview->topRow(); |
492 | if( i_pageNum < 1) | 493 | if( i_pageNum < 1) |
493 | i_pageNum = 1; | 494 | i_pageNum = 1; |
494 | setCaption(QString::number(i_pageNum)); | 495 | setCaption(QString::number(i_pageNum)); |
495 | } else { | 496 | } else { |
496 | // int newTop = Lview->Top(); | 497 | // int newTop = Lview->Top(); |
497 | // if(Lview->lastRow() > i) | 498 | // if(Lview->lastRow() > i) |
498 | Lview->MultiLine_Ex::pageUp( FALSE); | 499 | Lview->MultiLine_Ex::pageUp( FALSE); |
499 | // Lview->ScrollDown(1); | 500 | // Lview->ScrollDown(1); |
500 | // i_pageNum--; | 501 | // i_pageNum--; |
501 | if( i_pageNum < 1) | 502 | if( i_pageNum < 1) |
502 | i_pageNum = 1; | 503 | i_pageNum = 1; |
503 | setStatus(); | 504 | setStatus(); |
504 | Lview->setCursorPosition( Lview->Top(), 0, FALSE); | 505 | // Lview->setCursorPosition( Lview->Top(), 0, FALSE); |
505 | 506 | ||
506 | } | 507 | } |
507 | } | 508 | } |
508 | Lview->setFocus(); | 509 | Lview->setFocus(); |
509 | } | 510 | } |
510 | 511 | ||
511 | void Gutenbrowser::doBeginBtn() { | 512 | void Gutenbrowser::doBeginBtn() { |
512 | if(loadCheck) { | 513 | if(loadCheck) { |
513 | qApp->processEvents(); | 514 | qApp->processEvents(); |
514 | BeginBtn(); | 515 | BeginBtn(); |
515 | } | 516 | } |
516 | } | 517 | } |
517 | 518 | ||
518 | // moves text to the very top = 0 | 519 | // moves text to the very top = 0 |
519 | void Gutenbrowser::TopBtn() { | 520 | void Gutenbrowser::TopBtn() { |
520 | 521 | ||
521 | if(loadCheck) { | 522 | if(loadCheck) { |
522 | if( i_pageNum != 0) { | 523 | if( i_pageNum != 0) { |
523 | odebug << "top" << oendl; | 524 | odebug << "top" << oendl; |
524 | qApp->processEvents(); | 525 | qApp->processEvents(); |
525 | currentLine = 0; | 526 | currentLine = 0; |
526 | i_pageNum = 1; | 527 | i_pageNum = 1; |
527 | int pageSize = Lview->PageSize() ; | 528 | int pageSize = Lview->PageSize() ; |
528 | Lview->clear(); | 529 | Lview->clear(); |
529 | QString s; | 530 | QString s; |
530 | f.at(0); | 531 | f.at(0); |
531 | for(int fd=0; fd < pageSize ;fd++) { | 532 | for(int fd=0; fd < pageSize ;fd++) { |
532 | f.readLine(s, 256); | 533 | f.readLine(s, 256); |
533 | if(useWrap) | 534 | if(useWrap) |
534 | s.replace(QRegExp("\n"),""); | 535 | s.replace(QRegExp("\n"),""); |
535 | Lview->insertLine(s ,-1); | 536 | Lview->insertLine(s ,-1); |
536 | currentLine++; | 537 | currentLine++; |
537 | } | 538 | } |
538 | Lview->setCursorPosition( 0,0, FALSE); | 539 | // Lview->setCursorPosition( 0,0, FALSE); |
539 | i_pageNum=1; | 540 | i_pageNum=1; |
540 | setStatus(); | 541 | setStatus(); |
541 | } | 542 | } |
542 | Lview->setFocus(); | 543 | Lview->setFocus(); |
543 | } | 544 | } |
544 | } | 545 | } |
545 | 546 | ||
546 | //moves text to the start of the EText | 547 | //moves text to the start of the EText |
547 | void Gutenbrowser::BeginBtn() { | 548 | void Gutenbrowser::BeginBtn() { |
548 | i_pageNum = 1; | 549 | i_pageNum = 1; |
549 | currentLine = 0; | 550 | currentLine = 0; |
550 | QString s_pattern="*END*THE SMALL PRINT"; | 551 | QString s_pattern="*END*THE SMALL PRINT"; |
551 | QString sPattern2 = "*END THE SMALL PRINT"; | 552 | QString sPattern2 = "*END THE SMALL PRINT"; |
552 | 553 | ||
553 | int pageSize = Lview->PageSize(); | 554 | int pageSize = Lview->PageSize(); |
554 | Lview->clear(); | 555 | Lview->clear(); |
555 | 556 | ||
556 | // int lines = Lview->numLines(); | 557 | // int lines = Lview->numLines(); |
557 | int pos = 0;//, i = 0; | 558 | int pos = 0;//, i = 0; |
558 | int i_topRow = Lview->topRow(); | 559 | int i_topRow = Lview->topRow(); |
559 | 560 | ||
560 | QString LeftText;// = Lview->text(); | 561 | QString LeftText;// = Lview->text(); |
561 | 562 | ||
562 | int linesPerPage = Lview->lastRow() - Lview->topRow(); | 563 | int linesPerPage = Lview->lastRow() - Lview->topRow(); |
563 | // int pages = (( linesPerPage / Lview->editSize() ) ) +1; | 564 | // int pages = (( linesPerPage / Lview->editSize() ) ) +1; |
564 | // int pageN = 0; | 565 | // int pageN = 0; |
565 | i_pageNum = 1; | 566 | i_pageNum = 1; |
566 | int lastPage=1; | 567 | int lastPage=1; |
567 | int lineNo=0; | 568 | int lineNo=0; |
568 | QString s; | 569 | QString s; |
569 | f.at( 0); | 570 | f.at( 0); |
570 | 571 | ||
571 | while ( !f.atEnd() ) { | 572 | while ( !f.atEnd() ) { |
572 | f.readLine(s, 256); | 573 | f.readLine(s, 256); |
573 | lineNo++; | 574 | lineNo++; |
574 | LeftText = s; | 575 | LeftText = s; |
575 | currentFilePos = f.at(); | 576 | currentFilePos = f.at(); |
576 | 577 | ||
577 | i_pageNum = lineNo/pageSize; | 578 | i_pageNum = lineNo/pageSize; |
578 | if(lastPage < i_pageNum) { | 579 | if(lastPage < i_pageNum) { |
579 | pageStopArray.resize(i_pageNum + 1); | 580 | pageStopArray.resize(i_pageNum + 1); |
580 | pageStopArray[i_pageNum ] = currentFilePos; | 581 | pageStopArray[i_pageNum ] = currentFilePos; |
581 | // odebug << "new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl; | 582 | odebug << "new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl; |
582 | } | 583 | } |
583 | // lastPage = i_pageNum; | 584 | // lastPage = i_pageNum; |
584 | if( LeftText.find( s_pattern, 0 , TRUE) != -1 || LeftText.find( sPattern2, 0 , TRUE) != -1 ) { | 585 | if( LeftText.find( s_pattern, 0 , TRUE) != -1 || LeftText.find( sPattern2, 0 , TRUE) != -1 ) { |
585 | odebug << "<<<<<< FOUND IT!! new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl; | 586 | odebug << "<<<<<< FOUND IT!! new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl; |
586 | break; | 587 | break; |
587 | } | 588 | } |
588 | } | 589 | } |
589 | if(f.atEnd()) //in case we didnt find anything, we need to show something | 590 | if(f.atEnd()) //in case we didnt find anything, we need to show something |
590 | f.at(0); | 591 | f.at(0); |
591 | Lview->clear(); | 592 | Lview->clear(); |
592 | for(int fd=0; fd < pageSize - 1;fd++) { | 593 | for(int fd=0; fd < pageSize - 1;fd++) { |
593 | f.readLine(s, 256); | 594 | f.readLine(s, 256); |
594 | if(useWrap) | 595 | if(useWrap) |
595 | s.replace(QRegExp("\n"),""); | 596 | s.replace(QRegExp("\n"),""); |
596 | Lview->insertLine( s, -1); | 597 | Lview->insertLine( s, -1); |
597 | currentLine++; | 598 | currentLine++; |
598 | } | 599 | } |
599 | 600 | ||
600 | i_pageNum = lineNo/pageSize; | 601 | i_pageNum = lineNo/pageSize; |
601 | pageStopArray.resize(i_pageNum + 1); | 602 | pageStopArray.resize(i_pageNum + 1); |
602 | // int length = Lview->length(); | 603 | // int length = Lview->length(); |
603 | 604 | ||
604 | qApp->processEvents(); | 605 | qApp->processEvents(); |
605 | 606 | ||
606 | if( pos > i_topRow ) { | 607 | if( pos > i_topRow ) { |
607 | Lview->setCursorPosition( pos+linesPerPage+2/* - i_topRow+3 */,0, FALSE); | 608 | // Lview->setCursorPosition( pos+linesPerPage+2/* - i_topRow+3 */,0, FALSE); |
608 | } else { | 609 | } else { |
609 | Lview->setCursorPosition( pos+2 , 0, FALSE ); | 610 | // Lview->setCursorPosition( pos+2 , 0, FALSE ); |
610 | } | 611 | } |
611 | 612 | ||
612 | Lview->deselect(); | 613 | Lview->deselect(); |
613 | // AdjustStatus(); | 614 | // AdjustStatus(); |
614 | Lview->setFocus(); | 615 | Lview->setFocus(); |
615 | } | 616 | } |
616 | 617 | ||
617 | /* | 618 | /* |
618 | sets the current page and place as a bookmark*/ | 619 | sets the current page and place as a bookmark*/ |
619 | void Gutenbrowser::setBookmark() { | 620 | void Gutenbrowser::setBookmark() { |
620 | int eexit=QMessageBox::information(this, "Note", | 621 | int eexit=QMessageBox::information(this, "Note", |
621 | "Do you really want to \nset this bookmark?." | 622 | "Do you really want to \nset this bookmark?." |
622 | ,QMessageBox::Yes, QMessageBox::No); | 623 | ,QMessageBox::Yes, QMessageBox::No); |
623 | if (eexit== 3) { | 624 | if (eexit== 3) { |
624 | 625 | ||
625 | currentFilePos = f.at(); | 626 | currentFilePos = f.at(); |
626 | 627 | ||
627 | Config cfg("Gutenbrowser"); | 628 | Config cfg("Gutenbrowser"); |
628 | cfg.setGroup("General"); | 629 | cfg.setGroup("General"); |
629 | file_name=cfg.readEntry("Current",""); | 630 | file_name=cfg.readEntry("Current",""); |
630 | qApp->processEvents(); | 631 | qApp->processEvents(); |
631 | odebug << "Settingbook mark "+file_name << oendl; | 632 | odebug << "Settingbook mark "+file_name << oendl; |
632 | 633 | ||
633 | cfg.setGroup("Titles"); | 634 | cfg.setGroup("Titles"); |
634 | title=cfg.readEntry(file_name,""); | 635 | title=cfg.readEntry(file_name,""); |
635 | odebug << "title is "+ title << oendl; | 636 | odebug << "title is "+ title << oendl; |
636 | 637 | ||
637 | cfg.setGroup( "Bookmarks" ); | 638 | cfg.setGroup( "Bookmarks" ); |
638 | 639 | ||
639 | cfg.writeEntry("File Name",file_name); | 640 | cfg.writeEntry("File Name",file_name); |
640 | cfg.writeEntry("Page Number",QString::number(i_pageNum) ); | 641 | cfg.writeEntry("Page Number",QString::number(i_pageNum) ); |
641 | cfg.writeEntry( "PagePosition", QString::number( pageStopArray[i_pageNum - 1])); | 642 | cfg.writeEntry( "PagePosition", QString::number( pageStopArray[i_pageNum - 1])); |
642 | cfg.writeEntry("Title", title); | 643 | cfg.writeEntry("Title", title); |
643 | 644 | ||
644 | int row = Lview->topRow();// Lview->Top(); | 645 | int row = Lview->topRow();// Lview->Top(); |
645 | cfg.writeEntry("LineNumber",QString::number(row) ); | 646 | cfg.writeEntry("LineNumber",QString::number(row) ); |
646 | 647 | ||
647 | cfg.setGroup(title); | 648 | cfg.setGroup(title); |
648 | cfg.writeEntry("File Name",file_name); | 649 | cfg.writeEntry("File Name",file_name); |
649 | cfg.writeEntry( "LineNumber", QString::number( row)); | 650 | cfg.writeEntry( "LineNumber", QString::number( row)); |
650 | cfg.writeEntry( "PagePosition", QString::number( pageStopArray[i_pageNum - 1])); | 651 | cfg.writeEntry( "PagePosition", QString::number( pageStopArray[i_pageNum - 1])); |
651 | cfg.writeEntry( "Page Number", QString::number( i_pageNum) ); | 652 | cfg.writeEntry( "Page Number", QString::number( i_pageNum) ); |
652 | bookmarksMenu->insertItem( title); | 653 | bookmarksMenu->insertItem( title); |
653 | } | 654 | } |
654 | } //end setBookmark | 655 | } //end setBookmark |
655 | 656 | ||
656 | 657 | ||
657 | /* goes to last set bookmark*/ | 658 | /* goes to last set bookmark*/ |
658 | void Gutenbrowser::Bookmark( int itemId) { | 659 | void Gutenbrowser::Bookmark( int itemId) { |
659 | 660 | ||
660 | // qApp->processEvents(); | 661 | // qApp->processEvents(); |
661 | Config config("Gutenbrowser"); | 662 | Config config("Gutenbrowser"); |
662 | config.setGroup( "Bookmarks" ); | 663 | config.setGroup( "Bookmarks" ); |
663 | 664 | ||
664 | // odebug << "<<<<<< " << Lview->PageSize() << ", " << Lview->lastRow() - Lview->topRow() << "" << oendl; | 665 | odebug << "<<<<<< " << Lview->PageSize() << ", " << Lview->lastRow() - Lview->topRow() << "" << oendl; |
665 | 666 | ||
666 | QString itemString; | 667 | QString itemString; |
667 | 668 | ||
668 | odebug << "menu item " << itemId << "" << oendl; | 669 | odebug << "menu item " << itemId << "" << oendl; |
669 | QString tempTitle; | 670 | QString tempTitle; |
670 | QString s_Bmrkrow; | 671 | QString s_Bmrkrow; |
671 | QString s_pageNum; | 672 | QString s_pageNum; |
672 | int Bmrkrow=0; | 673 | int Bmrkrow=0; |
673 | int bookmarkPosition = 0; | 674 | int bookmarkPosition = 0; |
674 | 675 | ||
675 | // qApp->processEvents(); | 676 | // qApp->processEvents(); |
676 | config.setGroup( "Bookmarks" ); | 677 | config.setGroup( "Bookmarks" ); |
677 | title = config.readEntry("Title", ""); | 678 | title = config.readEntry("Title", ""); |
678 | file_name = config.readEntry("File Name", ""); | 679 | file_name = config.readEntry("File Name", ""); |
679 | i_pageNum = config.readNumEntry("Page Number", 0); | 680 | i_pageNum = config.readNumEntry("Page Number", 0); |
680 | bookmarkPosition = config.readNumEntry( "PagePosition",0); | 681 | bookmarkPosition = config.readNumEntry( "PagePosition",0); |
681 | Bmrkrow = config.readNumEntry("LineNumber",0); | 682 | Bmrkrow = config.readNumEntry("LineNumber",0); |
682 | if( !file_name.contains("/")) { | 683 | if( !file_name.contains("/")) { |
683 | file_name = local_library + file_name; | 684 | file_name = local_library + file_name; |
684 | } | 685 | } |
685 | 686 | ||
686 | // getTitle(file_name); | 687 | // getTitle(file_name); |
687 | // qApp->processEvents(); | 688 | // qApp->processEvents(); |
688 | // Lview->setFocus(); | 689 | // Lview->setFocus(); |
689 | this->setFocus(); | 690 | this->setFocus(); |
690 | 691 | ||
691 | Lview->clear(); | 692 | Lview->clear(); |
692 | 693 | ||
693 | load(file_name); | 694 | load(file_name); |
694 | 695 | ||
695 | int pageSize= Lview->PageSize(); | 696 | int pageSize= Lview->PageSize(); |
696 | f.at(0); | 697 | f.at(0); |
697 | // Lview->clear(); | 698 | // Lview->clear(); |
698 | QString s; | 699 | QString s; |
699 | int lineNo=0; | 700 | int lineNo=0; |
700 | int lastPage=1; | 701 | int lastPage=1; |
701 | while ( !f.atEnd() ) { | 702 | while ( !f.atEnd() ) { |
702 | f.readLine(s, 256); | 703 | f.readLine(s, 256); |
703 | lineNo++; | 704 | lineNo++; |
704 | currentFilePos = f.at(); | 705 | currentFilePos = f.at(); |
705 | 706 | ||
706 | i_pageNum = lineNo/pageSize; | 707 | i_pageNum = lineNo/pageSize; |
707 | if(lastPage < i_pageNum) { | 708 | if(lastPage < i_pageNum) { |
708 | pageStopArray.resize(i_pageNum + 1); | 709 | pageStopArray.resize(i_pageNum + 1); |
709 | pageStopArray[i_pageNum ] = currentFilePos; | 710 | pageStopArray[i_pageNum ] = currentFilePos; |
710 | // odebug << "new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl; | 711 | odebug << "new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl; |
711 | } | 712 | } |
712 | if(currentFilePos == bookmarkPosition) | 713 | if(currentFilePos == bookmarkPosition) |
713 | break; | 714 | break; |
714 | } | 715 | } |
715 | if(f.atEnd()) | 716 | if(f.atEnd()) |
716 | f.at(0); | 717 | f.at(0); |
717 | else | 718 | else |
718 | f.at( bookmarkPosition); | 719 | f.at( bookmarkPosition); |
719 | 720 | ||
720 | for(int fd=0; fd < pageSize - 1;fd++) { | 721 | for(int fd=0; fd < pageSize - 1;fd++) { |
721 | f.readLine(s, 256); | 722 | f.readLine(s, 256); |
722 | lineNo++; | 723 | lineNo++; |
723 | if(useWrap) | 724 | if(useWrap) |
724 | s.replace(QRegExp("\n"),""); | 725 | s.replace(QRegExp("\n"),""); |
725 | Lview->insertLine( s, -1); | 726 | Lview->insertLine( s, -1); |
726 | currentLine++; | 727 | currentLine++; |
727 | } | 728 | } |
728 | 729 | ||
729 | i_pageNum = lineNo/pageSize; | 730 | i_pageNum = lineNo/pageSize; |
730 | pageStopArray.resize(i_pageNum + 1); | 731 | pageStopArray.resize(i_pageNum + 1); |
731 | 732 | ||
732 | if(showMainList) { | 733 | if(showMainList) { |
733 | showMainList=FALSE; | 734 | showMainList=FALSE; |
734 | mainList->hide(); | 735 | mainList->hide(); |
735 | Lview->show(); | 736 | Lview->show(); |
736 | // qApp->processEvents(); | 737 | // qApp->processEvents(); |
737 | } | 738 | } |
738 | 739 | ||
739 | odebug << "bookmark loaded" << oendl; | 740 | odebug << "bookmark loaded" << oendl; |
740 | setCaption(title); | 741 | setCaption(title); |
741 | } | 742 | } |
742 | 743 | ||
743 | 744 | ||
744 | bool Gutenbrowser::load( const char *fileName) { | 745 | bool Gutenbrowser::load( const char *fileName) { |
745 | 746 | ||
746 | // QCopEnvelope ( "QPE/System", "busy()" ); | 747 | // QCopEnvelope ( "QPE/System", "busy()" ); |
747 | // odebug << "Title is already set as "+title << oendl; | 748 | odebug << "Title is already set as "+title << oendl; |
748 | odebug << "sizeHint " << sizeHint().height() << " pageSize " << Lview->PageSize() << "" << oendl; | 749 | odebug << "sizeHint " << sizeHint().height() << " pageSize " << Lview->PageSize() << "" << oendl; |
749 | if( Lview->PageSize() < 4) { | 750 | if( Lview->PageSize() < 4) { |
750 | 751 | ||
751 | Lview->setMaximumHeight( sizeHint().height() ); | 752 | Lview->setMaximumHeight( sizeHint().height() ); |
752 | Lview->setMinimumHeight( sizeHint().height() ); | 753 | Lview->setMinimumHeight( sizeHint().height() ); |
753 | pointSize = Lview->fontInfo().pointSize(); | 754 | pointSize = Lview->fontInfo().pointSize(); |
754 | odebug << "sizeHint " << sizeHint().height() << " point size " << pointSize << "" << oendl; | 755 | odebug << "sizeHint " << sizeHint().height() << " point size " << pointSize << "" << oendl; |
755 | if(pointSize < 10) | 756 | if(pointSize < 10) |
756 | Lview->setFixedVisibleLines(19); | 757 | Lview->setFixedVisibleLines(19); |
757 | else | 758 | else |
758 | Lview->setFixedVisibleLines( ( (sizeHint().height() / pointSize ) * 2) -2); | 759 | Lview->setFixedVisibleLines( ( (sizeHint().height() / pointSize ) * 2) -2); |
759 | } | 760 | } |
760 | 761 | ||
761 | Config cfg("Gutenbrowser"); | 762 | Config cfg("Gutenbrowser"); |
762 | cfg.setGroup("General"); | 763 | cfg.setGroup("General"); |
763 | cfg.writeEntry("Current",fileName); | 764 | cfg.writeEntry("Current",fileName); |
764 | currentLine=0; | 765 | currentLine=0; |
765 | 766 | ||
766 | file_name=fileName; | 767 | file_name=fileName; |
767 | QString o_file = fileName; | 768 | QString o_file = fileName; |
768 | 769 | ||
769 | // if (i_pageNum < 1) { | 770 | // if (i_pageNum < 1) { |
770 | i_pageNum = 1; | 771 | i_pageNum = 1; |
771 | // } | 772 | // } |
772 | odebug << "ready to open "+o_file << oendl; | 773 | odebug << "ready to open "+o_file << oendl; |
773 | 774 | ||
774 | if(f.isOpen()) f.close(); | 775 | if(f.isOpen()) f.close(); |
775 | f.setName( o_file); | 776 | f.setName( o_file); |
776 | 777 | ||
777 | if ( !f.open( IO_ReadOnly)) { | 778 | if ( !f.open( IO_ReadOnly)) { |
778 | QMessageBox::message( (tr("Note")), (tr("File not opened sucessfully.\n" +o_file)) ); | 779 | QMessageBox::message( (tr("Note")), (tr("File not opened sucessfully.\n" +o_file)) ); |
779 | return false; | 780 | return false; |
780 | } | 781 | } |
781 | currentFilePos = 0; | 782 | currentFilePos = 0; |
782 | pageStopArray.resize(3); | 783 | pageStopArray.resize(3); |
783 | pageStopArray[0] = currentFilePos; | 784 | pageStopArray[0] = currentFilePos; |
784 | 785 | ||
785 | fileHandle = f.handle(); | 786 | fileHandle = f.handle(); |
786 | QString insertString; | 787 | QString insertString; |
787 | QTextStream t(&f); | 788 | QTextStream t(&f); |
788 | QString s; | 789 | QString s; |
789 | for(int fd=0; fd < Lview->PageSize() ;fd++) { | 790 | for(int fd=0; fd < Lview->PageSize() ;fd++) { |
790 | s=t.readLine(); | 791 | s=t.readLine(); |
791 | // insertString+=s; | 792 | // insertString+=s; |
792 | if(useWrap) | 793 | if(useWrap) |
793 | s.replace(QRegExp("\n"),""); | 794 | s.replace(QRegExp("\n"),""); |
794 | // s.replace(QRegExp("\r"),""); | 795 | // s.replace(QRegExp("\r"),""); |
795 | Lview->insertLine( s,-1); | 796 | Lview->insertLine( s,-1); |
796 | currentLine++; | 797 | currentLine++; |
797 | } | 798 | } |
798 | 799 | ||
799 | // int length = Lview->length(); | 800 | // int length = Lview->length(); |
800 | currentFilePos = f.at(); | 801 | currentFilePos = f.at(); |
801 | 802 | ||
802 | pageStopArray[1] = currentFilePos; | 803 | pageStopArray[1] = currentFilePos; |
803 | 804 | ||
804 | odebug << "<<<<<<<<<<<" << currentFilePos << " current page is number " << i_pageNum | 805 | odebug << "<<<<<<<<<<<" << currentFilePos << " current page is number " << i_pageNum |
805 | << ", length " << Lview->length() << ", current " << pageStopArray[i_pageNum] | 806 | << ", length " << Lview->length() << ", current " << pageStopArray[i_pageNum] |
806 | << ", pageSize " << Lview->PageSize() << oendl; | 807 | << ", pageSize " << Lview->PageSize() << oendl; |
807 | 808 | ||
808 | Lview->setMaxLines(Lview->PageSize()*2); | 809 | Lview->setMaxLines(Lview->PageSize()*2); |
809 | odebug << "Gulped " << currentLine << "" << oendl; | 810 | odebug << "Gulped " << currentLine << "" << oendl; |
810 | setCaption(title); | 811 | setCaption(title); |
811 | Lview->setAutoUpdate( TRUE); | 812 | Lview->setAutoUpdate( TRUE); |
812 | 813 | ||
813 | Lview->setCursorPosition(0,0,FALSE); | 814 | // Lview->setCursorPosition(0,0,FALSE); |
814 | 815 | ||
815 | // pages = (int)(( Lview->numLines() / Lview->editSize() ) / 2 ) +1; | 816 | // pages = (int)(( Lview->numLines() / Lview->editSize() ) / 2 ) +1; |
816 | //odebug << "number of pages " << pages << "" << oendl; | 817 | //odebug << "number of pages " << pages << "" << oendl; |
817 | 818 | ||
818 | loadCheck = true; | 819 | loadCheck = true; |
819 | enableButtons(true); | 820 | enableButtons(true); |
820 | if( donateMenu->count() == 3) { | 821 | if( donateMenu->count() == 3) { |
821 | donateMenu->insertItem("Current Title", this, SLOT( InfoBarClick() )); | 822 | donateMenu->insertItem("Current Title", this, SLOT( InfoBarClick() )); |
822 | } | 823 | } |
823 | Lview->setFocus(); | 824 | Lview->setFocus(); |
824 | 825 | ||
825 | // QCopEnvelope("QPE/System", "notBusy()" ); | 826 | // QCopEnvelope("QPE/System", "notBusy()" ); |
826 | return true; | 827 | return true; |
827 | } // end load | 828 | } // end load |
828 | 829 | ||
829 | void Gutenbrowser::Search() { | 830 | void Gutenbrowser::Search() { |
830 | 831 | ||
831 | // if( searchDlg->isHidden()) | 832 | // if( searchDlg->isHidden()) |
832 | { | 833 | { |
833 | odebug << "Starting search dialog" << oendl; | 834 | odebug << "Starting search dialog" << oendl; |
834 | searchDlg = new SearchDialog( this, "Etext Search", true); | 835 | searchDlg = new SearchDialog( this, "Etext Search", true); |
835 | searchDlg->setCaption( tr( "Etext Search" )); | 836 | searchDlg->setCaption( tr( "Etext Search" )); |
836 | // searchDlg->setLabel( "- searches etext"); | 837 | // searchDlg->setLabel( "- searches etext"); |
837 | connect( searchDlg,SIGNAL( search_signal()),this,SLOT( search_slot())); | 838 | connect( searchDlg,SIGNAL( search_signal()),this,SLOT( search_slot())); |
838 | connect( searchDlg,SIGNAL( search_done_signal()),this,SLOT( searchdone_slot())); | 839 | connect( searchDlg,SIGNAL( search_done_signal()),this,SLOT( searchdone_slot())); |
839 | 840 | ||
840 | QString resultString; | 841 | QString resultString; |
841 | QString string = searchDlg->searchString; | 842 | QString string = searchDlg->searchString; |
842 | Lview->deselect(); | 843 | Lview->deselect(); |
843 | searchDlg->show(); | 844 | searchDlg->show(); |
844 | searchDlg->result(); | 845 | searchDlg->result(); |
845 | } | 846 | } |
846 | } | 847 | } |
847 | 848 | ||
848 | void Gutenbrowser::search_slot( ) { | 849 | void Gutenbrowser::search_slot( ) { |
849 | int line, col; | 850 | int line, col; |
850 | if (!searchDlg /*&& !loadCheck */) | 851 | if (!searchDlg /*&& !loadCheck */) |
851 | return; | 852 | return; |
852 | 853 | ||
853 | Lview->getCursorPosition(&line,&col); | 854 | Lview->getCursorPosition(&line,&col); |
854 | QString to_find_string=searchDlg->get_text(); | 855 | QString to_find_string=searchDlg->get_text(); |
855 | 856 | ||
856 | // searchDlg->get_direction();// is true if searching backward | 857 | // searchDlg->get_direction();// is true if searching backward |
857 | if ( last_search != 0 && searchDlg->get_direction() ){ | 858 | if ( last_search != 0 && searchDlg->get_direction() ){ |
858 | col = col - pattern.length() - 1 ; | 859 | col = col - pattern.length() - 1 ; |
859 | } | 860 | } |
860 | again: | 861 | again: |
861 | int result = doSearch( to_find_string , /* searchDlg->case_sensitive()*/ TRUE, searchDlg->forward_search(), line, col); | 862 | int result = doSearch( to_find_string , /* searchDlg->case_sensitive()*/ TRUE, searchDlg->forward_search(), line, col); |
862 | if(result == 0){ | 863 | if(result == 0){ |
863 | if(!searchDlg->get_direction()){ // forward search | 864 | if(!searchDlg->get_direction()){ // forward search |
864 | int query = QMessageBox::information( searchDlg, "Find", | 865 | int query = QMessageBox::information( searchDlg, "Find", |
865 | "End of document reached.\nContinue from the beginning?", | 866 | "End of document reached.\nContinue from the beginning?", |
866 | "Yes", "No", "", 0,1); | 867 | "Yes", "No", "", 0,1); |
867 | if (query == 0){ | 868 | if (query == 0){ |
868 | line = 0; | 869 | line = 0; |
869 | col = 0; | 870 | col = 0; |
870 | goto again; | 871 | goto again; |
871 | } | 872 | } |
872 | } else { //backward search | 873 | } else { //backward search |
873 | int query = QMessageBox::information( searchDlg, "Find", | 874 | int query = QMessageBox::information( searchDlg, "Find", |
874 | "End of document reached.\nContinue from the beginning?", | 875 | "End of document reached.\nContinue from the beginning?", |
875 | "Yes", "No", "", 0,1); | 876 | "Yes", "No", "", 0,1); |
876 | if (query == 0){ | 877 | if (query == 0){ |
877 | QString string = Lview->textLine( Lview->numLines() - 1 ); | 878 | QString string = Lview->textLine( Lview->numLines() - 1 ); |
878 | line = Lview->numLines() - 1; | 879 | line = Lview->numLines() - 1; |
879 | lineCheck = line; | 880 | lineCheck = line; |
880 | col = string.length(); | 881 | col = string.length(); |
881 | last_search = -1; //BACKWARD; | 882 | last_search = -1; //BACKWARD; |
882 | goto again; | 883 | goto again; |
883 | } | 884 | } |
884 | } | 885 | } |
885 | } else { | 886 | } else { |
886 | 887 | ||
887 | //// emit CursorPositionChanged(); textLine | 888 | //// emit CursorPositionChanged(); textLine |
888 | } | 889 | } |
889 | } | 890 | } |
890 | 891 | ||
891 | int Gutenbrowser::doSearch( const QString &s_pattern , bool case_sensitive, bool forward, int line, int col ) { | 892 | int Gutenbrowser::doSearch( const QString &s_pattern , bool case_sensitive, bool forward, int line, int col ) { |
892 | int i, length; | 893 | int i, length; |
893 | int pos = -1; | 894 | int pos = -1; |
894 | if(forward) { | 895 | if(forward) { |
895 | QString string; | 896 | QString string; |
896 | for(i = line; i < Lview->numLines(); i++) { | 897 | for(i = line; i < Lview->numLines(); i++) { |
897 | 898 | ||
898 | string = Lview->textLine(i); | 899 | string = Lview->textLine(i); |
899 | pos = string.find(s_pattern, i == line ? col : 0, case_sensitive); | 900 | pos = string.find(s_pattern, i == line ? col : 0, case_sensitive); |
900 | if( pos != -1) { | 901 | if( pos != -1) { |
901 | int top = Lview->Top(); | 902 | int top = Lview->Top(); |
902 | length = s_pattern.length(); | 903 | length = s_pattern.length(); |
903 | if( i > Lview->lastRow() ) { | 904 | if( i > Lview->lastRow() ) { |
904 | Lview->setCursorPosition(i,pos,FALSE); | 905 | // Lview->setCursorPosition(i,pos,FALSE); |
905 | for(int l = 0 ; l < length; l++) { | 906 | for(int l = 0 ; l < length; l++) { |
906 | Lview->cursorRight(TRUE); | 907 | Lview->cursorRight(TRUE); |
907 | } | 908 | } |
908 | Lview->setCursorPosition( i , pos + length, TRUE ); | 909 | // Lview->setCursorPosition( i , pos + length, TRUE ); |
909 | int newTop = Lview->Top(); | 910 | int newTop = Lview->Top(); |
910 | if(Lview->lastRow() > i) | 911 | if(Lview->lastRow() > i) |
911 | Lview->ScrollUp( newTop - top); | 912 | Lview->ScrollUp( newTop - top); |
912 | // AdjustStatus(); | 913 | // AdjustStatus(); |
913 | } else { | 914 | } else { |
914 | Lview->setCursorPosition(i,pos,FALSE); | 915 | // Lview->setCursorPosition(i,pos,FALSE); |
915 | for(int l = 0 ; l < length; l++) { | 916 | for(int l = 0 ; l < length; l++) { |
916 | Lview->cursorRight(TRUE); | 917 | Lview->cursorRight(TRUE); |
917 | } | 918 | } |
918 | Lview->setCursorPosition( i , pos + length, TRUE ); | 919 | // Lview->setCursorPosition( i , pos + length, TRUE ); |
919 | // AdjustStatus(); | 920 | // AdjustStatus(); |
920 | } | 921 | } |
921 | pattern = s_pattern; | 922 | pattern = s_pattern; |
922 | last_search = 1; //FORWARD; | 923 | last_search = 1; //FORWARD; |
923 | return 1; | 924 | return 1; |
924 | } | 925 | } |
925 | } | 926 | } |
926 | } else { //////////////// searching backwards | 927 | } else { //////////////// searching backwards |
927 | QString string; | 928 | QString string; |
928 | for( i = line; i >= 0; i--) { | 929 | for( i = line; i >= 0; i--) { |
929 | string = Lview->textLine(i); | 930 | string = Lview->textLine(i); |
930 | int line_length = string.length(); | 931 | int line_length = string.length(); |
931 | pos = string.findRev(s_pattern, line == i ? col : line_length , case_sensitive); | 932 | pos = string.findRev(s_pattern, line == i ? col : line_length , case_sensitive); |
932 | if (pos != -1) { | 933 | if (pos != -1) { |
933 | // int top = Lview->Top(); | 934 | // int top = Lview->Top(); |
934 | length = s_pattern.length(); | 935 | length = s_pattern.length(); |
935 | if( i < Lview->Top() ) { | 936 | if( i < Lview->Top() ) { |
936 | Lview->ScrollDown( Lview->PageSize() ); | 937 | Lview->ScrollDown( Lview->PageSize() ); |
937 | Lview->MultiLine_Ex::pageUp( FALSE ); | 938 | Lview->MultiLine_Ex::pageUp( FALSE ); |
938 | if( ! (line == i && pos > col ) ) { | 939 | if( ! (line == i && pos > col ) ) { |
939 | Lview->setCursorPosition( i ,pos ,FALSE ); | 940 | // Lview->setCursorPosition( i ,pos ,FALSE ); |
940 | for(int l = 0 ; l < length; l++) { | 941 | for(int l = 0 ; l < length; l++) { |
941 | Lview->cursorRight(TRUE); | 942 | Lview->cursorRight(TRUE); |
942 | } | 943 | } |
943 | Lview->setCursorPosition(i ,pos + length ,TRUE ); | 944 | // Lview->setCursorPosition(i ,pos + length ,TRUE ); |
944 | // int newTop = Lview->Top(); | 945 | // int newTop = Lview->Top(); |
945 | /* if(useSplitter) Rview->ScrollUp( newTop - top); | 946 | /* if(useSplitter) Rview->ScrollUp( newTop - top); |
946 | */ } | 947 | */ } |
947 | } else { | 948 | } else { |
948 | if( ! (line == i && pos > col ) ) { | 949 | if( ! (line == i && pos > col ) ) { |
949 | Lview->setCursorPosition( i, pos, FALSE ); | 950 | // Lview->setCursorPosition( i, pos, FALSE ); |
950 | for( int l = 0 ; l < length; l++) { | 951 | for( int l = 0 ; l < length; l++) { |
951 | Lview->cursorRight( TRUE); | 952 | Lview->cursorRight( TRUE); |
952 | } | 953 | } |
953 | Lview->setCursorPosition( i, pos + length, TRUE ); | 954 | // Lview->setCursorPosition( i, pos + length, TRUE ); |
954 | } | 955 | } |
955 | pattern = s_pattern; | 956 | pattern = s_pattern; |
956 | last_search = -1; | 957 | last_search = -1; |
957 | return 1; | 958 | return 1; |
958 | } | 959 | } |
959 | } | 960 | } |
960 | } | 961 | } |
961 | } | 962 | } |
962 | return 0; | 963 | return 0; |
963 | } | 964 | } |
964 | 965 | ||
965 | void Gutenbrowser::LibraryBtn() { | 966 | void Gutenbrowser::LibraryBtn() { |
966 | 967 | ||
967 | QString newestLibraryFile ="pgwhole.zip"; | 968 | QString newestLibraryFile ="pgwhole.zip"; |
968 | QString zipFile; | 969 | QString zipFile; |
969 | // odebug << "Local Library is " << local_library << " " << oendl; | 970 | // odebug << "Local Library is " << local_library << " " << oendl; |
970 | zipFile="/usr/bin/unzip"; | 971 | zipFile="/usr/bin/unzip"; |
971 | // odebug << "newestLibraryFile is " << newestLibraryFile << " " << oendl; | 972 | // odebug << "newestLibraryFile is " << newestLibraryFile << " " << oendl; |
972 | if( QFile::exists( local_library+newestLibraryFile)) { | 973 | if( QFile::exists( local_library+newestLibraryFile)) { |
973 | if( QFile::exists(zipFile) ) { | 974 | if( QFile::exists(zipFile) ) { |
974 | UnZipIt(newestLibraryFile); | 975 | UnZipIt(newestLibraryFile); |
975 | } | 976 | } |
976 | else | 977 | else |
977 | QMessageBox::message( "Note",( tr("Please install unzip")) ); | 978 | QMessageBox::message( "Note",( tr("Please install unzip")) ); |
978 | } | 979 | } |
979 | // LibraryDlg = new LibraryDialog( this, "Library Index"); | 980 | // LibraryDlg = new LibraryDialog( this, "Library Index"); |
980 | LibraryDlg->setCaption( tr( "Gutenberg Library")); | 981 | LibraryDlg->setCaption( tr( "Gutenberg Library")); |
981 | Config config("Gutenbrowser"); | 982 | Config config("Gutenbrowser"); |
982 | config.setGroup("General"); | 983 | config.setGroup("General"); |
983 | QString tmp=config.readEntry("RunBefore","FALSE"); | 984 | |
984 | if(tmp=="FALSE") { | ||
985 | QMessageBox::message( "Note", | ||
986 | "<P>Your first time running gutenbrowser. You'll need to click the \"load library\" button to load the gutenberg index.</P>"); | ||
987 | config.writeEntry("RunBefore","TRUE"); | ||
988 | } | ||
989 | if(useSplitter) | 985 | if(useSplitter) |
990 | LibraryDlg->useSmallInterface=FALSE; | 986 | LibraryDlg->useSmallInterface=FALSE; |
991 | 987 | ||
992 | LibraryDlg->showMaximized(); | 988 | LibraryDlg->showMaximized(); |
993 | 989 | ||
994 | if( LibraryDlg->exec() != 0 ) { | 990 | if( LibraryDlg->exec() != 0 ) { |
995 | listItemNumber = LibraryDlg->DlglistItemNumber; | 991 | listItemNumber = LibraryDlg->DlglistItemNumber; |
996 | listItemFile = LibraryDlg->DlglistItemFile; | 992 | listItemFile = LibraryDlg->DlglistItemFile; |
997 | listItemYear = LibraryDlg->DlglistItemYear; | 993 | listItemYear = LibraryDlg->DlglistItemYear; |
998 | listItemTitle = LibraryDlg->DlglistItemTitle; | 994 | listItemTitle = LibraryDlg->DlglistItemTitle; |
999 | file_name = LibraryDlg->File_Name; | 995 | file_name = LibraryDlg->File_Name; |
1000 | // odebug << "title is being set as "+title << oendl; | 996 | // odebug << "title is being set as "+title << oendl; |
1001 | title = listItemTitle; | 997 | title = listItemTitle; |
1002 | 998 | ||
1003 | // config.setGroup( "Proxy" ); | 999 | // config.setGroup( "Proxy" ); |
1004 | // if( LibraryDlg->checked == 1) { | 1000 | // if( LibraryDlg->checked == 1) { |
1005 | // config.writeEntry("IsChecked", "TRUE"); | 1001 | // config.writeEntry("IsChecked", "TRUE"); |
1006 | // } else { | 1002 | // } else { |
1007 | // config.writeEntry("IsChecked", "FALSE"); | 1003 | // config.writeEntry("IsChecked", "FALSE"); |
1008 | // } | 1004 | // } |
1009 | // config.write(); | 1005 | // config.write(); |
1010 | // config.read(); | 1006 | // config.read(); |
1011 | if ( listItemNumber.isNull()) { | 1007 | if ( listItemNumber.isNull()) { |
1012 | } else { | 1008 | } else { |
1013 | i_pageNum = 1; | 1009 | i_pageNum = 1; |
1014 | if( file_name !="Error" && file_name.length() >2 && !file_name.isEmpty() ) { | 1010 | if( file_name !="Error" && file_name.length() >2 && !file_name.isEmpty() ) { |
1015 | //replace .zip with txt for opening it. | 1011 | //replace .zip with txt for opening it. |
1016 | // printf("\nFile name is now\n"); | 1012 | // printf("\nFile name is now\n"); |
1017 | // printf(file_name); | 1013 | // printf(file_name); |
1018 | // printf("\n"); | 1014 | // printf("\n"); |
1019 | // | 1015 | // |
1020 | if( file_name.find(".zip")) | 1016 | if( file_name.find(".zip")) |
1021 | { | 1017 | { |
1022 | odebug << "Found zip file\n" << oendl; | 1018 | odebug << "Found zip file\n" << oendl; |
1023 | // QStringList args; | 1019 | // QStringList args; |
1024 | // args="unzip"; | 1020 | // args="unzip"; |
1025 | // args+="-o"; | 1021 | // args+="-o"; |
1026 | // args+=local_library+file_name; | 1022 | // args+=local_library+file_name; |
1027 | // args+="-d"; | 1023 | // args+="-d"; |
1028 | // args+=local_library; | 1024 | // args+=local_library; |
1029 | QString cmd = "/usr/bin/unzip -o " + local_library+file_name + " -d " + local_library; | 1025 | QString cmd = "/usr/bin/unzip -o " + local_library+file_name + " -d " + local_library; |
1030 | odebug << "Issuing the command "+ cmd << oendl; | 1026 | odebug << "Issuing the command "+ cmd << oendl; |
1031 | // unzipProc=new QProcess( this, "unzipProc" ); /// fark that idea! | 1027 | // unzipProc=new QProcess( this, "unzipProc" ); /// fark that idea! |
1032 | // unzipProc->start(); | 1028 | // unzipProc->start(); |
1033 | system(cmd); | 1029 | system(cmd); |
1034 | remove( file_name); | 1030 | remove( file_name); |
1035 | 1031 | ||
1036 | } | 1032 | } |
1037 | // // | 1033 | // // |
1038 | // file_name = file_name.left(4)+ ".txt"; | 1034 | // file_name = file_name.left(4)+ ".txt"; |
1039 | if( LibraryDlg) | 1035 | if( LibraryDlg) |
1040 | delete LibraryDlg; | 1036 | delete LibraryDlg; |
1041 | setTitle(); | 1037 | setTitle(); |
1042 | // QCopEnvelope ( "QPE/System", "busy()" ); | 1038 | // QCopEnvelope ( "QPE/System", "busy()" ); |
1043 | load( file_name); | 1039 | load( file_name); |
1044 | } else { | 1040 | } else { |
1045 | printf("Not opening the file.\n"); | 1041 | printf("Not opening the file.\n"); |
1046 | } | 1042 | } |
1047 | } | 1043 | } |
1048 | } | 1044 | } |
1049 | if(showMainList) { | 1045 | if(showMainList) { |
1050 | if(!Lview->isHidden()) | 1046 | if(!Lview->isHidden()) |
1051 | Lview->hide(); | 1047 | Lview->hide(); |
1052 | qApp->processEvents(); | 1048 | qApp->processEvents(); |
1053 | showMainList=TRUE; | 1049 | showMainList=TRUE; |
1054 | if(mainList->isHidden()) | 1050 | if(mainList->isHidden()) |
1055 | mainList->show(); | 1051 | mainList->show(); |
1056 | fillWithTitles(); | 1052 | fillWithTitles(); |
1057 | qApp->processEvents(); | 1053 | qApp->processEvents(); |
1058 | } else | 1054 | } else |
1059 | setCentralWidget( Lview); | 1055 | setCentralWidget( Lview); |
1060 | // QPEApplication::grabKeyboard(); | 1056 | // QPEApplication::grabKeyboard(); |
1061 | // fixKeys(); | 1057 | // fixKeys(); |
1062 | } | 1058 | } |
1063 | 1059 | ||
1064 | void Gutenbrowser::OpenBtn() { | 1060 | void Gutenbrowser::OpenBtn() { |
1065 | QString s_temp; | 1061 | QString s_temp; |
1066 | s_temp = status; | 1062 | s_temp = status; |
1067 | OpenEtext* OpenDlg; | 1063 | OpenEtext* OpenDlg; |
1068 | OpenDlg = new OpenEtext(this,"OpenDlg"); | 1064 | OpenDlg = new OpenEtext(this,"OpenDlg"); |
1069 | OpenDlg->showMaximized(); | 1065 | OpenDlg->showMaximized(); |
1070 | 1066 | ||
1071 | if( OpenDlg->exec() != 0) { | 1067 | if( OpenDlg->exec() != 0) { |
1072 | title = OpenDlg->openFileTitle; | 1068 | title = OpenDlg->openFileTitle; |
1073 | odebug << "title open as "+title << oendl; | 1069 | odebug << "title open as "+title << oendl; |
1074 | file_name = OpenDlg->file; | 1070 | file_name = OpenDlg->file; |
1075 | i_pageNum = 1; | 1071 | i_pageNum = 1; |
1076 | 1072 | ||
1077 | if( !file_name.isEmpty() || file_name.length() > 2 ) { | 1073 | if( !file_name.isEmpty() || file_name.length() > 2 ) { |
1078 | if(showMainList) { | 1074 | if(showMainList) { |
1079 | showMainList=FALSE; | 1075 | showMainList=FALSE; |
1080 | odebug << "ShowMainList is now false" << oendl; | 1076 | odebug << "ShowMainList is now false" << oendl; |
1081 | mainList->hide(); | 1077 | mainList->hide(); |
1082 | Lview->show(); | 1078 | Lview->show(); |
1083 | qApp->processEvents(); | 1079 | qApp->processEvents(); |
1084 | } | 1080 | } |
@@ -1697,198 +1693,198 @@ void Gutenbrowser::hideButtons() | |||
1697 | if(useSplitter) { | 1693 | if(useSplitter) { |
1698 | ClearButton->show(); | 1694 | ClearButton->show(); |
1699 | PrintButton->show(); | 1695 | PrintButton->show(); |
1700 | beginButton->show(); | 1696 | beginButton->show(); |
1701 | HelpButton->show(); | 1697 | HelpButton->show(); |
1702 | FontButton->show(); | 1698 | FontButton->show(); |
1703 | ExitButton->show(); | 1699 | ExitButton->show(); |
1704 | OptionsButton->show(); | 1700 | OptionsButton->show(); |
1705 | DownloadButton->show(); | 1701 | DownloadButton->show(); |
1706 | } | 1702 | } |
1707 | } | 1703 | } |
1708 | } | 1704 | } |
1709 | 1705 | ||
1710 | void Gutenbrowser::focusInEvent( QFocusEvent* ) | 1706 | void Gutenbrowser::focusInEvent( QFocusEvent* ) |
1711 | { | 1707 | { |
1712 | } | 1708 | } |
1713 | void Gutenbrowser::focusOutEvent( QFocusEvent* ) | 1709 | void Gutenbrowser::focusOutEvent( QFocusEvent* ) |
1714 | { | 1710 | { |
1715 | } | 1711 | } |
1716 | 1712 | ||
1717 | void Gutenbrowser::cleanUp( ) | 1713 | void Gutenbrowser::cleanUp( ) |
1718 | { | 1714 | { |
1719 | writeConfig(); | 1715 | writeConfig(); |
1720 | QPEApplication::grabKeyboard(); | 1716 | QPEApplication::grabKeyboard(); |
1721 | 1717 | ||
1722 | QPEApplication::ungrabKeyboard(); | 1718 | QPEApplication::ungrabKeyboard(); |
1723 | // odebug << "Cleanup" << oendl; | 1719 | // odebug << "Cleanup" << oendl; |
1724 | if(f.isOpen()) f.close(); | 1720 | if(f.isOpen()) f.close(); |
1725 | } | 1721 | } |
1726 | 1722 | ||
1727 | void Gutenbrowser::fixKeys() | 1723 | void Gutenbrowser::fixKeys() |
1728 | { | 1724 | { |
1729 | odebug << "Attempting to fix keys" << oendl; | 1725 | odebug << "Attempting to fix keys" << oendl; |
1730 | 1726 | ||
1731 | } | 1727 | } |
1732 | 1728 | ||
1733 | void Gutenbrowser::enableButtons(bool b) | 1729 | void Gutenbrowser::enableButtons(bool b) |
1734 | { | 1730 | { |
1735 | BackButton->setEnabled(b); | 1731 | BackButton->setEnabled(b); |
1736 | ForwardButton->setEnabled(b); | 1732 | ForwardButton->setEnabled(b); |
1737 | SearchButton->setEnabled(b); | 1733 | SearchButton->setEnabled(b); |
1738 | setBookmarkButton->setEnabled(b); | 1734 | setBookmarkButton->setEnabled(b); |
1739 | dictionaryButton->setEnabled(b); | 1735 | dictionaryButton->setEnabled(b); |
1740 | InfoBar->setEnabled(b); | 1736 | InfoBar->setEnabled(b); |
1741 | 1737 | ||
1742 | editMenu->setItemEnabled( -5, b); | 1738 | editMenu->setItemEnabled( -5, b); |
1743 | editMenu->setItemEnabled( -6, b); | 1739 | editMenu->setItemEnabled( -6, b); |
1744 | editMenu->setItemEnabled( -7, b); | 1740 | editMenu->setItemEnabled( -7, b); |
1745 | editMenu->setItemEnabled( -8, b); | 1741 | editMenu->setItemEnabled( -8, b); |
1746 | 1742 | ||
1747 | } | 1743 | } |
1748 | 1744 | ||
1749 | void Gutenbrowser::fillWithTitles() { | 1745 | void Gutenbrowser::fillWithTitles() { |
1750 | Config config("Gutenbrowser"); | 1746 | Config config("Gutenbrowser"); |
1751 | config.setGroup( "Files" ); | 1747 | config.setGroup( "Files" ); |
1752 | int i_numofFiles = config.readNumEntry("NumberOfFiles", 0); | 1748 | int i_numofFiles = config.readNumEntry("NumberOfFiles", 0); |
1753 | mainList->clear(); | 1749 | mainList->clear(); |
1754 | QString temp; | 1750 | QString temp; |
1755 | for (int i = 1; i <= i_numofFiles; i++) { | 1751 | for (int i = 1; i <= i_numofFiles; i++) { |
1756 | temp.setNum(i); | 1752 | temp.setNum(i); |
1757 | config.setGroup( "Files" ); | 1753 | config.setGroup( "Files" ); |
1758 | QString ramble = config.readEntry(temp, "" ); | 1754 | QString ramble = config.readEntry(temp, "" ); |
1759 | config.setGroup( "Titles" ); | 1755 | config.setGroup( "Titles" ); |
1760 | temp = config.readEntry(ramble, ""); | 1756 | temp = config.readEntry(ramble, ""); |
1761 | if( !temp.isEmpty()) { | 1757 | if( !temp.isEmpty()) { |
1762 | mainList->insertItem ( Resource::loadPixmap("gutenbrowser/gutenbrowser_sm"), temp, -1); | 1758 | mainList->insertItem ( Resource::loadPixmap("gutenbrowser/gutenbrowser_sm"), temp, -1); |
1763 | } | 1759 | } |
1764 | } | 1760 | } |
1765 | } | 1761 | } |
1766 | 1762 | ||
1767 | void Gutenbrowser::listClickedSlot( QListBoxItem * index) { | 1763 | void Gutenbrowser::listClickedSlot( QListBoxItem * index) { |
1768 | // if( !working) { | 1764 | // if( !working) { |
1769 | // working=true; | 1765 | // working=true; |
1770 | if(index) { | 1766 | if(index) { |
1771 | // QCopEnvelope ( "QPE/System", "busy()" ); | 1767 | // QCopEnvelope ( "QPE/System", "busy()" ); |
1772 | title = index->text(); | 1768 | title = index->text(); |
1773 | showMainList=FALSE; | 1769 | showMainList=FALSE; |
1774 | mainList->hide(); | 1770 | mainList->hide(); |
1775 | Lview->show(); | 1771 | Lview->show(); |
1776 | qApp->processEvents(); | 1772 | qApp->processEvents(); |
1777 | QString temp; | 1773 | QString temp; |
1778 | temp.setNum( mainList->currentItem() + 1); | 1774 | temp.setNum( mainList->currentItem() + 1); |
1779 | // openFileTitle = title; | 1775 | // openFileTitle = title; |
1780 | Config config("Gutenbrowser"); | 1776 | Config config("Gutenbrowser"); |
1781 | config.setGroup( "Files" ); | 1777 | config.setGroup( "Files" ); |
1782 | QString file = config.readEntry(temp, ""); | 1778 | QString file = config.readEntry(temp, ""); |
1783 | odebug << "About to load" << oendl; | 1779 | odebug << "About to load" << oendl; |
1784 | if( Lview->isVisible()) | 1780 | if( Lview->isVisible()) |
1785 | load(file); | 1781 | load(file); |
1786 | 1782 | ||
1787 | config.setGroup( title); | 1783 | config.setGroup( title); |
1788 | file_name = config.readEntry("File Name", ""); | 1784 | file_name = config.readEntry("File Name", ""); |
1789 | i_pageNum = config.readNumEntry("Page Number", 1); | 1785 | i_pageNum = config.readNumEntry("Page Number", 1); |
1790 | int Bmrkrow = config.readNumEntry("LineNumber", -1); | 1786 | int Bmrkrow = config.readNumEntry("LineNumber", -1); |
1791 | if(Bmrkrow > -1) { | 1787 | if(Bmrkrow > -1) { |
1792 | if( Bmrkrow > Lview->topRow() ) { | 1788 | if( Bmrkrow > Lview->topRow() ) { |
1793 | Lview->setCursorPosition( Bmrkrow /* - Lview->topRow() */,0, FALSE ); | 1789 | // Lview->setCursorPosition( Bmrkrow /* - Lview->topRow() */,0, FALSE ); |
1794 | Lview->ScrollUp( Bmrkrow - Lview->topRow() ); | 1790 | Lview->ScrollUp( Bmrkrow - Lview->topRow() ); |
1795 | // AdjustStatus(); | 1791 | // AdjustStatus(); |
1796 | } | 1792 | } |
1797 | else if( Bmrkrow < Lview->topRow() ) { | 1793 | else if( Bmrkrow < Lview->topRow() ) { |
1798 | Lview->setCursorPosition( Lview->topRow() - Bmrkrow ,0, FALSE ); | 1794 | // Lview->setCursorPosition( Lview->topRow() - Bmrkrow ,0, FALSE ); |
1799 | Lview->ScrollDown( Lview->topRow() - Bmrkrow ); | 1795 | Lview->ScrollDown( Lview->topRow() - Bmrkrow ); |
1800 | // AdjustStatus(); | 1796 | // AdjustStatus(); |
1801 | } | 1797 | } |
1802 | } | 1798 | } |
1803 | } | 1799 | } |
1804 | } | 1800 | } |
1805 | 1801 | ||
1806 | void Gutenbrowser::infoGutenbrowser() { | 1802 | void Gutenbrowser::infoGutenbrowser() { |
1807 | QMessageBox::message("Info","Gutenbrowser was developed by\n" | 1803 | QMessageBox::message("Info","Gutenbrowser was developed by\n" |
1808 | "Lorn Potter\n" | 1804 | "Lorn Potter\n" |
1809 | "ljp<ljp@llornkcor.com>\n"); | 1805 | "ljp<ljp@llornkcor.com>\n"); |
1810 | } | 1806 | } |
1811 | 1807 | ||
1812 | void Gutenbrowser::setDocument(const QString & frozenBoogers) { | 1808 | void Gutenbrowser::setDocument(const QString & frozenBoogers) { |
1813 | this->hide(); | 1809 | this->hide(); |
1814 | if(showMainList) { | 1810 | if(showMainList) { |
1815 | showMainList=FALSE; | 1811 | showMainList=FALSE; |
1816 | if(!mainList->isHidden()) | 1812 | if(!mainList->isHidden()) |
1817 | mainList->hide(); | 1813 | mainList->hide(); |
1818 | if(Lview->isHidden()) | 1814 | if(Lview->isHidden()) |
1819 | Lview->show(); | 1815 | Lview->show(); |
1820 | qApp->processEvents(); | 1816 | qApp->processEvents(); |
1821 | } | 1817 | } |
1822 | DocLnk lnk; | 1818 | DocLnk lnk; |
1823 | lnk = DocLnk(frozenBoogers); | 1819 | lnk = DocLnk(frozenBoogers); |
1824 | // odebug << lnk.file() << oendl; | 1820 | // odebug << lnk.file() << oendl; |
1825 | title=lnk.comment(); | 1821 | title=lnk.comment(); |
1826 | load( lnk.file()); | 1822 | load( lnk.file()); |
1827 | this->show(); | 1823 | this->show(); |
1828 | // odebug << title << oendl; | 1824 | // odebug << title << oendl; |
1829 | // qApp->processEvents(); | 1825 | // qApp->processEvents(); |
1830 | // repaint(); | 1826 | // repaint(); |
1831 | } | 1827 | } |
1832 | 1828 | ||
1833 | void Gutenbrowser::mainListPressed(int mouse, QListBoxItem * , const QPoint & ) | 1829 | void Gutenbrowser::mainListPressed(int mouse, QListBoxItem * , const QPoint & ) |
1834 | { | 1830 | { |
1835 | switch (mouse) { | 1831 | switch (mouse) { |
1836 | case 1: | 1832 | case 1: |
1837 | break; | 1833 | break; |
1838 | case 2: { | 1834 | case 2: { |
1839 | QPopupMenu m;// = new QPopupMenu( Local_View ); | 1835 | QPopupMenu m;// = new QPopupMenu( Local_View ); |
1840 | m.insertItem( tr( "Open" ), this, SLOT( menuOpen() )); | 1836 | m.insertItem( tr( "Open" ), this, SLOT( menuOpen() )); |
1841 | m.insertSeparator(); | 1837 | m.insertSeparator(); |
1842 | m.insertItem( tr( "Search google.com" ), this, SLOT( menuGoogle())); | 1838 | m.insertItem( tr( "Search google.com" ), this, SLOT( menuGoogle())); |
1843 | m.insertItem( tr( "Edit Title" ), this, SLOT( menuEditTitle())); | 1839 | m.insertItem( tr( "Edit Title" ), this, SLOT( menuEditTitle())); |
1844 | // m.insertSeparator(); | 1840 | // m.insertSeparator(); |
1845 | // m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); | 1841 | // m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); |
1846 | m.exec( QCursor::pos() ); | 1842 | m.exec( QCursor::pos() ); |
1847 | } | 1843 | } |
1848 | break; | 1844 | break; |
1849 | }; | 1845 | }; |
1850 | } | 1846 | } |
1851 | 1847 | ||
1852 | void Gutenbrowser::menuOpen() { | 1848 | void Gutenbrowser::menuOpen() { |
1853 | listClickedSlot( mainList->item( mainList->currentItem())); | 1849 | listClickedSlot( mainList->item( mainList->currentItem())); |
1854 | } | 1850 | } |
1855 | 1851 | ||
1856 | void Gutenbrowser::menuGoogle() { | 1852 | void Gutenbrowser::menuGoogle() { |
1857 | searchGoogle( mainList->text(mainList->currentItem())); | 1853 | searchGoogle( mainList->text(mainList->currentItem())); |
1858 | } | 1854 | } |
1859 | 1855 | ||
1860 | void Gutenbrowser::searchGoogle( const QString &tempText) { | 1856 | void Gutenbrowser::searchGoogle( const QString &tempText) { |
1861 | QString text = tempText; | 1857 | QString text = tempText; |
1862 | 1858 | ||
1863 | int eexit=QMessageBox::information(this, "Note","Do you want to search for\n"+text+ | 1859 | int eexit=QMessageBox::information(this, "Note","Do you want to search for\n"+text+ |
1864 | "\non google.com?",QMessageBox::Yes, QMessageBox::No); | 1860 | "\non google.com?",QMessageBox::Yes, QMessageBox::No); |
1865 | if (eexit== 3) { | 1861 | if (eexit== 3) { |
1866 | qApp->processEvents(); | 1862 | qApp->processEvents(); |
1867 | text.replace( QRegExp("\\s"), "%20"); | 1863 | text.replace( QRegExp("\\s"), "%20"); |
1868 | text.replace( QRegExp("#"), ""); | 1864 | text.replace( QRegExp("#"), ""); |
1869 | text.replace( QRegExp(","), "%20"); | 1865 | text.replace( QRegExp(","), "%20"); |
1870 | text.replace( QRegExp("'"), "%20"); | 1866 | text.replace( QRegExp("'"), "%20"); |
1871 | text.replace( QRegExp("("), ""); | 1867 | text.replace( QRegExp("("), ""); |
1872 | text.replace( QRegExp(")"), ""); | 1868 | text.replace( QRegExp(")"), ""); |
1873 | // text.replace( QRegExp("[0-9]"), ""); | 1869 | // text.replace( QRegExp("[0-9]"), ""); |
1874 | QString s_lookup = "http://google.com/search?q="+text+"&num=30&sa=Google+Search"; | 1870 | QString s_lookup = "http://google.com/search?q="+text+"&num=30&sa=Google+Search"; |
1875 | goGetit( s_lookup, true); | 1871 | goGetit( s_lookup, true); |
1876 | } | 1872 | } |
1877 | 1873 | ||
1878 | } | 1874 | } |
1879 | 1875 | ||
1880 | void Gutenbrowser::menuEditTitle() | 1876 | void Gutenbrowser::menuEditTitle() |
1881 | { | 1877 | { |
1882 | int currentItem = mainList->currentItem(); | 1878 | int currentItem = mainList->currentItem(); |
1883 | QString title_text = mainList->text( currentItem); | 1879 | QString title_text = mainList->text( currentItem); |
1884 | //odebug << "Selected "+title_text << oendl; | 1880 | //odebug << "Selected "+title_text << oendl; |
1885 | 1881 | ||
1886 | Config config("Gutenbrowser"); | 1882 | Config config("Gutenbrowser"); |
1887 | config.setGroup( "Files" ); | 1883 | config.setGroup( "Files" ); |
1888 | QString s_numofFiles = config.readEntry("NumberOfFiles", "0"); | 1884 | QString s_numofFiles = config.readEntry("NumberOfFiles", "0"); |
1889 | int i_numofFiles = s_numofFiles.toInt(); | 1885 | int i_numofFiles = s_numofFiles.toInt(); |
1890 | QString fileNum; | 1886 | QString fileNum; |
1891 | for (int i = 1; i <= i_numofFiles+1; i++) { | 1887 | for (int i = 1; i <= i_numofFiles+1; i++) { |
1892 | 1888 | ||
1893 | fileNum.setNum(i); | 1889 | fileNum.setNum(i); |
1894 | config.setGroup( "Files" ); | 1890 | config.setGroup( "Files" ); |