recipes: libs/ncurses: Upgraded to version 6.2-20200919
[dragora.git] / patches / tdelibs / branch-updates_93e9da4a7494abd7c516a6246d0089e80fa78d84.diff
blob9b66e1156f097310668c46fb45ec8893d166eca1
1 diff --git a/CMakeLists.txt b/CMakeLists.txt
2 index f0a87509..5b95cfa6 100644
3 --- a/CMakeLists.txt
4 +++ b/CMakeLists.txt
5 @@ -394,10 +394,6 @@ check_function_exists( setgroups HAVE_SETGROUPS )
6 check_function_exists( setlocale HAVE_SETLOCALE )
7 check_function_exists( setmntent HAVE_SETMNTENT )
8 check_function_exists( setpriority HAVE_SETPRIORITY )
9 -check_function_exists( isnan HAVE_FUNC_ISNAN )
10 -check_function_exists( _finite HAVE_FUNC__FINITE )
11 -check_function_exists( finite HAVE_FUNC_FINITE )
12 -check_function_exists( isinf HAVE_FUNC_ISINF )
13 check_function_exists( freeaddrinfo HAVE_FREEADDRINFO )
14 check_function_exists( strtoll HAVE_STRTOLL )
15 check_function_exists( socket HAVE_SOCKET )
16 @@ -1015,16 +1011,15 @@ endif( WITH_LUA )
17 ##### check for avahi ###########################
19 if( WITH_AVAHI )
20 - if( WITH_QT4 )
21 - endif( WITH_QT4 )
23 - if( WITH_QT3 )
24 - pkg_search_module( AVAHI avahi-tqt )
25 - if( NOT AVAHI_FOUND )
26 - message(FATAL_ERROR "\navahi support are requested, but not found on your system" )
27 - endif( NOT AVAHI_FOUND )
28 - set( AVAHI_API_0_6 1 )
29 - endif( WITH_QT3 )
30 + pkg_search_module( AVAHI_TQT avahi-tqt )
31 + pkg_search_module( AVAHI_CLIENT avahi-client )
32 + if( NOT AVAHI_TQT_FOUND OR NOT AVAHI_CLIENT_FOUND )
33 + tde_message_fatal( "avahi support is requested, but not found on your system" )
34 + endif( NOT AVAHI_TQT_FOUND OR NOT AVAHI_CLIENT_FOUND )
35 + if( NOT AVAHI_CLIENT_VERSION VERSION_LESS "0.6" )
36 + set( AVAHI_API_0_6 1 )
37 + endif( )
38 + set( HAVE_DNSSD 1 )
39 endif( )
42 diff --git a/README b/README
43 index 7eb7702e..fce8c305 100644
44 --- a/README
45 +++ b/README
46 @@ -10,7 +10,7 @@ In this file:
48 About tdelibs
49 -------------
50 -This is version R14.0.7 of the Trinity Desktop Environment (TDE) libraries.
51 +This is version R14.0.8 [DEVELOPMENT] of the Trinity Desktop Environment (TDE) libraries.
53 This package includes libraries that are central to the development and
54 execution of a KDE program, as well as internationalization files for these
55 diff --git a/config.h.cmake b/config.h.cmake
56 index e0153f50..c7c9e116 100644
57 --- a/config.h.cmake
58 +++ b/config.h.cmake
59 @@ -4,6 +4,7 @@
60 #define ASPELL_DATADIR "@ASPELL_DATADIR@"
62 /* Avahi API 0.6 */
63 +#cmakedefine HAVE_DNSSD 1
64 #cmakedefine AVAHI_API_0_6 1
66 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
67 @@ -202,18 +203,6 @@
68 /* Define to 1 if you have the <fstab.h> header file. */
69 #cmakedefine HAVE_FSTAB_H 1
71 -/* Define if you have finite */
72 -#cmakedefine HAVE_FUNC_FINITE 1
74 -/* Define if you have isinf */
75 -#cmakedefine HAVE_FUNC_ISINF 1
77 -/* Define if you have isnan */
78 -#cmakedefine HAVE_FUNC_ISNAN 1
80 -/* Define if you have _finite */
81 -#cmakedefine HAVE_FUNC__FINITE 1
83 /* Define to 1 if you have the `gai_strerror' function. */
84 #cmakedefine HAVE_GAI_STRERROR 1
86 diff --git a/dcop/KDE-ICE/Xtrans.c b/dcop/KDE-ICE/Xtrans.c
87 index b954d4b3..e3457424 100644
88 --- a/dcop/KDE-ICE/Xtrans.c
89 +++ b/dcop/KDE-ICE/Xtrans.c
90 @@ -1261,7 +1261,7 @@ static int TRANS(ReadV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
91 len = iov->iov_len;
92 base = iov->iov_base;
93 while (len > 0) {
94 - register int nbytes;
95 + int nbytes;
96 nbytes = TRANS(Read) (ciptr, base, len);
97 if (nbytes < 0 && total == 0) return -1;
98 if (nbytes <= 0) return total;
99 @@ -1293,7 +1293,7 @@ static int TRANS(WriteV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
100 len = iov->iov_len;
101 base = iov->iov_base;
102 while (len > 0) {
103 - register int nbytes;
104 + int nbytes;
105 nbytes = TRANS(Write) (ciptr, base, len);
106 if (nbytes < 0 && total == 0) return -1;
107 if (nbytes <= 0) return total;
108 diff --git a/dcop/KDE-ICE/iceauth.c b/dcop/KDE-ICE/iceauth.c
109 index 72297ceb..60961564 100644
110 --- a/dcop/KDE-ICE/iceauth.c
111 +++ b/dcop/KDE-ICE/iceauth.c
112 @@ -45,7 +45,7 @@ extern Time_t time ();
113 #define Time_t time_t
114 #endif
116 -static int binaryEqual (register const char *a, register const char *b, register unsigned len);
117 +static int binaryEqual (const char *a, const char *b, unsigned len);
119 static int was_called_state;
121 @@ -264,7 +264,7 @@ char **errorStringRet;
122 * local routines
125 -static int binaryEqual (register const char *a, register const char *b, register unsigned len)
126 +static int binaryEqual (const char *a, const char *b, unsigned len)
128 while (len--)
129 if (*a++ != *b++)
130 diff --git a/dcop/KDE-ICE/misc.c b/dcop/KDE-ICE/misc.c
131 index 0dbbf24b..4658b8d1 100644
132 --- a/dcop/KDE-ICE/misc.c
133 +++ b/dcop/KDE-ICE/misc.c
134 @@ -233,12 +233,12 @@ IceConn iceConn;
135 Status
136 _IceRead (iceConn, nbytes, ptr)
138 -register IceConn iceConn;
139 +IceConn iceConn;
140 unsigned long nbytes;
141 -register char *ptr;
142 +char *ptr;
145 - register unsigned long nleft;
146 + unsigned long nleft;
148 nleft = nbytes;
149 while (nleft > 0)
150 @@ -335,8 +335,8 @@ register char *ptr;
151 void
152 _IceReadSkip (iceConn, nbytes)
154 -register IceConn iceConn;
155 -register unsigned long nbytes;
156 +IceConn iceConn;
157 +unsigned long nbytes;
160 char temp[512];
161 @@ -359,12 +359,12 @@ register unsigned long nbytes;
162 void
163 _IceWrite (iceConn, nbytes, ptr)
165 -register IceConn iceConn;
166 +IceConn iceConn;
167 unsigned long nbytes;
168 -register char *ptr;
169 +char *ptr;
172 - register unsigned long nleft;
173 + unsigned long nleft;
175 nleft = nbytes;
176 while (nleft > 0)
177 diff --git a/dcop/dcopidl/scanner.cc b/dcop/dcopidl/scanner.cc
178 index da3481c0..55a20aba 100644
179 --- a/dcop/dcopidl/scanner.cc
180 +++ b/dcop/dcopidl/scanner.cc
181 @@ -1209,9 +1209,9 @@ extern int yylex (void);
183 YY_DECL
185 - register yy_state_type yy_current_state;
186 - register char *yy_cp, *yy_bp;
187 - register int yy_act;
188 + yy_state_type yy_current_state;
189 + char *yy_cp, *yy_bp;
190 + int yy_act;
192 #line 148 "scanner.ll"
194 @@ -1270,7 +1270,7 @@ YY_DECL
195 yy_match:
198 - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
199 + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
200 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
202 yy_current_state = (int) yy_def[yy_current_state];
203 @@ -1909,9 +1909,9 @@ ECHO;
205 static int yy_get_next_buffer (void)
207 - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
208 - register char *source = (yytext_ptr);
209 - register int number_to_move, i;
210 + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
211 + char *source = (yytext_ptr);
212 + int number_to_move, i;
213 int ret_val;
215 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
216 @@ -2014,8 +2014,8 @@ static int yy_get_next_buffer (void)
218 static yy_state_type yy_get_previous_state (void)
220 - register yy_state_type yy_current_state;
221 - register char *yy_cp;
222 + yy_state_type yy_current_state;
223 + char *yy_cp;
225 yy_current_state = (yy_start);
227 @@ -2024,7 +2024,7 @@ static int yy_get_next_buffer (void)
229 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
231 - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
232 + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
233 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
235 yy_current_state = (int) yy_def[yy_current_state];
236 @@ -2045,9 +2045,9 @@ static int yy_get_next_buffer (void)
238 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
240 - register int yy_is_jam;
241 + int yy_is_jam;
243 - register YY_CHAR yy_c = 1;
244 + YY_CHAR yy_c = 1;
245 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
247 yy_current_state = (int) yy_def[yy_current_state];
248 @@ -2062,9 +2062,9 @@ static int yy_get_next_buffer (void)
249 return yy_is_jam ? 0 : yy_current_state;
252 - static void yyunput (int c, register char * yy_bp )
253 + static void yyunput (int c, char * yy_bp )
255 - register char *yy_cp;
256 + char *yy_cp;
258 yy_cp = (yy_c_buf_p);
260 @@ -2074,10 +2074,10 @@ static int yy_get_next_buffer (void)
261 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
262 { /* need to shift things up to make room */
263 /* +2 for EOB chars. */
264 - register int number_to_move = (yy_n_chars) + 2;
265 - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
266 + int number_to_move = (yy_n_chars) + 2;
267 + char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
268 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
269 - register char *source =
270 + char *source =
271 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
273 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
274 @@ -2694,7 +2694,7 @@ int yylex_destroy (void)
275 #ifndef yytext_ptr
276 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
278 - register int i;
279 + int i;
280 for ( i = 0; i < n; ++i )
281 s1[i] = s2[i];
283 @@ -2703,7 +2703,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
284 #ifdef YY_NEED_STRLEN
285 static int yy_flex_strlen (yyconst char * s )
287 - register int n;
288 + int n;
289 for ( n = 0; s[n]; ++n )
292 diff --git a/dcop/dcopserver.cpp b/dcop/dcopserver.cpp
293 index 15066047..60866484 100644
294 --- a/dcop/dcopserver.cpp
295 +++ b/dcop/dcopserver.cpp
296 @@ -118,7 +118,7 @@ static Bool HostBasedAuthProc ( char* /*hostname*/)
297 extern "C" {
298 extern IceWriteHandler _kde_IceWriteHandler;
299 extern IceIOErrorHandler _kde_IceIOErrorHandler;
300 -void DCOPIceWriteChar(register IceConn iceConn, unsigned long nbytes, char *ptr);
301 +void DCOPIceWriteChar(IceConn iceConn, unsigned long nbytes, char *ptr);
304 static TQCString readQCString(TQDataStream &ds)
305 @@ -237,7 +237,7 @@ static unsigned long writeIceData(IceConn iceConn, unsigned long nbytes, char *p
306 return 0;
309 -void DCOPIceWriteChar(register IceConn iceConn, unsigned long nbytes, char *ptr)
310 +void DCOPIceWriteChar(IceConn iceConn, unsigned long nbytes, char *ptr)
312 DCOPConnection* conn = the_server->findConn( iceConn );
313 #ifdef DCOP_DEBUG
314 @@ -384,7 +384,7 @@ tqWarning("[dcopserver] slotOutputRead() more data to send.");
318 -static void DCOPIceSendData(register IceConn _iceConn,
319 +static void DCOPIceSendData(IceConn _iceConn,
320 const TQByteArray &_data)
322 if (_iceConn->outbufptr > _iceConn->outbuf)
323 diff --git a/dnssd/CMakeLists.txt b/dnssd/CMakeLists.txt
324 index 01359672..844ee16f 100644
325 --- a/dnssd/CMakeLists.txt
326 +++ b/dnssd/CMakeLists.txt
327 @@ -44,7 +44,7 @@ set( ${target}_SRCS
328 tde_add_library( ${target} SHARED AUTOMOC
329 SOURCES ${${target}_SRCS}
330 VERSION 1.0.0
331 - LINK tdecore-shared
332 + LINK tdecore-shared ${AVAHI_TQT_LIBRARIES} ${AVAHI_CLIENT_LIBRARIES}
333 DEPENDENCIES tdeconfig_compiler
334 DESTINATION ${LIB_INSTALL_DIR}
336 diff --git a/dnssd/publicservice.cpp b/dnssd/publicservice.cpp
337 index 0313fd17..05b89125 100644
338 --- a/dnssd/publicservice.cpp
339 +++ b/dnssd/publicservice.cpp
340 @@ -56,7 +56,7 @@ class PublicServicePrivate
341 public:
342 PublicServicePrivate() : m_published(false), m_running(false), m_collision(false)
343 #ifdef HAVE_DNSSD
344 - , m_group(false)
345 + , m_group(0)
346 #endif
348 bool m_published;
349 diff --git a/kab/addressbook.cc b/kab/addressbook.cc
350 index 852f56d5..85a99125 100644
351 --- a/kab/addressbook.cc
352 +++ b/kab/addressbook.cc
353 @@ -407,7 +407,7 @@ AddressBook::AddressBook(TQWidget* parent, const char* name, bool loadit)
354 entries(new StringKabKeyMap),
355 state(NoFile)
357 - register bool GUARD; GUARD=true;
358 + bool GUARD; GUARD=true;
359 // ###########################################################################
360 TQString dir, filename;
361 bool createBackup=true;
362 @@ -647,7 +647,7 @@ AddressBook::ErrorCode AddressBook::load(const TQString& filename)
363 AddressBook::ErrorCode
364 AddressBook::getListOfNames(TQStringList* strings, bool reverse, bool initials)
366 - register bool GUARD; GUARD=false;
367 + bool GUARD; GUARD=false;
368 // ###########################################################################
369 kdDebug(GUARD, KAB_KDEBUG_AREA) << "AddressBook::getListOfNames: called.\n";
370 StringKabKeyMap::iterator pos;
371 @@ -702,7 +702,7 @@ AddressBook::literalName(const KabKey& key, TQString& text, bool rev, bool init)
372 AddressBook::ErrorCode
373 AddressBook::literalName(const Entry& entry, TQString& text, bool rev, bool init)
375 - register bool GUARD; GUARD=false;
376 + bool GUARD; GUARD=false;
377 // ###########################################################################
378 kdDebug(GUARD, KAB_KDEBUG_AREA) << "AddressBook::literalName: called.\n";
379 TQString firstname, middlename, lastname, nameprefix;
380 @@ -817,7 +817,7 @@ AddressBook::dataFileChanged()
381 void
382 AddressBook::configFileChanged()
384 - register bool GUARD; GUARD=true;
385 + bool GUARD; GUARD=true;
386 // ###########################################################################
387 if(!config->load())
389 @@ -835,7 +835,7 @@ AddressBook::configFileChanged()
390 void
391 AddressBook::reloaded(QConfigDB* db)
393 - register bool GUARD; GUARD=false;
394 + bool GUARD; GUARD=false;
395 // ###########################################################################
396 if(db==data)
398 @@ -924,7 +924,7 @@ AddressBook::getEntry(const KabKey& key, Entry& entry)
399 AddressBook::ErrorCode
400 AddressBook::getEntry(const KabKey& key, Section*& section)
402 - register bool GUARD; GUARD=false;
403 + bool GUARD; GUARD=false;
404 // ###########################################################################
405 kdDebug(GUARD, KAB_KDEBUG_AREA) << "AddressBook::getEntry: searching entry "
406 "with key " << key.getKey().data() << endl;
407 @@ -1004,7 +1004,7 @@ AddressBook::getKey(int index, KabKey& key)
408 AddressBook::ErrorCode
409 AddressBook::getIndex(const KabKey& key, int& index)
411 - register bool GUARD; GUARD=true;
412 + bool GUARD; GUARD=true;
413 // ###########################################################################
414 StringKabKeyMap::iterator pos;
415 // -----
416 @@ -1283,7 +1283,7 @@ AddressBook::nextAvailEntryKey()
417 AddressBook::ErrorCode
418 AddressBook::updateMirrorMap()
420 - register bool GUARD; GUARD=false;
421 + bool GUARD; GUARD=false;
422 // ###########################################################################
423 kdDebug(GUARD, KAB_KDEBUG_AREA)
424 << "AddressBook::updateMirrorMap: updating mirror map.\n";
425 diff --git a/kab/qconfigDB.cc b/kab/qconfigDB.cc
426 index 283dfdde..dc77a1e1 100644
427 --- a/kab/qconfigDB.cc
428 +++ b/kab/qconfigDB.cc
429 @@ -55,7 +55,7 @@ static bool isComment(TQCString line)
431 static void tokenize(list<TQCString>& res, const TQCString& text, char tr, bool strict=false)
433 - register bool GUARD; GUARD=false;
434 + bool GUARD; GUARD=false;
435 // ############################################################################
436 kdDebug(GUARD, KAB_KDEBUG_AREA) << "tokenize: called." << endl;
437 int eins=0, zwei=0;
438 @@ -99,7 +99,7 @@ static void tokenize(list<TQCString>& res, const TQCString& text, char tr, bool
440 static TQCString ReadLineFromStream(TQTextStream& stream)
442 - register bool GUARD; GUARD=false;
443 + bool GUARD; GUARD=false;
444 // ############################################################################
445 kdDebug(GUARD, KAB_KDEBUG_AREA) << "ReadLineFromStream:: reading line." << endl;
446 TQCString line;
447 @@ -174,7 +174,7 @@ KeyValueMap::size() const
448 void
449 KeyValueMap::clear()
451 - register bool GUARD; GUARD=false;
452 + bool GUARD; GUARD=false;
453 // ###########################################################################
454 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
455 "KeyValueMap::clear: erasing map contents ... " << endl;
456 @@ -191,7 +191,7 @@ KeyValueMap::clear()
457 bool
458 KeyValueMap::fill(const TQString& filename, bool force, bool relax)
460 - register bool GUARD; GUARD=false;
461 + bool GUARD; GUARD=false;
462 // ###########################################################################
463 TQFile file(filename);
464 TQCString line;
465 @@ -231,7 +231,7 @@ KeyValueMap::fill(const TQString& filename, bool force, bool relax)
466 bool
467 KeyValueMap::save(const TQString& filename, bool force)
469 - register bool GUARD; GUARD=false;
470 + bool GUARD; GUARD=false;
471 // ###########################################################################
472 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
473 "KeyValueMap::save: saving data to -->" <<
474 @@ -271,7 +271,7 @@ KeyValueMap::save(const TQString& filename, bool force)
475 bool
476 KeyValueMap::save(TQTextStream& file, int count)
478 - register bool GUARD; GUARD=false;
479 + bool GUARD; GUARD=false;
480 // ###########################################################################
481 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
482 "KeyValueMap::save: saving data to given output stream." << endl;
483 @@ -318,7 +318,7 @@ KeyValueMap::parseComplexString
484 int& noOfChars) // no of chars that represented the
485 const // complex string in the original
487 - register bool GUARD; GUARD=false;
488 + bool GUARD; GUARD=false;
489 // ###########################################################################
490 int first;
491 TQCString temp(2*orig.length());
492 @@ -415,7 +415,7 @@ KeyValueMap::parseComplexString
493 TQCString
494 KeyValueMap::makeComplexString(const TQCString& orig)
496 - register bool GUARD; GUARD=false;
497 + bool GUARD; GUARD=false;
498 // ###########################################################################
499 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
500 "KeyValueMap::makeComplexString: coding the string\n -->"
501 @@ -468,7 +468,7 @@ KeyValueMap::makeComplexString(const TQCString& orig)
502 bool
503 KeyValueMap::getRaw(const TQCString& key, TQCString& value) const
505 - register bool GUARD; GUARD=false;
506 + bool GUARD; GUARD=false;
507 // ###########################################################################
508 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
509 "KeyValueMap::getRaw: trying to get raw value for key \"" << key << "\" ...\n";
510 @@ -490,7 +490,7 @@ KeyValueMap::getRaw(const TQCString& key, TQCString& value) const
511 bool
512 KeyValueMap::insertRaw(const TQCString& key, const TQCString& value, bool force)
514 - register bool GUARD; GUARD=false;
515 + bool GUARD; GUARD=false;
516 // ###########################################################################
517 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
518 "KeyValueMap::insertRaw: inserting uncoded value "
519 @@ -535,7 +535,7 @@ KeyValueMap::insertRaw(const TQCString& key, const TQCString& value, bool force)
520 bool
521 KeyValueMap::insert(const TQCString& key, const TQCString& value, bool force)
523 - register bool GUARD; GUARD=false;
524 + bool GUARD; GUARD=false;
525 // ###########################################################################
526 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
527 "KeyValueMap::insert: inserting value\n -->"
528 @@ -556,7 +556,7 @@ KeyValueMap::insert(const TQCString& key, const TQCString& value, bool force)
529 bool
530 KeyValueMap::insertLine(TQCString line, bool force, bool relax, bool encode)
532 - register bool GUARD; GUARD=false;
533 + bool GUARD; GUARD=false;
534 // ###########################################################################
535 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
536 "KeyValueMap::insertLine: inserting line -->"<<line<<"<--.\n";
537 @@ -611,7 +611,7 @@ KeyValueMap::insertLine(TQCString line, bool force, bool relax, bool encode)
538 bool
539 KeyValueMap::get(const TQCString& key, TQCString& value) const
541 - register bool GUARD; GUARD=false;
542 + bool GUARD; GUARD=false;
543 // ###########################################################################
544 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[string]: "
545 "trying to get value for key \"" << key << "\" ... " << endl;
546 @@ -651,7 +651,7 @@ KeyValueMap::get(const TQCString& key, TQCString& value) const
547 bool
548 KeyValueMap::insert(const TQCString& key, const TQString& value, bool force)
550 - register bool GUARD; GUARD=false;
551 + bool GUARD; GUARD=false;
552 // ###########################################################################
553 TQCString v;
554 // -----
555 @@ -668,7 +668,7 @@ KeyValueMap::insert(const TQCString& key, const TQString& value, bool force)
556 bool
557 KeyValueMap::get(const TQCString& key, TQString& value) const
559 - register bool GUARD; GUARD=false;
560 + bool GUARD; GUARD=false;
561 // ###########################################################################
562 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[QString]: trying to get "
563 "a TQString value for key " << key << endl;
564 @@ -694,7 +694,7 @@ KeyValueMap::get(const TQCString& key, TQString& value) const
565 bool
566 KeyValueMap::insert(const TQCString& key, const bool& value, bool force)
568 - register bool GUARD; GUARD=false;
569 + bool GUARD; GUARD=false;
570 // ###########################################################################
571 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[bool]: trying to "
572 "insert \""
573 @@ -709,7 +709,7 @@ KeyValueMap::insert(const TQCString& key, const bool& value, bool force)
574 bool
575 KeyValueMap::get(const TQCString& key, bool& value) const
577 - register bool GUARD; GUARD=false;
578 + bool GUARD; GUARD=false;
579 // ###########################################################################
580 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[bool]: trying to get "
581 "BOOL value for key " << key << endl;
582 @@ -750,7 +750,7 @@ KeyValueMap::get(const TQCString& key, bool& value) const
583 bool
584 KeyValueMap::insert(const TQCString& key, const long& value, bool force)
586 - register bool GUARD; GUARD=false;
587 + bool GUARD; GUARD=false;
588 // ###########################################################################
589 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[int]: trying to "
590 "insert value \""<<value << "\" for key\n -->"<<key<<"<--.\n";
591 @@ -764,7 +764,7 @@ KeyValueMap::insert(const TQCString& key, const long& value, bool force)
592 bool
593 KeyValueMap::get(const TQCString& key, long& value) const
595 - register bool GUARD; GUARD=false;
596 + bool GUARD; GUARD=false;
597 // ###########################################################################
598 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[int]: trying to get "
599 "INTEGER value for key " << key << endl;
600 @@ -796,7 +796,7 @@ KeyValueMap::get(const TQCString& key, long& value) const
601 bool
602 KeyValueMap::insert(const TQCString& key, const list<long>& values, bool force)
604 - register bool GUARD; GUARD=false;
605 + bool GUARD; GUARD=false;
606 // ###########################################################################
607 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[long int list]: "
608 "trying to insert long int list into map." << endl;
609 @@ -823,7 +823,7 @@ KeyValueMap::insert(const TQCString& key, const list<long>& values, bool force)
610 bool
611 KeyValueMap::get(const TQCString& key, list<long>& values) const
613 - register bool GUARD; GUARD=false;
614 + bool GUARD; GUARD=false;
615 // ###########################################################################
616 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[long int list]: trying "
617 "to decode int list for key " << key << endl;
618 @@ -871,7 +871,7 @@ KeyValueMap::get(const TQCString& key, list<long>& values) const
619 bool
620 KeyValueMap::insert(const TQCString& key, const list<int>& values, bool force)
622 - register bool GUARD; GUARD=false;
623 + bool GUARD; GUARD=false;
624 // ###########################################################################
625 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[int list]: trying to "
626 "insert int list into map." << endl;
627 @@ -898,7 +898,7 @@ KeyValueMap::insert(const TQCString& key, const list<int>& values, bool force)
628 bool
629 KeyValueMap::get(const TQCString& key, list<int>& values) const
631 - register bool GUARD; GUARD=false;
632 + bool GUARD; GUARD=false;
633 // ###########################################################################
634 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[int list]: trying to "
635 "decode int list for key " << key << endl;
636 @@ -946,7 +946,7 @@ KeyValueMap::get(const TQCString& key, list<int>& values) const
637 bool
638 KeyValueMap::insert(const TQCString& key, const double& value, bool force)
640 - register bool GUARD; GUARD=false;
641 + bool GUARD; GUARD=false;
642 // ###########################################################################
643 kdDebug(GUARD, KAB_KDEBUG_AREA).form("KeyValueMap::insert[double]: trying to "
644 "insert value \"%f\" for key\n -->", value) << key << "<--.\n";
645 @@ -960,7 +960,7 @@ KeyValueMap::insert(const TQCString& key, const double& value, bool force)
646 bool
647 KeyValueMap::get(const TQCString& key, double& value) const
649 - register bool GUARD; GUARD=false;
650 + bool GUARD; GUARD=false;
651 // ###########################################################################
652 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[double]: trying to get "
653 "FLOAT value for key " << key << endl;
654 @@ -993,7 +993,7 @@ KeyValueMap::get(const TQCString& key, double& value) const
655 bool
656 KeyValueMap::get(const TQCString& key, list<TQCString>& values) const
658 - register bool GUARD; GUARD=false;
659 + bool GUARD; GUARD=false;
660 kdDebug(!values.empty(), KAB_KDEBUG_AREA) << "KeyValueMap::get[string list]: "
661 "attention!\n \"values\" list reference is not "
662 "empty!" << endl;
663 @@ -1070,7 +1070,7 @@ KeyValueMap::get(const TQCString& key, list<TQCString>& values) const
664 bool
665 KeyValueMap::insert(const TQCString& key, const list<TQCString>& values, bool force)
667 - register bool GUARD; GUARD=false;
668 + bool GUARD; GUARD=false;
669 // ###########################################################################
670 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[string list]: "
671 "coding string list." << endl;
672 @@ -1102,7 +1102,7 @@ KeyValueMap::insert(const TQCString& key, const list<TQCString>& values, bool fo
673 bool
674 KeyValueMap::get(const TQCString& key, TQStrList& values) const
676 - register bool GUARD; GUARD=false;
677 + bool GUARD; GUARD=false;
678 kdDebug(!values.isEmpty(), KAB_KDEBUG_AREA) << "KeyValueMap::get[QStrList]: "
679 "attention!\n \"values\" list reference is not "
680 "empty!" << endl;
681 @@ -1178,7 +1178,7 @@ KeyValueMap::get(const TQCString& key, TQStrList& values) const
682 bool
683 KeyValueMap::insert(const TQCString& key, const TQStrList& values, bool force)
685 - register bool GUARD; GUARD=false;
686 + bool GUARD; GUARD=false;
687 // ###########################################################################
688 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
689 "KeyValueMap::insert[QStrList]: coding string list." << endl;
690 @@ -1209,7 +1209,7 @@ KeyValueMap::insert(const TQCString& key, const TQStrList& values, bool force)
691 bool
692 KeyValueMap::get(const TQCString& key, TQStringList& values) const
694 - register bool GUARD; GUARD=false;
695 + bool GUARD; GUARD=false;
696 kdDebug(!values.isEmpty(), KAB_KDEBUG_AREA) << "KeyValueMap::get"
697 "[QStringList]: attention!\n \"values\" list reference"
698 " is not empty!" << endl;
699 @@ -1242,7 +1242,7 @@ KeyValueMap::get(const TQCString& key, TQStringList& values) const
700 bool
701 KeyValueMap::insert(const TQCString& key, const TQStringList& values, bool force)
703 - register bool GUARD; GUARD=false;
704 + bool GUARD; GUARD=false;
705 // ###########################################################################
706 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
707 "KeyValueMap::insert[QStringList]: coding TQStringList." << endl;
708 @@ -1265,7 +1265,7 @@ KeyValueMap::insert(const TQCString& key, const TQStringList& values, bool force
709 bool
710 KeyValueMap::insert(const TQCString& key, const list<double>& values, bool force)
712 - register bool GUARD; GUARD=false;
713 + bool GUARD; GUARD=false;
714 // ###########################################################################
715 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[double list]: trying "
716 "to insert double list into map." << endl;
717 @@ -1293,7 +1293,7 @@ KeyValueMap::insert(const TQCString& key, const list<double>& values, bool force
718 bool
719 KeyValueMap::get(const TQCString& key, list<double>& values) const
721 - register bool GUARD; GUARD=false;
722 + bool GUARD; GUARD=false;
723 // ###########################################################################
724 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[double list]: trying to "
725 "decode double list for key " << key << endl;
726 @@ -1336,7 +1336,7 @@ KeyValueMap::get(const TQCString& key, list<double>& values) const
727 bool
728 KeyValueMap::insert(const TQCString& key, const TQDate& value, bool force)
730 - register bool GUARD; GUARD=false;
731 + bool GUARD; GUARD=false;
732 // ###########################################################################
733 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[QDate]: trying to "
734 "insert TQDate into map." << endl;
735 @@ -1360,7 +1360,7 @@ KeyValueMap::insert(const TQCString& key, const TQDate& value, bool force)
736 bool
737 KeyValueMap::get(const TQCString& key, TQDate& date) const
739 - register bool GUARD; GUARD=false;
740 + bool GUARD; GUARD=false;
741 // ###########################################################################
742 kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[QDate]: trying to decode"
743 " TQDate for key " << key << endl;
744 @@ -1420,7 +1420,7 @@ Section::Section(const KeyValueMap& contents)
745 bool
746 Section::add(const TQCString& name)
748 - register bool GUARD; GUARD=false;
749 + bool GUARD; GUARD=false;
750 // ###########################################################################
751 kdDebug(GUARD, KAB_KDEBUG_AREA) << "Section::add: adding section \""
752 <<name<<"\" to "
753 @@ -1455,7 +1455,7 @@ Section::add(const TQCString& name)
754 bool
755 Section::add(const TQCString& name, Section* section)
757 - register bool GUARD; GUARD=false;
758 + bool GUARD; GUARD=false;
759 // ###########################################################################
760 if(sections.insert(StringSectionMap::value_type(name, section)).second)
762 @@ -1473,7 +1473,7 @@ Section::add(const TQCString& name, Section* section)
763 bool
764 Section::find(const TQCString& name, StringSectionMap::iterator& result)
766 - register bool GUARD; GUARD=false;
767 + bool GUARD; GUARD=false;
768 // ###########################################################################
769 kdDebug(GUARD, KAB_KDEBUG_AREA) << "Section::find: trying to get section "
770 "\""<<name<<"\" ... \n";
771 @@ -1549,7 +1549,7 @@ Section::insertIndentSpace(TQTextStream& file, int level)
772 bool
773 Section::save(TQTextStream& stream, int level)
775 - register bool GUARD; GUARD=false;
776 + bool GUARD; GUARD=false;
777 // ###########################################################################
778 StringSectionMap::iterator pos;
779 // -----
780 @@ -1592,7 +1592,7 @@ Section::save(TQTextStream& stream, int level)
781 bool
782 Section::readSection(TQTextStream& file, bool finish)
784 - register bool GUARD; GUARD=false;
785 + bool GUARD; GUARD=false;
786 // ###########################################################################
787 kdDebug(GUARD, KAB_KDEBUG_AREA) << "Section::readSection: reading section." << endl;
788 TQCString line;
789 @@ -1661,7 +1661,7 @@ Section::readSection(TQTextStream& file, bool finish)
790 bool
791 Section::isBeginOfSection(TQCString line)
793 - register bool GUARD; GUARD=false;
794 + bool GUARD; GUARD=false;
795 // ###########################################################################
796 line=line.simplifyWhiteSpace();
797 if(line.isEmpty() || line.length()<2)
798 @@ -1687,7 +1687,7 @@ Section::isBeginOfSection(TQCString line)
799 bool
800 Section::isEndOfSection(TQCString line)
802 - register bool GUARD; GUARD=false;
803 + bool GUARD; GUARD=false;
804 // ###########################################################################
805 kdDebug(GUARD, KAB_KDEBUG_AREA) << "Section::isEndOfSection: is "
806 << line <<" the end of"
807 @@ -1728,7 +1728,7 @@ Section::isEndOfSection(TQCString line)
808 TQCString
809 Section::nameOfSection(const TQCString& line)
811 - register bool GUARD; GUARD=false;
812 + bool GUARD; GUARD=false;
813 // ###########################################################################
814 int first=1, second;
815 TQCString temp;
816 @@ -1849,7 +1849,7 @@ bool QConfigDB::invariant()
817 bool
818 QConfigDB::get(const list<TQCString>& key, KeyValueMap*& map)
820 - register bool GUARD; GUARD=false;
821 + bool GUARD; GUARD=false;
822 // ############################################################################
823 kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::get: trying to get keys ... " << endl;
824 Section* section=&top;
825 @@ -1960,7 +1960,7 @@ QConfigDB::get(const TQCString& key, KeyValueMap*& map)
826 list<TQCString>
827 QConfigDB::stringToKeylist(const TQCString& desc)
829 - register bool GUARD; GUARD=false;
830 + bool GUARD; GUARD=false;
831 kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::stringToKeylist: parsing path " << desc << endl;
832 // ############################################################################
833 list<TQCString> key;
834 @@ -2012,7 +2012,7 @@ QConfigDB::get(const TQCString& key, Section*& section)
835 bool
836 QConfigDB::get(const list<TQCString>& key, Section*& section)
838 - register bool GUARD; GUARD=false;
839 + bool GUARD; GUARD=false;
840 // ############################################################################
841 kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::get: searching section ... " << endl;
842 Section* temp=&top;
843 @@ -2044,7 +2044,7 @@ QConfigDB::isRO()
845 QConfigDB::IsLocked(const TQString& file)
847 - register bool GUARD; GUARD=false;
848 + bool GUARD; GUARD=false;
849 // ############################################################################
850 TQString lockfile=file+".lock";
851 int pid=-1;
852 @@ -2087,7 +2087,7 @@ QConfigDB::IsLocked(const TQString& file)
853 bool
854 QConfigDB::lock()
856 - register bool GUARD; GUARD=false;
857 + bool GUARD; GUARD=false;
858 // ############################################################################
859 if(locked)
861 @@ -2108,7 +2108,7 @@ QConfigDB::lock()
862 bool
863 QConfigDB::lock(const TQString& file)
865 - register bool GUARD; GUARD=false;
866 + bool GUARD; GUARD=false;
867 // ############################################################################
868 kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::lock: locking the file "
869 << file << endl;
870 @@ -2143,7 +2143,7 @@ QConfigDB::lock(const TQString& file)
871 bool
872 QConfigDB::unlock()
874 - register bool GUARD; GUARD=false;
875 + bool GUARD; GUARD=false;
876 // ############################################################################
877 kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::unlock: unlocking the file "
878 << filename << endl;
879 @@ -2190,7 +2190,7 @@ QConfigDB::unlock()
880 void
881 QConfigDB::CleanLockFiles(int)
883 - register bool GUARD; GUARD=false;
884 + bool GUARD; GUARD=false;
885 // ############################################################################
886 list<TQString>::iterator pos;
887 // -----
888 @@ -2236,7 +2236,7 @@ QConfigDB::watch(bool state)
889 bool
890 QConfigDB::CheckLockFile(const TQString& file)
892 - register bool GUARD; GUARD=false;
893 + bool GUARD; GUARD=false;
894 // ############################################################################
895 kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::CheckLockFile: called." << endl;
896 int pid;
897 @@ -2270,7 +2270,7 @@ QConfigDB::CheckLockFile(const TQString& file)
898 bool
899 QConfigDB::checkFileChanged()
901 - register bool GUARD; GUARD=false;
902 + bool GUARD; GUARD=false;
903 // ############################################################################
904 // kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::checkFileChanged: called." << endl;
905 if(filename.isEmpty())
906 @@ -2308,7 +2308,7 @@ QConfigDB::checkFileChanged()
907 bool
908 QConfigDB::storeFileAge()
910 - register bool GUARD; GUARD=false;
911 + bool GUARD; GUARD=false;
912 // ############################################################################
913 kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::storeFileAge: called." << endl;
914 TQFileInfo file(filename);
915 @@ -2329,7 +2329,7 @@ QConfigDB::storeFileAge()
916 bool
917 QConfigDB::setFileName(const TQString& filename_, bool mustexist, bool readonly_)
919 - register bool GUARD; GUARD=false;
920 + bool GUARD; GUARD=false;
921 // ############################################################################
922 kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::setFileName: setting filename "
923 "to \""
924 @@ -2443,7 +2443,7 @@ QConfigDB::fileName()
925 bool
926 QConfigDB::save(const char* header, bool force)
928 - register bool GUARD; GUARD=true;
929 + bool GUARD; GUARD=true;
930 // ############################################################################
931 kdDebug(GUARD, KAB_KDEBUG_AREA) <<
932 "QConfigDB::save: saving database -->" << filename << "<--.\n";
933 @@ -2522,7 +2522,7 @@ QConfigDB::save(const char* header, bool force)
934 bool
935 QConfigDB::load()
937 - register bool GUARD; GUARD=false ;
938 + bool GUARD; GUARD=false ;
939 // ############################################################################
940 TQFile file(filename);
941 // -----
942 diff --git a/kded/tde-applications.menu b/kded/tde-applications.menu
943 index afd80225..e73a6fcf 100644
944 --- a/kded/tde-applications.menu
945 +++ b/kded/tde-applications.menu
946 @@ -359,6 +359,17 @@
947 </And>
948 </Include>
949 </Menu>
950 + <Menu>
951 + <Name>Logic Games</Name>
952 + <Directory>tde-games-logic.directory</Directory>
953 + <Include>
954 + <And>
955 + <Category>Game</Category>
956 + <Category>LogicGame</Category>
957 + <Not><Category>KDE</Category></Not>
958 + </And>
959 + </Include>
960 + </Menu>
961 <Include>
962 <And>
963 <Category>Game</Category>
964 @@ -369,6 +380,7 @@
965 <Category>X-TDE-KidsGame</Category>
966 <Category>KidsGame</Category>
967 <Category>StrategyGame</Category>
968 + <Category>LogicGame</Category>
969 <Category>KDE</Category>
970 </Not>
971 </And>
972 diff --git a/kdoctools/customization/entities/general.entities b/kdoctools/customization/entities/general.entities
973 index eda9ac3f..fd9b0e65 100644
974 --- a/kdoctools/customization/entities/general.entities
975 +++ b/kdoctools/customization/entities/general.entities
976 @@ -425,6 +425,6 @@
978 <!ENTITY tde-team "The &tde; Team">
980 -<!ENTITY tde-release-version "R14.0.7">
981 -<!ENTITY tde-release-date "December 18, 2019">
982 -<!ENTITY tde-copyright-date "2010-2019">
983 +<!ENTITY tde-release-version "R14.0.8 [DEVELOPMENT]">
984 +<!ENTITY tde-release-date "January 02, 2020">
985 +<!ENTITY tde-copyright-date "2010-2020">
986 diff --git a/kjs/configure.in.in b/kjs/configure.in.in
987 index fd23612e..1c4d3ac5 100644
988 --- a/kjs/configure.in.in
989 +++ b/kjs/configure.in.in
990 @@ -1,46 +1,6 @@
991 dnl KDE JavaScript specific configure tests
993 AC_CHECK_HEADERS(ieeefp.h float.h)
994 -AC_CHECK_LIB(m, finite, [
995 - AC_DEFINE_UNQUOTED(HAVE_FUNC_FINITE, 1, [Define if you have finite])
997 -AC_CHECK_LIB(m, _finite, [
998 - AC_DEFINE_UNQUOTED(HAVE_FUNC__FINITE, 1, [Define if you have _finite])
1001 -dnl The C99 standard says that isinf and isnan are macros, but they might
1002 -dnl be functions on some platforms.
1003 -AC_DEFUN([AC_CHECK_ISNAN],
1005 - ac_save_libs="$LIBS"
1006 - LIBS="-lm"
1007 - AC_MSG_CHECKING([for isnan with <math.h>])
1008 - AC_TRY_LINK(
1009 - [#include <math.h>
1010 - float f;], [return isnan(f)],
1011 - [AC_MSG_RESULT(yes)
1012 - AC_DEFINE([HAVE_FUNC_ISNAN], [1], [Define if you have isnan])],
1013 - AC_MSG_RESULT(no)
1015 - LIBS="$ac_save_libs"
1017 -AC_DEFUN([AC_CHECK_ISINF],
1019 - ac_save_libs="$LIBS"
1020 - LIBS="-lm"
1021 - AC_MSG_CHECKING([for isinf with <math.h>])
1022 - AC_TRY_LINK(
1023 - [#include <math.h>
1024 - float f;], [return isinf(f)],
1025 - [AC_MSG_RESULT(yes)
1026 - AC_DEFINE([HAVE_FUNC_ISINF], [1], [Define if you have isinf])],
1027 - AC_MSG_RESULT(no)
1029 - LIBS="$ac_save_libs"
1032 -AC_CHECK_ISNAN
1033 -AC_CHECK_ISINF
1035 AC_DEFUN([AC_CHECK_PCREPOSIX],
1037 diff --git a/kjs/dtoa.cpp b/kjs/dtoa.cpp
1038 index 054450f1..c39fa5bc 100644
1039 --- a/kjs/dtoa.cpp
1040 +++ b/kjs/dtoa.cpp
1041 @@ -610,9 +610,9 @@ s2b
1043 static int
1044 hi0bits
1045 - (register ULong x)
1046 + (ULong x)
1048 - register int k = 0;
1049 + int k = 0;
1051 if (!(x & 0xffff0000)) {
1052 k = 16;
1053 @@ -642,8 +642,8 @@ hi0bits
1054 lo0bits
1055 (ULong *y)
1057 - register int k;
1058 - register ULong x = *y;
1059 + int k;
1060 + ULong x = *y;
1062 if (x & 7) {
1063 if (x & 1)
1064 @@ -1035,7 +1035,7 @@ diff
1066 (double dx)
1068 - register Long L;
1069 + Long L;
1070 U x, a;
1072 dval(x) = dx;
1073 diff --git a/kjs/operations.cpp b/kjs/operations.cpp
1074 index 63c1e669..b9314ecc 100644
1075 --- a/kjs/operations.cpp
1076 +++ b/kjs/operations.cpp
1077 @@ -25,7 +25,6 @@
1078 #endif
1079 #ifndef HAVE_FLOAT_H /* just for !Windows */
1080 #define HAVE_FLOAT_H 0
1081 -#define HAVE_FUNC__FINITE 0
1082 #endif
1084 #include <stdio.h>
1085 @@ -38,11 +37,9 @@
1086 #include <sunmath.h>
1087 #endif
1089 -#ifndef HAVE_FUNC_ISINF
1090 #ifdef HAVE_IEEEFP_H
1091 #include <ieeefp.h>
1092 #endif
1093 -#endif /* HAVE_FUNC_ISINF */
1095 #if HAVE_FLOAT_H
1096 #include <float.h>
1097 @@ -55,52 +52,22 @@ using namespace KJS;
1099 bool KJS::isNaN(double d)
1101 -#ifdef HAVE_FUNC_ISNAN
1102 return isnan(d);
1103 -#elif defined HAVE_FLOAT_H
1104 - return _isnan(d) != 0;
1105 -#else
1106 - return !(d == d);
1107 -#endif
1110 bool KJS::isInf(double d)
1112 -#if defined(HAVE_FUNC_ISINF)
1113 return isinf(d);
1114 -#elif HAVE_FUNC_FINITE
1115 - return finite(d) == 0 && d == d;
1116 -#elif HAVE_FUNC__FINITE
1117 - return _finite(d) == 0 && d == d;
1118 -#else
1119 - return false;
1120 -#endif
1123 bool KJS::isPosInf(double d)
1125 -#if defined(HAVE_FUNC_ISINF)
1126 - return (isinf(d) == 1);
1127 -#elif HAVE_FUNC_FINITE
1128 - return finite(d) == 0 && d == d; // ### can we distinguish between + and - ?
1129 -#elif HAVE_FUNC__FINITE
1130 - return _finite(d) == 0 && d == d; // ###
1131 -#else
1132 - return false;
1133 -#endif
1134 + return ( isinf(d) && d > 0 );
1137 bool KJS::isNegInf(double d)
1139 -#if defined(HAVE_FUNC_ISINF)
1140 - return (isinf(d) == -1);
1141 -#elif HAVE_FUNC_FINITE
1142 - return finite(d) == 0 && d == d; // ###
1143 -#elif HAVE_FUNC__FINITE
1144 - return _finite(d) == 0 && d == d; // ###
1145 -#else
1146 - return false;
1147 -#endif
1148 + return ( isinf(d) && d < 0 );
1151 // ECMA 11.9.3
1152 diff --git a/mimetypes/application/pgp-keys.desktop b/mimetypes/application/pgp-keys.desktop
1153 index e08c5758..f80f390e 100644
1154 --- a/mimetypes/application/pgp-keys.desktop
1155 +++ b/mimetypes/application/pgp-keys.desktop
1156 @@ -1,7 +1,7 @@
1157 [Desktop Entry]
1158 Type=MimeType
1159 MimeType=application/pgp-keys
1160 -Icon=certificate
1161 +Icon=encrypted
1162 Patterns=*.pgp;*.gpg;*.asc
1163 Comment=OpenPGP Key Bundle
1164 Comment[af]=OpenPGP Sleutel Bundel
1165 diff --git a/mimetypes/application/pgp-signature.desktop b/mimetypes/application/pgp-signature.desktop
1166 index df787440..fea4187e 100644
1167 --- a/mimetypes/application/pgp-signature.desktop
1168 +++ b/mimetypes/application/pgp-signature.desktop
1169 @@ -15,7 +15,7 @@ Comment[cs]=Samostatný podpis OpenPGP
1170 Comment[csb]=Osóbny pòdpisënk OpenPGP
1171 Comment[cy]=Llofnod OpenPGP wedi'i Ddatglymu
1172 Comment[da]=Løsreven OpenPGP-underskrift
1173 -Comment[de]=Abgetrennte OpenPGP-Signatur
1174 +Comment[de]=Abgetrennte OpenPGP-Unterschrift
1175 Comment[el]=Αποσπασμένη υπογραφή OpenPGP
1176 Comment[eo]=Deligita OpenPGP-subskribo
1177 Comment[es]=Firma suelta OpenPGP
1178 diff --git a/mimetypes/application/pkcs10.desktop b/mimetypes/application/pkcs10.desktop
1179 index 66fb6f35..6d079948 100644
1180 --- a/mimetypes/application/pkcs10.desktop
1181 +++ b/mimetypes/application/pkcs10.desktop
1182 @@ -1,7 +1,7 @@
1183 [Desktop Entry]
1184 Type=MimeType
1185 MimeType=application/pkcs10
1186 -Icon=certificate
1187 +Icon=encrypted
1188 Patterns=*.p10;*.P10
1189 Comment=S/MIME Certification Request
1190 Comment[af]=S/MIME Sertifikaat Aanvraag
1191 diff --git a/mimetypes/application/pkcs7-signature.desktop b/mimetypes/application/pkcs7-signature.desktop
1192 index 613d03db..3a6380c5 100644
1193 --- a/mimetypes/application/pkcs7-signature.desktop
1194 +++ b/mimetypes/application/pkcs7-signature.desktop
1195 @@ -1,7 +1,7 @@
1196 [Desktop Entry]
1197 Type=MimeType
1198 MimeType=application/pkcs7-signature
1199 -Icon=certificate
1200 +Icon=encrypted
1201 Patterns=*.p7s;*.P7S
1202 Comment=Detached S/MIME Signature
1203 Comment[af]=Ontkoppel S/Mime Handtekening
1204 @@ -16,7 +16,7 @@ Comment[cs]=Samostatný podpis S/MIME
1205 Comment[csb]=Osóbny pòdpisënk S/MIME
1206 Comment[cy]=Llofnod S/MIME wedi'i Ddatglymu
1207 Comment[da]=Løsreven S/MIME-underskrift
1208 -Comment[de]=Abgetrennte S/MIME-Signatur
1209 +Comment[de]=Abgetrennte S/MIME-Unterschrift
1210 Comment[el]=Αποσπασμένη υπογραφή S/MIME
1211 Comment[eo]=Deligita S/MIME-subskribo
1212 Comment[es]=Firma suelta S/MIME
1213 diff --git a/mimetypes/application/x-font-bdf.desktop b/mimetypes/application/x-font-bdf.desktop
1214 index dde21706..6f283053 100644
1215 --- a/mimetypes/application/x-font-bdf.desktop
1216 +++ b/mimetypes/application/x-font-bdf.desktop
1217 @@ -1,7 +1,7 @@
1218 [Desktop Entry]
1219 Type=MimeType
1220 MimeType=application/x-font-bdf
1221 -Icon=font-x-generic_bitmap
1222 +Icon=font-x-generic
1223 Patterns=*.bdf;*.bdf.Z;*.bdf.gz;*.BDF;*.BDF.Z;*.BDF.gz
1224 Comment=BDF Bitmap Font
1225 Comment[af]=Bdf Biskaart Skrif tipe
1226 diff --git a/mimetypes/application/x-font-otf.desktop b/mimetypes/application/x-font-otf.desktop
1227 index 3d187f48..800a54fd 100644
1228 --- a/mimetypes/application/x-font-otf.desktop
1229 +++ b/mimetypes/application/x-font-otf.desktop
1230 @@ -76,7 +76,7 @@ Comment[wa]=Fonte OpenType
1231 Comment[zh_CN]=OpenType 字体
1232 Comment[zh_HK]=OpenType 字型
1233 Comment[zh_TW]=OpenType 字型
1234 -Icon=font-x-generic_truetype
1235 +Icon=application-x-font-ttf
1236 Type=MimeType
1237 MimeType=application/x-font-otf
1238 Patterns=*.otf;*.OTF
1239 diff --git a/mimetypes/application/x-font-pcf.desktop b/mimetypes/application/x-font-pcf.desktop
1240 index ced562ca..2d9b62d1 100644
1241 --- a/mimetypes/application/x-font-pcf.desktop
1242 +++ b/mimetypes/application/x-font-pcf.desktop
1243 @@ -1,7 +1,7 @@
1244 [Desktop Entry]
1245 Type=MimeType
1246 MimeType=application/x-font-pcf
1247 -Icon=font-x-generic_bitmap
1248 +Icon=font-x-generic
1249 Patterns=*.pcf;*.pcf.Z;*.pcf.gz;*.PCF;*.PCF.Z;*.PCF.gz
1250 Comment=PCF Bitmap Font
1251 Comment[af]=Pcf Biskaart Skrif tipe
1252 diff --git a/mimetypes/application/x-font-snf.desktop b/mimetypes/application/x-font-snf.desktop
1253 index 78bb4689..4ea6d2cc 100644
1254 --- a/mimetypes/application/x-font-snf.desktop
1255 +++ b/mimetypes/application/x-font-snf.desktop
1256 @@ -1,7 +1,7 @@
1257 [Desktop Entry]
1258 Type=MimeType
1259 MimeType=application/x-font-snf
1260 -Icon=font-x-generic_bitmap
1261 +Icon=font-x-generic
1262 Patterns=*.snf;*.snf.Z;*.snf.gz;*.SNF;*.SNF.Z;*.SNF.gz
1263 Comment=SNF Bitmap Font
1264 Comment[af]=Snf Biskaart Skrif tipe
1265 diff --git a/mimetypes/application/x-font-ttc.desktop b/mimetypes/application/x-font-ttc.desktop
1266 index 848b4028..a35cdd0d 100644
1267 --- a/mimetypes/application/x-font-ttc.desktop
1268 +++ b/mimetypes/application/x-font-ttc.desktop
1269 @@ -75,7 +75,7 @@ Comment[wa]=Ramexhnêye di fontes TrueType
1270 Comment[zh_CN]=Truetype 字体集合
1271 Comment[zh_HK]=TrueType 字型集
1272 Comment[zh_TW]=Truetype 字型集合
1273 -Icon=font-x-generic_truetype
1274 +Icon=application-x-font-ttf
1275 Type=MimeType
1276 MimeType=application/x-font-ttc
1277 Patterns=*.ttc;*.TTC
1278 diff --git a/mimetypes/application/x-font-ttf.desktop b/mimetypes/application/x-font-ttf.desktop
1279 index 12820c48..b10ee3b4 100644
1280 --- a/mimetypes/application/x-font-ttf.desktop
1281 +++ b/mimetypes/application/x-font-ttf.desktop
1282 @@ -76,7 +76,7 @@ Comment[wa]=Fonte TrueType
1283 Comment[zh_CN]=TrueType 字体
1284 Comment[zh_HK]=TrueType 字型
1285 Comment[zh_TW]=Truetype 字型
1286 -Icon=font-x-generic_truetype
1287 +Icon=application-x-font-ttf
1288 Type=MimeType
1289 MimeType=application/x-font-ttf
1290 Patterns=*.ttf;*.TTF
1291 diff --git a/mimetypes/application/x-font-type1.desktop b/mimetypes/application/x-font-type1.desktop
1292 index 5ba1335a..53eb8aee 100644
1293 --- a/mimetypes/application/x-font-type1.desktop
1294 +++ b/mimetypes/application/x-font-type1.desktop
1295 @@ -1,7 +1,7 @@
1296 [Desktop Entry]
1297 Type=MimeType
1298 MimeType=application/x-font-type1
1299 -Icon=font-x-generic_type1
1300 +Icon=application-x-font-type1
1301 Patterns=*.pfa;*.PFA;*.pfb;*.PFB
1302 Comment=PostScript Type1 Font
1303 Comment[af]=Postscript Tipe1 Skrif tipe
1304 diff --git a/mimetypes/application/x-java-applet.desktop b/mimetypes/application/x-java-applet.desktop
1305 index c6784aa9..7b2dc8ca 100644
1306 --- a/mimetypes/application/x-java-applet.desktop
1307 +++ b/mimetypes/application/x-java-applet.desktop
1308 @@ -71,5 +71,5 @@ Comment[vi]=Tiểu dụng Java
1309 Comment[wa]=Aplikete Java
1310 Comment[zh_CN]=Java 小程序
1311 MimeType=application/x-java-applet
1312 -Icon=java_jar
1313 +Icon=text-x-java
1314 X-TDE-AutoEmbed=true
1315 diff --git a/mimetypes/application/x-java-jnlp-file.desktop b/mimetypes/application/x-java-jnlp-file.desktop
1316 index 4a60276b..e87893e9 100644
1317 --- a/mimetypes/application/x-java-jnlp-file.desktop
1318 +++ b/mimetypes/application/x-java-jnlp-file.desktop
1319 @@ -1,4 +1,5 @@
1320 [Desktop Entry]
1321 +Icon=text-x-java
1322 Type=MimeType
1323 Comment=Java Web Start application
1324 Comment[af]=Java Web Begin program
1325 diff --git a/mimetypes/application/x-javascript.desktop b/mimetypes/application/x-javascript.desktop
1326 index 845ddb49..b06129a1 100644
1327 --- a/mimetypes/application/x-javascript.desktop
1328 +++ b/mimetypes/application/x-javascript.desktop
1329 @@ -1,7 +1,7 @@
1330 [Desktop Entry]
1331 Type=MimeType
1332 MimeType=application/x-javascript
1333 -Icon=javascript
1334 +Icon=text-x-jsrc
1335 Patterns=*.js;
1336 Comment=JavaScript File
1337 Comment[af]=JavaScript Lêer
1338 diff --git a/mimetypes/application/x-pkcs12.desktop b/mimetypes/application/x-pkcs12.desktop
1339 index 42e4c16d..e6bee676 100644
1340 --- a/mimetypes/application/x-pkcs12.desktop
1341 +++ b/mimetypes/application/x-pkcs12.desktop
1342 @@ -1,7 +1,7 @@
1343 [Desktop Entry]
1344 Type=MimeType
1345 MimeType=application/x-pkcs12
1346 -Icon=certificate
1347 +Icon=encrypted
1348 Patterns=*.p12;*.P12;*.pfx
1349 Comment=PKCS#12 Certificate Bundle
1350 Comment[af]=Pkcs#12 Sertifikaat Bundel
1351 diff --git a/mimetypes/application/x-python.desktop b/mimetypes/application/x-python.desktop
1352 index 02761c1c..79e9bb00 100644
1353 --- a/mimetypes/application/x-python.desktop
1354 +++ b/mimetypes/application/x-python.desktop
1355 @@ -83,7 +83,7 @@ Comment[zh_TW]=Python 程式
1356 Comment[zu]=Uhlelo lwamafayela lwe-Python
1357 Type=MimeType
1358 MimeType=application/x-python
1359 -Icon=text-x-src_py
1360 +Icon=text-x-python
1361 Patterns=*.py;
1362 X-TDE-IsAlso=application/x-executable-script
1364 diff --git a/mimetypes/image/x-djvu-2.desktop b/mimetypes/image/x-djvu-2.desktop
1365 index 9ac9e6e2..e4f6f413 100644
1366 --- a/mimetypes/image/x-djvu-2.desktop
1367 +++ b/mimetypes/image/x-djvu-2.desktop
1368 @@ -1,7 +1,7 @@
1369 [Desktop Entry]
1370 Type=MimeType
1371 MimeType=image/x.djvu
1372 -Icon=djvu
1373 +Icon=image-x-generic
1374 Patterns=*.djvu;*.DJVU;*.djv;*.DJV;
1375 Comment=DjVu Document
1376 Comment[af]=DjVu Dokument
1377 diff --git a/mimetypes/image/x-djvu.desktop b/mimetypes/image/x-djvu.desktop
1378 index fac481bb..fd107979 100644
1379 --- a/mimetypes/image/x-djvu.desktop
1380 +++ b/mimetypes/image/x-djvu.desktop
1381 @@ -1,7 +1,7 @@
1382 [Desktop Entry]
1383 Type=MimeType
1384 MimeType=image/x-djvu
1385 -Icon=djvu
1386 +Icon=image-x-generic
1387 Patterns=*.djvu;*.DJVU;*.djv;*.DJV;
1388 Comment=DjVu Document
1389 Comment[af]=DjVu Dokument
1390 diff --git a/mimetypes/text/x-python.desktop b/mimetypes/text/x-python.desktop
1391 index 2055bd2e..ed528c73 100644
1392 --- a/mimetypes/text/x-python.desktop
1393 +++ b/mimetypes/text/x-python.desktop
1394 @@ -83,7 +83,7 @@ Comment[zh_TW]=Python 程式
1395 Comment[zu]=Uhlelo lwamafayela lwe-Python
1396 Type=MimeType
1397 MimeType=text/x-python
1398 -Icon=text-x-src_py
1399 +Icon=text-x-python
1400 # alias of application/x-python
1401 X-TDE-IsAlso=application/x-python
1403 diff --git a/pics/crystalsvg/cr16-device-camera-photo.png b/pics/crystalsvg/cr16-device-camera-photo.png
1404 new file mode 100644
1405 index 00000000..c81e4875
1406 Binary files /dev/null and b/pics/crystalsvg/cr16-device-camera-photo.png differ
1407 diff --git a/pics/crystalsvg/cr22-device-camera-photo.png b/pics/crystalsvg/cr22-device-camera-photo.png
1408 new file mode 100644
1409 index 00000000..b35632bd
1410 Binary files /dev/null and b/pics/crystalsvg/cr22-device-camera-photo.png differ
1411 diff --git a/pics/crystalsvg/cr32-device-camera-photo.png b/pics/crystalsvg/cr32-device-camera-photo.png
1412 new file mode 100644
1413 index 00000000..ff8ed2d8
1414 Binary files /dev/null and b/pics/crystalsvg/cr32-device-camera-photo.png differ
1415 diff --git a/tdeabc/vcard/Enum.cpp b/tdeabc/vcard/Enum.cpp
1416 index bcb48f98..4811a095 100644
1417 --- a/tdeabc/vcard/Enum.cpp
1418 +++ b/tdeabc/vcard/Enum.cpp
1419 @@ -433,12 +433,12 @@ static signed char b64dec[] = {
1420 char *
1421 VCARD::decodeBase64(const char * s, unsigned long srcl, unsigned long & len)
1423 - register unsigned char c;
1424 - register unsigned long e(0);
1425 + unsigned char c;
1426 + unsigned long e(0);
1427 len = 0;
1428 unsigned const char * src = (unsigned const char *)s;
1429 char * ret = new char[srcl + (srcl / 4 + 1)];
1430 - register char *d = ret;
1431 + char *d = ret;
1432 while (srcl--) { // Critical loop
1433 c = *src++;
1434 int dec = b64dec[c];
1435 @@ -468,12 +468,12 @@ VCARD::decodeBase64(const char * s, unsigned long srcl, unsigned long & len)
1436 char *
1437 VCARD::encodeBase64(const char * src, unsigned long srcl, unsigned long & destl)
1439 - register const unsigned char *s = (unsigned char *)src;
1440 - register unsigned long i = ((srcl + 2) / 3) * 4;
1441 + const unsigned char *s = (unsigned char *)src;
1442 + unsigned long i = ((srcl + 2) / 3) * 4;
1443 destl = i += 2 * ((i / 60) + 1);
1444 i = 0;
1445 char * ret = new char[destl];
1446 - register unsigned char *d((unsigned char *)ret);
1447 + unsigned char *d((unsigned char *)ret);
1448 while (srcl != 0) { // Critical loop
1449 *d++ = B64[s[0] >> 2];
1450 *d++ = B64[((s[0] << 4) + (--srcl == 0 ? 0 : s[1] >> 4)) & 0x3f];
1451 diff --git a/tdeabc/vcard/RToken.cpp b/tdeabc/vcard/RToken.cpp
1452 index 582a9e1c..0f791068 100644
1453 --- a/tdeabc/vcard/RToken.cpp
1454 +++ b/tdeabc/vcard/RToken.cpp
1455 @@ -40,11 +40,11 @@ RTokenise(const char * str, const char * delim, TQStrList & l)
1457 char * len = (char *)(str + strlen(str)); // End of string.
1459 - register char * rstart = new char[strlen(str) + 1];
1460 - register char * r = rstart;
1461 + char * rstart = new char[strlen(str) + 1];
1462 + char * r = rstart;
1465 - register const char * i = str; // Cursor.
1466 + const char * i = str; // Cursor.
1468 while (i <= len) {
1470 diff --git a/tdecert/tdecertpart.desktop b/tdecert/tdecertpart.desktop
1471 index eeedd2de..223221a7 100644
1472 --- a/tdecert/tdecertpart.desktop
1473 +++ b/tdecert/tdecertpart.desktop
1474 @@ -83,7 +83,7 @@ Comment[zh_HK]=可嵌入的個人證書管理工具
1475 Comment[zh_TW]=可嵌入的個人認證管理工具
1476 Comment[zu]=Imeneja Yesitifiketi Sobunini Oshuthekiwe
1477 MimeType=application/x-pkcs12;application/x-x509-ca-cert;application/binary-certificate;
1478 -Icon=system-lock-screen
1479 +Icon=encrypted
1480 Name=KCertPart
1481 Name[af]=Kcertpart
1482 Name[bn]=কে-সার্ট-পার্ট
1483 diff --git a/tdecore/kbufferedio.cpp b/tdecore/kbufferedio.cpp
1484 index 2424c95e..7a080ec6 100644
1485 --- a/tdecore/kbufferedio.cpp
1486 +++ b/tdecore/kbufferedio.cpp
1487 @@ -174,7 +174,7 @@ int TDEBufferedIO::unreadBlock(const char *data, uint len)
1488 unsigned TDEBufferedIO::consumeReadBuffer(unsigned nbytes, char *destbuffer, bool discard)
1491 - register unsigned u = readBufferSize();
1492 + unsigned u = readBufferSize();
1493 if (nbytes > u)
1494 nbytes = u; // we can't consume more than there is
1496 diff --git a/tdecore/kentities.c b/tdecore/kentities.c
1497 index 141ed9db..8610b49e 100644
1498 --- a/tdecore/kentities.c
1499 +++ b/tdecore/kentities.c
1500 @@ -73,7 +73,7 @@ inline
1501 #endif
1502 #endif
1503 static unsigned int
1504 -hash_Entity (register const char *str, register unsigned int len)
1505 +hash_Entity (const char *str, unsigned int len)
1507 static const unsigned short asso_values[] =
1509 @@ -104,7 +104,7 @@ hash_Entity (register const char *str, register unsigned int len)
1510 932, 932, 932, 932, 932, 932, 932, 932, 932, 932,
1511 932, 932, 932, 932, 932, 932, 932
1513 - register int hval = len;
1514 + int hval = len;
1516 switch (hval)
1518 @@ -140,7 +140,7 @@ hash_Entity (register const char *str, register unsigned int len)
1519 __inline
1520 #endif
1521 const struct entity *
1522 -kde_findEntity (register const char *str, register unsigned int len)
1523 +kde_findEntity (const char *str, unsigned int len)
1525 enum
1527 @@ -815,15 +815,15 @@ kde_findEntity (register const char *str, register unsigned int len)
1529 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
1531 - register int key = hash_Entity (str, len);
1532 + int key = hash_Entity (str, len);
1534 if (key <= MAX_HASH_VALUE && key >= 0)
1536 - register int index = lookup[key];
1537 + int index = lookup[key];
1539 if (index >= 0)
1541 - register const char *s = wordlist_Entity[index].name;
1542 + const char *s = wordlist_Entity[index].name;
1544 if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
1545 return &wordlist_Entity[index];
1546 diff --git a/tdecore/kextsock.cpp b/tdecore/kextsock.cpp
1547 index de173538..b9a6efb1 100644
1548 --- a/tdecore/kextsock.cpp
1549 +++ b/tdecore/kextsock.cpp
1550 @@ -1509,7 +1509,7 @@ TQT_TQIO_LONG KExtendedSocket::tqwriteBlock(const char *data, TQT_TQIO_ULONG len
1552 // LOCK BUFFER MUTEX
1554 - register unsigned wsize = writeBufferSize();
1555 + unsigned wsize = writeBufferSize();
1556 if (d->outMaxSize == (int)wsize) // (int) to get rid of annoying warning
1558 // buffer is full!
1559 diff --git a/tdecore/kmdcodec.cpp b/tdecore/kmdcodec.cpp
1560 index 48afddb0..b5d540f5 100644
1561 --- a/tdecore/kmdcodec.cpp
1562 +++ b/tdecore/kmdcodec.cpp
1563 @@ -137,9 +137,9 @@ const unsigned int KCodecs::maxQPLineLength = 70;
1565 /******************************** KCodecs ********************************/
1566 // strchr(3) for broken systems.
1567 -static int rikFindChar(register const char * _s, const char c)
1568 +static int rikFindChar(const char * _s, const char c)
1570 - register const char * s = _s;
1571 + const char * s = _s;
1573 while (true)
1575 diff --git a/tdecore/kstringhandler.cpp b/tdecore/kstringhandler.cpp
1576 index b19c5b87..5f73c6f7 100644
1577 --- a/tdecore/kstringhandler.cpp
1578 +++ b/tdecore/kstringhandler.cpp
1579 @@ -567,7 +567,7 @@ TQString KStringHandler::obscure( const TQString &str )
1580 bool KStringHandler::isUtf8(const char *buf)
1582 int i, n;
1583 - register unsigned char c;
1584 + unsigned char c;
1585 bool gotone = false;
1587 if (!buf)
1588 diff --git a/tdecore/network/tdesocketdevice.cpp b/tdecore/network/tdesocketdevice.cpp
1589 index e4802bb7..b97ad0ba 100644
1590 --- a/tdecore/network/tdesocketdevice.cpp
1591 +++ b/tdecore/network/tdesocketdevice.cpp
1592 @@ -39,7 +39,7 @@
1593 #include <unistd.h>
1595 #ifdef HAVE_POLL
1596 -# include <sys/poll.h>
1597 +# include <poll.h>
1598 #else
1599 # ifdef HAVE_SYS_SELECT
1600 # include <sys/select.h>
1601 diff --git a/tdecore/svgicons/ksvgiconengine.h b/tdecore/svgicons/ksvgiconengine.h
1602 index 033064c0..9ed82519 100644
1603 --- a/tdecore/svgicons/ksvgiconengine.h
1604 +++ b/tdecore/svgicons/ksvgiconengine.h
1605 @@ -23,8 +23,6 @@
1607 #include <tdelibs_export.h>
1609 -/** \internal DO NOT USE! */
1611 class KSVGIconPainter;
1613 class TDECORE_EXPORT KSVGIconEngine
1614 diff --git a/tdecore/tdeconfigbackend.cpp b/tdecore/tdeconfigbackend.cpp
1615 index 06939551..3dd45006 100644
1616 --- a/tdecore/tdeconfigbackend.cpp
1617 +++ b/tdecore/tdeconfigbackend.cpp
1618 @@ -114,8 +114,8 @@ static TQCString printableToString(const char *str, int l)
1620 static TQCString stringToPrintable(const TQCString& str){
1621 TQCString result(str.length()*2); // Maximum 2x as long as source string
1622 - register char *r = const_cast<TQCString&>(result).data();
1623 - register char *s = const_cast<TQCString&>(str).data();
1624 + char *r = const_cast<TQCString&>(result).data();
1625 + char *s = const_cast<TQCString&>(str).data();
1627 if (!s) return TQCString("");
1629 @@ -166,7 +166,7 @@ static TQCString stringToPrintable(const TQCString& str){
1630 static TQCString decodeGroup(const char*s, int l)
1632 TQCString result(l);
1633 - register char *r = result.data();
1634 + char *r = result.data();
1636 l--; // Correct for trailing \0
1637 while(l)
1638 @@ -198,8 +198,8 @@ static TQCString encodeGroup(const TQCString &str)
1640 int l = str.length();
1641 TQCString result(l*2+1);
1642 - register char *r = const_cast<TQCString&>(result).data();
1643 - register char *s = const_cast<TQCString&>(str).data();
1644 + char *r = const_cast<TQCString&>(result).data();
1645 + char *s = const_cast<TQCString&>(str).data();
1646 while(l)
1648 if ((*s == '[') || (*s == ']'))
1649 diff --git a/tdecore/tdeconfigbase.cpp b/tdecore/tdeconfigbase.cpp
1650 index 944ca646..fc372841 100644
1651 --- a/tdecore/tdeconfigbase.cpp
1652 +++ b/tdecore/tdeconfigbase.cpp
1653 @@ -28,6 +28,7 @@
1654 #include <tqtextstream.h>
1656 #include <tdeapplication.h>
1657 +#include <tdeglobalsettings.h>
1658 #include <tdeglobal.h>
1659 #include <tdelocale.h>
1660 #include <kcharsets.h>
1661 @@ -274,9 +275,9 @@ TQString TDEConfigBase::readEntry( const char *pKey,
1662 // check for environment variables and make necessary translations
1663 int nDollarPos = aValue.find( '$' );
1665 - while( nDollarPos != -1 && nDollarPos+1 < static_cast<int>(aValue.length())) {
1666 + while( nDollarPos != -1 && (nDollarPos + 1) < static_cast<int>(aValue.length())) {
1667 // there is at least one $
1668 - if( (aValue)[nDollarPos+1] != '$' ) {
1669 + if( aValue[nDollarPos+1] != '$' ) {
1670 uint nEndPos = nDollarPos+1;
1671 // the next character is no $
1672 TQString aVarName;
1673 @@ -294,17 +295,48 @@ TQString TDEConfigBase::readEntry( const char *pKey,
1674 nEndPos++;
1675 aVarName = aValue.mid( nDollarPos+1, nEndPos-nDollarPos-1 );
1677 - const char* pEnv = 0;
1678 + const char *pEnv = 0;
1679 if (!aVarName.isEmpty())
1680 pEnv = getenv( aVarName.ascii() );
1681 - if( pEnv ) {
1682 + if (pEnv) {
1683 // !!! Sergey A. Sukiyazov <corwin@micom.don.ru> !!!
1684 // A environment variables may contain values in 8bit
1685 // locale cpecified encoding or in UTF8 encoding.
1686 aValue.replace( nDollarPos, nEndPos-nDollarPos, KStringHandler::from8Bit( pEnv ) );
1687 - } else
1689 + else if (aVarName.length() > 8 && aVarName.startsWith("XDG_") && aVarName.endsWith("_DIR")) {
1690 + TQString result;
1691 + if (aVarName == "XDG_DESKTOP_DIR") {
1692 + result = TDEGlobalSettings::desktopPath();
1694 + else if (aVarName == "XDG_DOCUMENTS_DIR") {
1695 + result = TDEGlobalSettings::documentPath();
1697 + else if (aVarName == "XDG_DOWNLOAD_DIR") {
1698 + result = TDEGlobalSettings::downloadPath();
1700 + else if (aVarName == "XDG_MUSIC_DIR") {
1701 + result = TDEGlobalSettings::musicPath();
1703 + else if (aVarName == "XDG_PICTURES_DIR") {
1704 + result = TDEGlobalSettings::picturesPath();
1706 + else if (aVarName == "XDG_PUBLICSHARE_DIR") {
1707 + result = TDEGlobalSettings::publicSharePath();
1709 + else if (aVarName == "XDG_TEMPLATES_DIR") {
1710 + result = TDEGlobalSettings::templatesPath();
1712 + else if (aVarName == "XDG_VIDEOS_DIR") {
1713 + result = TDEGlobalSettings::videosPath();
1715 + aValue.replace( nDollarPos, nEndPos-nDollarPos, result );
1717 + else {
1718 aValue.remove( nDollarPos, nEndPos-nDollarPos );
1719 - } else {
1722 + else {
1723 // remove one of the dollar signs
1724 aValue.remove( nDollarPos, 1 );
1725 nDollarPos++;
1726 diff --git a/tdecore/tdeglobalsettings.cpp b/tdecore/tdeglobalsettings.cpp
1727 index 3411fd1b..4941a9ed 100644
1728 --- a/tdecore/tdeglobalsettings.cpp
1729 +++ b/tdecore/tdeglobalsettings.cpp
1730 @@ -66,6 +66,8 @@ TQString* TDEGlobalSettings::s_videosPath = 0;
1731 TQString* TDEGlobalSettings::s_musicPath = 0;
1732 TQString* TDEGlobalSettings::s_downloadPath = 0;
1733 TQString* TDEGlobalSettings::s_picturesPath = 0;
1734 +TQString* TDEGlobalSettings::s_templatesPath = 0;
1735 +TQString* TDEGlobalSettings::s_publicSharePath = 0;
1736 TQFont *TDEGlobalSettings::_generalFont = 0;
1737 TQFont *TDEGlobalSettings::_fixedFont = 0;
1738 TQFont *TDEGlobalSettings::_toolBarFont = 0;
1739 @@ -85,36 +87,106 @@ TQColor *TDEGlobalSettings::alternateColor = 0;
1741 TDEGlobalSettings::KMouseSettings *TDEGlobalSettings::s_mouseSettings = 0;
1743 -// helper function for reading xdg user dirs: it is required in order to take
1744 -// care of locale stuff
1745 -void readXdgUserDirs(TQString *desktop, TQString *documents, TQString *videos, TQString *music, TQString *download, TQString *pictures)
1746 +// Helper function for reading xdg user dirs.
1747 +// Returns sane values in case the user dir file can't be read
1748 +static void readXdgUserDirs(TQString *desktop, TQString *documents, TQString *download, TQString *music,
1749 + TQString *pictures, TQString *publicShare, TQString *templates, TQString *videos)
1751 - TQFile f( TQDir::homeDirPath() + "/.config/user-dirs.dirs" );
1752 + TQFile dirsFile(TQDir::homeDirPath() + "/.config/user-dirs.dirs");
1753 + if (dirsFile.open(IO_ReadOnly))
1755 + // set the codec for the current locale
1756 + TQTextStream stream(&dirsFile);
1757 + stream.setCodec(TQTextCodec::codecForLocale());
1759 + while (!stream.atEnd())
1761 + TQString line = stream.readLine();
1762 + if (line.startsWith("XDG_DESKTOP_DIR="))
1764 + *desktop = line.remove("XDG_DESKTOP_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1766 + else if (line.startsWith("XDG_DOCUMENTS_DIR="))
1768 + *documents = line.remove("XDG_DOCUMENTS_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1770 + else if (line.startsWith("XDG_DOWNLOAD_DIR="))
1772 + *download = line.remove("XDG_DOWNLOAD_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1774 + else if (line.startsWith("XDG_MUSIC_DIR="))
1776 + *music = line.remove("XDG_MUSIC_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1778 + else if (line.startsWith("XDG_PICTURES_DIR="))
1780 + *pictures = line.remove("XDG_PICTURES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1782 + else if (line.startsWith("XDG_PUBLICSHARE_DIR="))
1784 + *publicShare = line.remove("XDG_PUBLICSHARE_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1786 + else if (line.startsWith("XDG_TEMPLATES_DIR="))
1788 + *templates = line.remove("XDG_TEMPLATES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1790 + else if (line.startsWith("XDG_VIDEOS_DIR="))
1792 + *videos = line.remove("XDG_VIDEOS_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1795 + dirsFile.close();
1798 - if (!f.open(IO_ReadOnly))
1799 - return;
1800 + // Use sane values in case some paths are missing
1801 + if (desktop->isEmpty())
1803 + *desktop = TQDir::homeDirPath() + "/" + i18n("Desktop") + "/";
1805 + if (documents->isEmpty())
1807 + *documents = TQDir::homeDirPath() + "/" + i18n("Documents") + "/";
1809 + if (download->isEmpty())
1811 + *download = TQDir::homeDirPath() + "/" + i18n("Downloads") + "/";
1813 + if (music->isEmpty())
1815 + *music = TQDir::homeDirPath() + "/" + i18n("Music") + "/";
1817 + if (pictures->isEmpty())
1819 + *pictures = TQDir::homeDirPath() + "/" + i18n("Pictures") + "/";
1821 + if (publicShare->isEmpty())
1823 + *publicShare = TQDir::homeDirPath() + "/" + i18n("Public") + "/";
1825 + if (templates->isEmpty())
1827 + *templates = TQDir::homeDirPath() + "/" + i18n("Templates") + "/";
1829 + if (videos->isEmpty())
1831 + *videos = TQDir::homeDirPath() + "/" + i18n("Videos") + "/";
1835 - // set the codec for the current locale
1836 - TQTextStream s(&f);
1837 - s.setCodec( TQTextCodec::codecForLocale() );
1838 +static void checkAndCreateXdgFolder(const TQString &folder, const TQString &path, TDEConfig *config)
1840 + bool pathOk = true;
1841 + if (!TQDir(path).exists())
1843 + if (!TDEStandardDirs::makeDir(path))
1845 + pathOk = false;
1849 - TQString line = s.readLine();
1850 - while (!line.isNull())
1851 + if (pathOk)
1853 - if (line.startsWith("XDG_DESKTOP_DIR="))
1854 - *desktop = line.remove("XDG_DESKTOP_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1855 - else if (line.startsWith("XDG_DOCUMENTS_DIR="))
1856 - *documents = line.remove("XDG_DOCUMENTS_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1857 - else if (line.startsWith("XDG_MUSIC_DIR="))
1858 - *videos = line.remove("XDG_MUSIC_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1859 - else if (line.startsWith("XDG_DOWNLOAD_DIR="))
1860 - *download = line.remove("XDG_DOWNLOAD_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1861 - else if (line.startsWith("XDG_VIDEOS_DIR="))
1862 - *music = line.remove("XDG_VIDEOS_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1863 - else if (line.startsWith("XDG_PICTURES_DIR="))
1864 - *pictures = line.remove("XDG_PICTURES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
1866 - line = s.readLine();
1867 + config->writePathEntry(folder, '"' + path + '"', true, false, false, false );
1871 @@ -518,53 +590,68 @@ TQFont TDEGlobalSettings::largeFont(const TQString &text)
1872 return *_largeFont;
1875 -void TDEGlobalSettings::initStatic() // should be called initPaths(). Don't put anything else here.
1876 +void TDEGlobalSettings::initStatic()
1878 - if ( s_desktopPath != 0 )
1879 - return;
1880 + // The method is primarily to ensure backward compatibility of the API.
1881 + // Don't put anything else here.
1882 + initPaths();
1885 +void TDEGlobalSettings::initPaths()
1887 + if (s_desktopPath)
1889 + return;
1892 - s_desktopPath = new TQString();
1893 s_autostartPath = new TQString();
1894 s_trashPath = new TQString();
1895 + s_desktopPath = new TQString();
1896 s_documentPath = new TQString();
1897 - s_videosPath = new TQString();
1898 - s_musicPath = new TQString();
1899 s_downloadPath = new TQString();
1900 + s_musicPath = new TQString();
1901 s_picturesPath = new TQString();
1903 + s_publicSharePath = new TQString();
1904 + s_templatesPath = new TQString();
1905 + s_videosPath = new TQString();
1907 TDEConfigGroup g( TDEGlobal::config(), "Paths" );
1909 - // Read desktop and documents path using XDG_USER_DIRS
1910 - readXdgUserDirs(s_desktopPath, s_documentPath, s_musicPath, s_videosPath, s_downloadPath, s_picturesPath);
1912 - if (s_desktopPath->isEmpty() == true) {
1913 - *s_desktopPath = TQDir::homeDirPath() + "/Desktop/";
1915 + // Read xdg folder paths
1916 + readXdgUserDirs(s_desktopPath, s_documentPath, s_downloadPath, s_musicPath,
1917 + s_picturesPath, s_publicSharePath, s_templatesPath, s_videosPath);
1919 - *s_desktopPath = TQDir::cleanDirPath( *s_desktopPath );
1920 - if ( !s_desktopPath->endsWith("/") )
1921 + *s_desktopPath = TQDir::cleanDirPath(*s_desktopPath);
1922 + if (!s_desktopPath->endsWith("/"))
1923 s_desktopPath->append('/');
1925 - *s_documentPath = TQDir::cleanDirPath( *s_documentPath );
1926 - if ( !s_documentPath->endsWith("/"))
1927 + *s_documentPath = TQDir::cleanDirPath(*s_documentPath);
1928 + if (!s_documentPath->endsWith("/"))
1929 s_documentPath->append('/');
1931 - *s_musicPath = TQDir::cleanDirPath( *s_musicPath );
1932 - if ( !s_musicPath->endsWith("/"))
1933 + *s_downloadPath = TQDir::cleanDirPath(*s_downloadPath);
1934 + if (!s_downloadPath->endsWith("/"))
1935 + s_downloadPath->append('/');
1937 + *s_musicPath = TQDir::cleanDirPath(*s_musicPath);
1938 + if (!s_musicPath->endsWith("/"))
1939 s_musicPath->append('/');
1941 - *s_videosPath = TQDir::cleanDirPath( *s_videosPath );
1942 - if ( !s_videosPath->endsWith("/"))
1943 - s_videosPath->append('/');
1944 + *s_picturesPath = TQDir::cleanDirPath(*s_picturesPath);
1945 + if (!s_picturesPath->endsWith("/"))
1946 + s_picturesPath->append('/');
1948 - *s_downloadPath = TQDir::cleanDirPath( *s_downloadPath );
1949 - if ( !s_downloadPath->endsWith("/"))
1950 - s_downloadPath->append('/');
1951 + *s_publicSharePath = TQDir::cleanDirPath(*s_publicSharePath);
1952 + if (!s_publicSharePath->endsWith("/"))
1953 + s_publicSharePath->append('/');
1955 - *s_picturesPath = TQDir::cleanDirPath( *s_picturesPath );
1956 - if ( !s_picturesPath->endsWith("/"))
1957 - s_picturesPath->append('/');
1958 + *s_templatesPath = TQDir::cleanDirPath(*s_templatesPath);
1959 + if (!s_templatesPath->endsWith("/"))
1960 + s_templatesPath->append('/');
1962 + *s_videosPath = TQDir::cleanDirPath(*s_videosPath);
1963 + if (!s_videosPath->endsWith("/"))
1964 + s_videosPath->append('/');
1966 // Trash Path - TODO remove in KDE4 (tdeio_trash can't use it for interoperability reasons)
1967 *s_trashPath = *s_desktopPath + i18n("Trash") + "/";
1968 @@ -579,12 +666,30 @@ void TDEGlobalSettings::initStatic() // should be called initPaths(). Don't put
1969 g.sync();
1972 + // Create folders if they do not exists.
1973 + TDEConfig *xdgconfig = new TDEConfig(TQDir::homeDirPath()+"/.config/user-dirs.dirs");
1974 + checkAndCreateXdgFolder("XDG_DESKTOP_DIR", *s_desktopPath, xdgconfig);
1975 + checkAndCreateXdgFolder("XDG_DOCUMENTS_DIR", *s_documentPath, xdgconfig);
1976 + checkAndCreateXdgFolder("XDG_DOWNLOAD_DIR", *s_downloadPath, xdgconfig);
1977 + checkAndCreateXdgFolder("XDG_MUSIC_DIR", *s_musicPath, xdgconfig);
1978 + checkAndCreateXdgFolder("XDG_PICTURES_DIR", *s_picturesPath, xdgconfig);
1979 + checkAndCreateXdgFolder("XDG_PUBLICSHARE_DIR", *s_publicSharePath, xdgconfig);
1980 + checkAndCreateXdgFolder("XDG_TEMPLATES_DIR", *s_templatesPath, xdgconfig);
1981 + checkAndCreateXdgFolder("XDG_VIDEOS_DIR", *s_videosPath, xdgconfig);
1982 + xdgconfig->sync();
1984 // Autostart Path
1985 *s_autostartPath = TDEGlobal::dirs()->localtdedir() + "Autostart/";
1986 *s_autostartPath = g.readPathEntry( "Autostart" , *s_autostartPath);
1987 *s_autostartPath = TQDir::cleanDirPath( *s_autostartPath );
1988 - if ( !s_autostartPath->endsWith("/") )
1989 + if (!s_autostartPath->endsWith("/"))
1991 s_autostartPath->append('/');
1993 + if (!TQDir(*s_autostartPath).exists())
1995 + TDEStandardDirs::makeDir(*s_autostartPath);
1998 // Make sure this app gets the notifications about those paths
1999 if (kapp)
2000 @@ -630,14 +735,18 @@ void TDEGlobalSettings::rereadPathSettings()
2001 s_desktopPath = 0L;
2002 delete s_documentPath;
2003 s_documentPath = 0L;
2004 - delete s_videosPath;
2005 - s_videosPath = 0L;
2006 - delete s_picturesPath;
2007 - s_picturesPath = 0L;
2008 delete s_downloadPath;
2009 s_downloadPath = 0L;
2010 delete s_musicPath;
2011 s_musicPath = 0L;
2012 + delete s_picturesPath;
2013 + s_picturesPath = 0L;
2014 + delete s_publicSharePath;
2015 + s_publicSharePath = 0L;
2016 + delete s_templatesPath;
2017 + s_templatesPath = 0L;
2018 + delete s_videosPath;
2019 + s_videosPath = 0L;
2022 TDEGlobalSettings::KMouseSettings & TDEGlobalSettings::mouseSettings()
2023 diff --git a/tdecore/tdeglobalsettings.h b/tdecore/tdeglobalsettings.h
2024 index 1570dc5a..74b0d77a 100644
2025 --- a/tdecore/tdeglobalsettings.h
2026 +++ b/tdecore/tdeglobalsettings.h
2027 @@ -226,56 +226,68 @@ class TDECORE_EXPORT TDEGlobalSettings
2029 static KMouseSettings & mouseSettings();
2031 - /**
2032 - * The path to the desktop directory of the current user.
2033 - * @return the user's desktop directory
2034 - */
2035 - static TQString desktopPath() { initStatic(); return *s_desktopPath; }
2038 * The path to the autostart directory of the current user.
2039 * @return the path of the autostart directory
2041 - static TQString autostartPath() { initStatic(); return *s_autostartPath; }
2042 + static TQString autostartPath() { initPaths(); return *s_autostartPath; }
2045 * DEPRECATED (starting from kde-3.4).
2046 * This isn't where the trash contents is, anymore.
2047 * Use TDEIO::trash() to trash files, "trash:/" to list the trash contents.
2049 - static TQString trashPath() { initStatic(); return *s_trashPath; }
2050 + static TQString trashPath() { initPaths(); return *s_trashPath; }
2051 // KDE4: if you want to remove the above, move it to kdesktop/init.cc, which needs
2052 // to know the old location of the trash
2054 + /**
2055 + * The path to the desktop directory of the current user.
2056 + * @return the user's desktop directory
2057 + */
2058 + static TQString desktopPath() { initPaths(); return *s_desktopPath; }
2061 * The path where documents are stored of the current user.
2062 * @return the path of the document directory
2064 - static TQString documentPath() { initStatic(); return *s_documentPath; }
2065 + static TQString documentPath() { initPaths(); return *s_documentPath; }
2068 * The path where documents are stored of the current user.
2069 - * @return the path of the videos directory
2070 + * @return the path of the downloads directory
2072 - static TQString videosPath() { initStatic(); return *s_videosPath; }
2073 + static TQString downloadPath() { initPaths(); return *s_downloadPath; }
2076 * The path where documents are stored of the current user.
2077 * @return the path of the music directory
2079 - static TQString musicPath() { initStatic(); return *s_musicPath; }
2080 + static TQString musicPath() { initPaths(); return *s_musicPath; }
2083 * The path where documents are stored of the current user.
2084 - * @return the path of the downloads directory
2085 + * @return the path of the pictures directory
2087 - static TQString downloadPath() { initStatic(); return *s_downloadPath; }
2088 + static TQString picturesPath() { initPaths(); return *s_picturesPath; }
2090 + /**
2091 + * The path of the public share of the current user.
2092 + * @return the path of the public share directory
2093 + */
2094 + static TQString publicSharePath() { initPaths(); return *s_publicSharePath; }
2096 + /**
2097 + * The path where templates are stored of the current user.
2098 + * @return the path of the templates directory
2099 + */
2100 + static TQString templatesPath() { initPaths(); return *s_templatesPath; }
2103 * The path where documents are stored of the current user.
2104 - * @return the path of the pictures directory
2105 + * @return the path of the videos directory
2107 - static TQString picturesPath() { initStatic(); return *s_picturesPath; }
2108 + static TQString videosPath() { initPaths(); return *s_videosPath; }
2111 * The default color to use when highlighting toolbar buttons.
2112 @@ -558,9 +570,15 @@ class TDECORE_EXPORT TDEGlobalSettings
2114 private:
2116 - * reads in all paths from kdeglobals
2117 + * global initialization - should only include paths initialization
2119 + * The method is primarily to ensure backward compatibility of the API.
2121 static void initStatic();
2122 + /**
2123 + * reads in all paths from kdeglobals
2124 + */
2125 + static void initPaths();
2127 * initialize colors
2129 @@ -579,14 +597,16 @@ private:
2130 static void rereadMouseSettings();
2133 - static TQString* s_desktopPath;
2134 - static TQString* s_autostartPath;
2135 - static TQString* s_trashPath;
2136 - static TQString* s_documentPath;
2137 - static TQString* s_picturesPath;
2138 - static TQString* s_downloadPath;
2139 - static TQString* s_musicPath;
2140 - static TQString* s_videosPath;
2141 + static TQString *s_desktopPath;
2142 + static TQString *s_autostartPath;
2143 + static TQString *s_trashPath;
2144 + static TQString *s_documentPath;
2145 + static TQString *s_picturesPath;
2146 + static TQString *s_templatesPath;
2147 + static TQString *s_publicSharePath;
2148 + static TQString *s_downloadPath;
2149 + static TQString *s_musicPath;
2150 + static TQString *s_videosPath;
2151 static TQFont *_generalFont;
2152 static TQFont *_fixedFont;
2153 static TQFont *_toolBarFont;
2154 @@ -594,15 +614,15 @@ private:
2155 static TQFont *_windowTitleFont;
2156 static TQFont *_taskbarFont;
2157 static TQFont *_largeFont;
2158 - static TQColor * _trinity4Blue;
2159 - static TQColor * _inactiveBackground;
2160 - static TQColor * _inactiveForeground;
2161 - static TQColor * _activeBackground;
2162 - static TQColor * _buttonBackground;
2163 - static TQColor * _selectBackground;
2164 - static TQColor * _linkColor;
2165 - static TQColor * _visitedLinkColor;
2166 - static TQColor * alternateColor;
2167 + static TQColor *_trinity4Blue;
2168 + static TQColor *_inactiveBackground;
2169 + static TQColor *_inactiveForeground;
2170 + static TQColor *_activeBackground;
2171 + static TQColor *_buttonBackground;
2172 + static TQColor *_selectBackground;
2173 + static TQColor *_linkColor;
2174 + static TQColor *_visitedLinkColor;
2175 + static TQColor *alternateColor;
2176 static KMouseSettings *s_mouseSettings;
2178 friend class TDEApplication;
2179 diff --git a/tdecore/tdehw/hwlibdaemons/dbus/org.trinitydesktop.hardwarecontrol.conf b/tdecore/tdehw/hwlibdaemons/dbus/org.trinitydesktop.hardwarecontrol.conf
2180 index b897da36..c50a5144 100644
2181 --- a/tdecore/tdehw/hwlibdaemons/dbus/org.trinitydesktop.hardwarecontrol.conf
2182 +++ b/tdecore/tdehw/hwlibdaemons/dbus/org.trinitydesktop.hardwarecontrol.conf
2183 @@ -37,6 +37,34 @@
2184 send_interface="org.trinitydesktop.hardwarecontrol.Power"/>
2185 </policy>
2187 + <policy group="plugdev">
2188 + <!-- Users who are members of the plugdev group are allowed access -->
2189 + <allow send_destination="org.trinitydesktop.hardwarecontrol"
2190 + send_interface="org.freedesktop.DBus.Introspectable"/>
2192 + <allow send_destination="org.trinitydesktop.hardwarecontrol"
2193 + send_interface="org.freedesktop.DBus.Properties"/>
2194 + <allow send_destination="org.trinitydesktop.hardwarecontrol.Brightness"
2195 + send_interface="org.freedesktop.DBus.Properties"/>
2196 + <allow send_destination="org.trinitydesktop.hardwarecontrol.CPUGovernor"
2197 + send_interface="org.freedesktop.DBus.Properties"/>
2198 + <allow send_destination="org.trinitydesktop.hardwarecontrol.InputEvents"
2199 + send_interface="org.freedesktop.DBus.Properties"/>
2200 + <allow send_destination="org.trinitydesktop.hardwarecontrol.Power"
2201 + send_interface="org.freedesktop.DBus.Properties"/>
2203 + <allow send_destination="org.trinitydesktop.hardwarecontrol"
2204 + send_interface="org.trinitydesktop.hardwarecontrol"/>
2205 + <allow send_destination="org.trinitydesktop.hardwarecontrol"
2206 + send_interface="org.trinitydesktop.hardwarecontrol.Brightness"/>
2207 + <allow send_destination="org.trinitydesktop.hardwarecontrol"
2208 + send_interface="org.trinitydesktop.hardwarecontrol.CPUGovernor"/>
2209 + <allow send_destination="org.trinitydesktop.hardwarecontrol"
2210 + send_interface="org.trinitydesktop.hardwarecontrol.InputEvents"/>
2211 + <allow send_destination="org.trinitydesktop.hardwarecontrol"
2212 + send_interface="org.trinitydesktop.hardwarecontrol.Power"/>
2213 + </policy>
2215 <policy context="default">
2216 <!-- Everyone else is denied access -->
2217 <deny own="org.trinitydesktop.hardwarecontrol"/>
2218 diff --git a/tdecore/tdehw/networkbackends/network-manager/network-manager.cpp b/tdecore/tdehw/networkbackends/network-manager/network-manager.cpp
2219 index 2f11dd59..d15db3dc 100644
2220 --- a/tdecore/tdehw/networkbackends/network-manager/network-manager.cpp
2221 +++ b/tdecore/tdehw/networkbackends/network-manager/network-manager.cpp
2222 @@ -1158,16 +1158,16 @@ TQString TDENetworkConnectionManager_BackendNM::deviceInterfaceString(TQString d
2223 return (*it);
2226 - return "";
2227 + return TQString::null;
2229 else {
2230 // Error!
2231 PRINT_ERROR((error.name() + ": " + error.message()))
2232 - return "";
2233 + return TQString::null;
2236 else {
2237 - return "";
2238 + return TQString::null;
2242 @@ -1251,7 +1251,7 @@ TDENetworkConnectionManager_BackendNM::TDENetworkConnectionManager_BackendNM(TDE
2243 d->m_vpnProxy->setConnection(TQT_DBusConnection::systemBus());
2245 d->m_dbusDeviceString = deviceInterfaceString(deviceNode());
2246 - if (d->m_dbusDeviceString != "") {
2247 + if (!d->m_dbusDeviceString.isEmpty()) {
2248 d->m_networkDeviceProxy = new DBus::DeviceProxy(NM_DBUS_SERVICE, d->m_dbusDeviceString);
2249 d->m_networkDeviceProxy->setConnection(TQT_DBusConnection::systemBus());
2250 if (deviceType() == TDENetworkDeviceType::WiFi) {
2251 @@ -1569,28 +1569,27 @@ TDENetworkDeviceType::TDENetworkDeviceType TDENetworkConnectionManager_BackendNM
2252 if (!m_networkDevice) {
2253 return TDENetworkDeviceType::BackendOnly;
2255 - else {
2256 - if (d->m_dbusDeviceString != "") {
2257 - // Query NM for the device type
2258 - TQT_DBusError error;
2259 - d->m_dbusDeviceString = deviceInterfaceString(deviceNode());
2260 - DBus::DeviceProxy genericDevice(NM_DBUS_SERVICE, d->m_dbusDeviceString);
2261 - genericDevice.setConnection(TQT_DBusConnection::systemBus());
2262 - TDENetworkDeviceType::TDENetworkDeviceType ret = nmDeviceTypeToTDEDeviceType(genericDevice.getDeviceType(error));
2263 - if (error.isValid()) {
2264 - // Error!
2265 - PRINT_ERROR((error.name() + ": " + error.message()))
2266 - return TDENetworkDeviceType::Other;
2268 - else {
2269 - return ret;
2272 - else {
2274 + // Query NM for the device type
2275 + TQT_DBusError error;
2276 + d->m_dbusDeviceString = deviceInterfaceString(deviceNode());
2277 + if (!d->m_dbusDeviceString.isEmpty()) {
2278 + DBus::DeviceProxy genericDevice(NM_DBUS_SERVICE, d->m_dbusDeviceString);
2279 + genericDevice.setConnection(TQT_DBusConnection::systemBus());
2280 + TDENetworkDeviceType::TDENetworkDeviceType ret = nmDeviceTypeToTDEDeviceType(genericDevice.getDeviceType(error));
2281 + if (error.isValid()) {
2282 // Error!
2283 - PRINT_ERROR(TQString("Invalid DBUS device string '%1'").arg(d->m_dbusDeviceString))
2284 + PRINT_ERROR((error.name() + ": " + error.message()))
2285 return TDENetworkDeviceType::Other;
2287 + else {
2288 + return ret;
2291 + else {
2292 + // Error!
2293 + PRINT_ERROR(TQString("Invalid empty DBUS device string"))
2294 + return TDENetworkDeviceType::Other;
2298 @@ -4843,6 +4842,10 @@ TDENetworkConnectionStatus::TDENetworkConnectionStatus TDENetworkConnectionManag
2299 else {
2300 d->m_dbusDeviceString = deviceInterfaceString(deviceNode());
2302 + if (d->m_dbusDeviceString.isEmpty()) {
2303 + PRINT_ERROR(TQString("Invalid empty DBUS device string"))
2304 + return TDENetworkConnectionStatus::Invalid;
2306 #ifndef USE_ASYNC_DBUS_CONNECTION_COMMAND_CALLS
2307 TQT_DBusObjectPath active_connection;
2308 ret = d->m_networkManagerProxy->ActivateConnection(existingConnection, TQT_DBusObjectPath(d->m_dbusDeviceString.ascii()), TQT_DBusObjectPath("/"), active_connection, error);
2309 @@ -5036,6 +5039,10 @@ TDENetworkConnectionStatus::TDENetworkConnectionStatus TDENetworkConnectionManag
2310 else {
2311 d->m_dbusDeviceString = deviceInterfaceString(deviceNode());
2313 + if (d->m_dbusDeviceString.isEmpty()) {
2314 + PRINT_ERROR(TQString("Invalid empty DBUS device string"))
2315 + return TDENetworkConnectionStatus::Invalid;
2317 #ifndef USE_ASYNC_DBUS_CONNECTION_COMMAND_CALLS
2318 ret = d->m_networkManagerProxy->DeactivateConnection(existingConnection, error);
2319 if (ret && error.isValid()) {
2320 @@ -5322,20 +5329,22 @@ TDENetworkHWNeighborList* TDENetworkConnectionManager_BackendNM::siteSurvey() {
2321 clearTDENetworkHWNeighborList();
2323 if (myDeviceType == TDENetworkDeviceType::WiFi) {
2324 - DBus::WiFiDeviceProxy wiFiDevice(NM_DBUS_SERVICE, d->m_dbusDeviceString);
2325 - wiFiDevice.setConnection(TQT_DBusConnection::systemBus());
2326 - // FIXME
2327 - // Should call wiFiDevice.RequestScanAsync first to rescan all access points
2328 - TQT_DBusObjectPathList accessPoints;
2329 - ret = wiFiDevice.GetAccessPoints(accessPoints, error);
2330 - if (ret) {
2331 - TQT_DBusObjectPathList::iterator it;
2332 - for (it = accessPoints.begin(); it != accessPoints.end(); ++it) {
2333 - TDENetworkWiFiAPInfo* apInfo = getAccessPointDetails(TQString(*it));
2334 - if (apInfo) {
2335 - m_hwNeighborList->append(apInfo);
2336 - // Ensure that this AP is monitored for changes
2337 - d->internalProcessWiFiAccessPointAdded(*it);
2338 + if (!d->m_dbusDeviceString.isEmpty()) {
2339 + DBus::WiFiDeviceProxy wiFiDevice(NM_DBUS_SERVICE, d->m_dbusDeviceString);
2340 + wiFiDevice.setConnection(TQT_DBusConnection::systemBus());
2341 + // FIXME
2342 + // Should call wiFiDevice.RequestScanAsync first to rescan all access points
2343 + TQT_DBusObjectPathList accessPoints;
2344 + ret = wiFiDevice.GetAccessPoints(accessPoints, error);
2345 + if (ret) {
2346 + TQT_DBusObjectPathList::iterator it;
2347 + for (it = accessPoints.begin(); it != accessPoints.end(); ++it) {
2348 + TDENetworkWiFiAPInfo* apInfo = getAccessPointDetails(TQString(*it));
2349 + if (apInfo) {
2350 + m_hwNeighborList->append(apInfo);
2351 + // Ensure that this AP is monitored for changes
2352 + d->internalProcessWiFiAccessPointAdded(*it);
2357 diff --git a/tdecore/tdehw/tdebatterydevice.cpp b/tdecore/tdehw/tdebatterydevice.cpp
2358 index 781fb994..e220fa5a 100644
2359 --- a/tdecore/tdehw/tdebatterydevice.cpp
2360 +++ b/tdecore/tdehw/tdebatterydevice.cpp
2361 @@ -21,7 +21,14 @@
2363 #include "config.h"
2365 -TDEBatteryDevice::TDEBatteryDevice(TDEGenericDeviceType::TDEGenericDeviceType dt, TQString dn) : TDEGenericDevice(dt, dn) {
2366 +TDEBatteryDevice::TDEBatteryDevice(TDEGenericDeviceType::TDEGenericDeviceType dt, TQString dn) :
2367 + m_currentVoltage(0), m_minimumVoltage(0), m_maximumVoltage(0), m_maximumDesignVoltage(0),
2368 + m_alarmEnergy(0), m_currentEnergy(0), m_maximumEnergy(0), m_maximumDesignEnergy(0),
2369 + m_dischargeRate(0), m_timeRemaining(0),
2370 + m_technology(TQString::null),
2371 + m_status(TDEBatteryStatus::Unknown),
2372 + m_installed(0),
2373 + TDEGenericDevice(dt, dn) {
2376 TDEBatteryDevice::~TDEBatteryDevice() {
2377 diff --git a/tdecore/tdehw/tdeeventdevice.cpp b/tdecore/tdehw/tdeeventdevice.cpp
2378 index d8627d9b..88509b3a 100644
2379 --- a/tdecore/tdehw/tdeeventdevice.cpp
2380 +++ b/tdecore/tdehw/tdeeventdevice.cpp
2381 @@ -367,6 +367,7 @@ void TDEEventDevice::eventReceived() {
2382 emit keyPressed(ev.code, this);
2384 if (ev.type == EV_SW) {
2385 + internalReadActiveSwitches();
2386 emit switchChanged();
2389 diff --git a/tdecore/tdehw/tdehardwaredevices.cpp b/tdecore/tdehw/tdehardwaredevices.cpp
2390 index 8eafe96e..8ee62ca8 100644
2391 --- a/tdecore/tdehw/tdehardwaredevices.cpp
2392 +++ b/tdecore/tdehw/tdehardwaredevices.cpp
2393 @@ -106,7 +106,7 @@ timespec diff(timespec start, timespec end)
2395 // This routine is courtsey of an answer on "Stack Overflow"
2396 // It takes an LSB-first int and makes it an MSB-first int (or vice versa)
2397 -unsigned int reverse_bits(register unsigned int x)
2398 +unsigned int reverse_bits(unsigned int x)
2400 x = (((x & 0xaaaaaaaa) >> 1) | ((x & 0x55555555) << 1));
2401 x = (((x & 0xcccccccc) >> 2) | ((x & 0x33333333) << 2));
2402 @@ -669,8 +669,6 @@ void TDEHardwareDevices::processModifiedCPUs() {
2403 time1 = time2;
2404 #endif
2406 - TDECPUDevice* firstCPU = NULL;
2408 // Read in other information from cpufreq, if available
2409 for (processorNumber=0; processorNumber<processorCount; processorNumber++) {
2410 cdevice = dynamic_cast<TDECPUDevice*>(findCPUBySystemPath(TQString("/sys/devices/system/cpu/cpu%1").arg(processorNumber)));
2411 @@ -685,79 +683,62 @@ void TDEHardwareDevices::processModifiedCPUs() {
2412 TQStringList governorlist;
2413 if (cpufreq_dir.exists()) {
2414 TQString nodename;
2415 - if ((processorNumber == 0) || (!firstCPU)) {
2416 - // Remember the first CPU options so that we can reuse it later.
2417 - firstCPU = cdevice;
2419 - nodename = cpufreq_dir.path();
2420 - nodename.append("/scaling_governor");
2421 - TQFile scalinggovernorfile(nodename);
2422 - if (scalinggovernorfile.open(IO_ReadOnly)) {
2423 - TQTextStream stream( &scalinggovernorfile );
2424 - scalinggovernor = stream.readLine();
2425 - scalinggovernorfile.close();
2427 - nodename = cpufreq_dir.path();
2428 - nodename.append("/scaling_driver");
2429 - TQFile scalingdriverfile(nodename);
2430 - if (scalingdriverfile.open(IO_ReadOnly)) {
2431 - TQTextStream stream( &scalingdriverfile );
2432 - scalingdriver = stream.readLine();
2433 - scalingdriverfile.close();
2435 - nodename = cpufreq_dir.path();
2436 - nodename.append("/cpuinfo_min_freq");
2437 - TQFile minfrequencyfile(nodename);
2438 - if (minfrequencyfile.open(IO_ReadOnly)) {
2439 - TQTextStream stream( &minfrequencyfile );
2440 - minfrequency = stream.readLine().toDouble()/1000.0;
2441 - minfrequencyfile.close();
2443 - nodename = cpufreq_dir.path();
2444 - nodename.append("/cpuinfo_max_freq");
2445 - TQFile maxfrequencyfile(nodename);
2446 - if (maxfrequencyfile.open(IO_ReadOnly)) {
2447 - TQTextStream stream( &maxfrequencyfile );
2448 - maxfrequency = stream.readLine().toDouble()/1000.0;
2449 - maxfrequencyfile.close();
2451 - nodename = cpufreq_dir.path();
2452 - nodename.append("/cpuinfo_transition_latency");
2453 - TQFile trlatencyfile(nodename);
2454 - if (trlatencyfile.open(IO_ReadOnly)) {
2455 - TQTextStream stream( &trlatencyfile );
2456 - trlatency = stream.readLine().toDouble()/1000.0;
2457 - trlatencyfile.close();
2459 - nodename = cpufreq_dir.path();
2460 - nodename.append("/scaling_available_frequencies");
2461 - TQFile availfreqsfile(nodename);
2462 - if (availfreqsfile.open(IO_ReadOnly)) {
2463 - TQTextStream stream( &availfreqsfile );
2464 - frequencylist = TQStringList::split(" ", stream.readLine());
2465 - availfreqsfile.close();
2467 - nodename = cpufreq_dir.path();
2468 - nodename.append("/scaling_available_governors");
2469 - TQFile availgvrnsfile(nodename);
2470 - if (availgvrnsfile.open(IO_ReadOnly)) {
2471 - TQTextStream stream( &availgvrnsfile );
2472 - governorlist = TQStringList::split(" ", stream.readLine());
2473 - availgvrnsfile.close();
2475 + nodename = cpufreq_dir.path();
2476 + nodename.append("/scaling_governor");
2477 + TQFile scalinggovernorfile(nodename);
2478 + if (scalinggovernorfile.open(IO_ReadOnly)) {
2479 + TQTextStream stream( &scalinggovernorfile );
2480 + scalinggovernor = stream.readLine();
2481 + scalinggovernorfile.close();
2483 - // Other CPU should have the same values as the first one. Simply copy them.
2484 - else {
2485 - scalinggovernor = firstCPU->governor();
2486 - scalingdriver = firstCPU->scalingDriver();
2487 - minfrequency = firstCPU->minFrequency();
2488 - maxfrequency = firstCPU->maxFrequency();
2489 - trlatency = firstCPU->transitionLatency();
2490 - frequencylist = firstCPU->availableFrequencies();
2491 - governorlist = firstCPU->availableGovernors();
2492 + nodename = cpufreq_dir.path();
2493 + nodename.append("/scaling_driver");
2494 + TQFile scalingdriverfile(nodename);
2495 + if (scalingdriverfile.open(IO_ReadOnly)) {
2496 + TQTextStream stream( &scalingdriverfile );
2497 + scalingdriver = stream.readLine();
2498 + scalingdriverfile.close();
2500 + nodename = cpufreq_dir.path();
2501 + nodename.append("/cpuinfo_min_freq");
2502 + TQFile minfrequencyfile(nodename);
2503 + if (minfrequencyfile.open(IO_ReadOnly)) {
2504 + TQTextStream stream( &minfrequencyfile );
2505 + minfrequency = stream.readLine().toDouble()/1000.0;
2506 + minfrequencyfile.close();
2508 + nodename = cpufreq_dir.path();
2509 + nodename.append("/cpuinfo_max_freq");
2510 + TQFile maxfrequencyfile(nodename);
2511 + if (maxfrequencyfile.open(IO_ReadOnly)) {
2512 + TQTextStream stream( &maxfrequencyfile );
2513 + maxfrequency = stream.readLine().toDouble()/1000.0;
2514 + maxfrequencyfile.close();
2516 + nodename = cpufreq_dir.path();
2517 + nodename.append("/cpuinfo_transition_latency");
2518 + TQFile trlatencyfile(nodename);
2519 + if (trlatencyfile.open(IO_ReadOnly)) {
2520 + TQTextStream stream( &trlatencyfile );
2521 + trlatency = stream.readLine().toDouble()/1000.0;
2522 + trlatencyfile.close();
2524 + nodename = cpufreq_dir.path();
2525 + nodename.append("/scaling_available_frequencies");
2526 + TQFile availfreqsfile(nodename);
2527 + if (availfreqsfile.open(IO_ReadOnly)) {
2528 + TQTextStream stream( &availfreqsfile );
2529 + frequencylist = TQStringList::split(" ", stream.readLine());
2530 + availfreqsfile.close();
2532 + nodename = cpufreq_dir.path();
2533 + nodename.append("/scaling_available_governors");
2534 + TQFile availgvrnsfile(nodename);
2535 + if (availgvrnsfile.open(IO_ReadOnly)) {
2536 + TQTextStream stream( &availgvrnsfile );
2537 + governorlist = TQStringList::split(" ", stream.readLine());
2538 + availgvrnsfile.close();
2541 - // The following data are different on each CPU
2542 nodename = cpufreq_dir.path();
2543 nodename.append("/affected_cpus");
2544 TQFile tiedcpusfile(nodename);
2545 @@ -769,16 +750,29 @@ void TDEHardwareDevices::processModifiedCPUs() {
2547 // We may already have the CPU Mhz information in '/proc/cpuinfo'
2548 if (!have_frequency) {
2549 + bool cpufreq_have_frequency = false;
2550 nodename = cpufreq_dir.path();
2551 - nodename.append("/cpuinfo_cur_freq");
2552 + nodename.append("/scaling_cur_freq");
2553 TQFile cpufreqfile(nodename);
2554 if (cpufreqfile.open(IO_ReadOnly)) {
2555 + cpufreq_have_frequency = true;
2557 + else {
2558 + nodename = cpufreq_dir.path();
2559 + nodename.append("/cpuinfo_cur_freq");
2560 + cpufreqfile.setName(nodename);
2561 + if (cpufreqfile.open(IO_ReadOnly)) {
2562 + cpufreq_have_frequency = true;
2565 + if (cpufreq_have_frequency) {
2566 TQTextStream stream( &cpufreqfile );
2567 - if (cdevice) {
2568 - cdevice->internalSetFrequency(stream.readLine().toDouble()/1000.0);
2569 + double cpuinfo_cur_freq = stream.readLine().toDouble()/1000.0;
2570 + if (cdevice && cdevice->frequency() != cpuinfo_cur_freq) {
2571 + modified = true;
2572 + cdevice->internalSetFrequency(cpuinfo_cur_freq);
2574 cpufreqfile.close();
2575 - have_frequency = true;
2579 @@ -2236,6 +2230,7 @@ TDEGenericDevice* TDEHardwareDevices::classifyUnknownDevice(udev_device* dev, TD
2580 if (devicesubsystem == "power_supply") {
2581 TQString powersupplyname(udev_device_get_property_value(dev, "POWER_SUPPLY_NAME"));
2582 if ((devicedriver == "ac")
2583 + || (devicedriver.contains("charger"))
2584 || (powersupplyname.upper().startsWith("AC"))) {
2585 if (!device) device = new TDEMainsPowerDevice(TDEGenericDeviceType::PowerSupply);
2587 @@ -3028,13 +3023,31 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice* exist
2588 TQDir valuesdir(valuesnodename);
2589 valuesdir.setFilter(TQDir::All);
2590 TQString nodename;
2591 + double bdevice_capacity = 0;
2592 + double bdevice_voltage = 0;
2593 + int bdevice_time_to_empty = 0;
2594 + int bdevice_time_to_full = 0;
2595 + bool bdevice_has_energy = false;
2596 + bool bdevice_has_time_to_empty = false;
2597 + bool bdevice_has_time_to_full = false;
2598 const TQFileInfoList *dirlist = valuesdir.entryInfoList();
2599 if (dirlist) {
2600 TQFileInfoListIterator valuesdirit(*dirlist);
2601 TQFileInfo *dirfi;
2602 + // Get the voltage as first...
2603 + TQFile file( valuesnodename + "voltage_now" );
2604 + if ( file.open( IO_ReadOnly ) ) {
2605 + TQTextStream stream( &file );
2606 + TQString line;
2607 + line = stream.readLine();
2608 + bdevice_voltage = line.toDouble()/1000000.0;
2609 + bdevice->internalSetVoltage(bdevice_voltage);
2610 + file.close();
2612 + // ...and then the other values
2613 while ( (dirfi = valuesdirit.current()) != 0 ) {
2614 nodename = dirfi->fileName();
2615 - TQFile file( valuesnodename + nodename );
2616 + file.setName( valuesnodename + nodename );
2617 if ( file.open( IO_ReadOnly ) ) {
2618 TQTextStream stream( &file );
2619 TQString line;
2620 @@ -3042,14 +3055,37 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice* exist
2621 if (nodename == "alarm") {
2622 bdevice->internalSetAlarmEnergy(line.toDouble()/1000000.0);
2624 - else if (nodename == "charge_full" || nodename == "energy_full") {
2625 + else if (nodename == "capacity") {
2626 + bdevice_capacity = line.toDouble();
2628 + else if (nodename == "charge_full") {
2629 bdevice->internalSetMaximumEnergy(line.toDouble()/1000000.0);
2631 - else if (nodename == "charge_full_design" || nodename == "energy_full_design") {
2632 + else if (nodename == "energy_full") {
2633 + if (bdevice_voltage > 0) {
2634 + // Convert from mWh do Ah
2635 + bdevice->internalSetMaximumEnergy(line.toDouble()/1000000.0/bdevice_voltage);
2638 + else if (nodename == "charge_full_design") {
2639 bdevice->internalSetMaximumDesignEnergy(line.toDouble()/1000000.0);
2641 - else if (nodename == "charge_now" || nodename == "energy_now") {
2642 + else if (nodename == "energy_full_design") {
2643 + if (bdevice_voltage > 0) {
2644 + // Convert from mWh do Ah
2645 + bdevice->internalSetMaximumDesignEnergy(line.toDouble()/1000000.0/bdevice_voltage);
2648 + else if (nodename == "charge_now") {
2649 bdevice->internalSetEnergy(line.toDouble()/1000000.0);
2650 + bdevice_has_energy = true;
2652 + else if (nodename == "energy_now") {
2653 + if (bdevice_voltage > 0) {
2654 + // Convert from mWh do Ah
2655 + bdevice->internalSetEnergy(line.toDouble()/1000000.0/bdevice_voltage);
2656 + bdevice_has_energy = true;
2659 else if (nodename == "manufacturer") {
2660 bdevice->internalSetVendorName(line.stripWhiteSpace());
2661 @@ -3057,9 +3093,15 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice* exist
2662 else if (nodename == "model_name") {
2663 bdevice->internalSetVendorModel(line.stripWhiteSpace());
2665 - else if (nodename == "power_now" || nodename == "current_now") {
2666 + else if (nodename == "current_now") {
2667 bdevice->internalSetDischargeRate(line.toDouble()/1000000.0);
2669 + else if (nodename == "power_now") {
2670 + if (bdevice_voltage > 0) {
2671 + // Convert from mW do A
2672 + bdevice->internalSetDischargeRate(line.toDouble()/1000000.0/bdevice_voltage);
2675 else if (nodename == "present") {
2676 bdevice->internalSetInstalled(line.toInt());
2678 @@ -3072,28 +3114,50 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice* exist
2679 else if (nodename == "technology") {
2680 bdevice->internalSetTechnology(line);
2682 + else if (nodename == "time_to_empty_now") {
2683 + // Convert from minutes to seconds
2684 + bdevice_time_to_empty = line.toDouble()*60;
2685 + bdevice_has_time_to_empty = true;
2687 + else if (nodename == "time_to_full_now") {
2688 + // Convert from minutes to seconds
2689 + bdevice_time_to_full = line.toDouble()*60;
2690 + bdevice_has_time_to_full = true;
2692 else if (nodename == "voltage_min_design") {
2693 bdevice->internalSetMinimumVoltage(line.toDouble()/1000000.0);
2695 - else if (nodename == "voltage_now") {
2696 - bdevice->internalSetVoltage(line.toDouble()/1000000.0);
2698 file.close();
2700 ++valuesdirit;
2704 + // Calculate current energy if missing
2705 + if (!bdevice_has_energy) {
2706 + bdevice->internalSetEnergy(bdevice_capacity*bdevice->maximumEnergy()/100);
2709 // Calculate time remaining
2710 - // Discharge/charge rate is in watt-hours
2711 - // Energy is in watt-hours
2712 + // Discharge/charge rate is in amper
2713 + // Energy is in amper-hours
2714 // Therefore, energy/rate = time in hours
2715 // Convert to seconds...
2716 if (bdevice->status() == TDEBatteryStatus::Charging) {
2717 - bdevice->internalSetTimeRemaining(((bdevice->maximumEnergy()-bdevice->energy())/bdevice->dischargeRate())*60*60);
2718 + if (!bdevice_has_time_to_full && bdevice->dischargeRate() > 0) {
2719 + bdevice->internalSetTimeRemaining(((bdevice->maximumEnergy()-bdevice->energy())/bdevice->dischargeRate())*60*60);
2721 + else {
2722 + bdevice->internalSetTimeRemaining(bdevice_time_to_full);
2725 else {
2726 - bdevice->internalSetTimeRemaining((bdevice->energy()/bdevice->dischargeRate())*60*60);
2727 + if (!bdevice_has_time_to_empty && bdevice->dischargeRate() > 0) {
2728 + bdevice->internalSetTimeRemaining((bdevice->energy()/bdevice->dischargeRate())*60*60);
2730 + else {
2731 + bdevice->internalSetTimeRemaining(bdevice_time_to_empty);
2736 @@ -3368,13 +3432,19 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice* exist
2737 if (device->type() == TDEGenericDeviceType::Event) {
2738 // Try to obtain as much type information about this event device as possible
2739 TDEEventDevice* edevice = dynamic_cast<TDEEventDevice*>(device);
2740 - if (edevice->systemPath().contains("PNP0C0D")) {
2741 + TDESwitchType::TDESwitchType edevice_switches = edevice->providedSwitches();
2742 + if (edevice->systemPath().contains("PNP0C0D")
2743 + || (edevice_switches & TDESwitchType::Lid)) {
2744 edevice->internalSetEventType(TDEEventDeviceType::ACPILidSwitch);
2746 - else if (edevice->systemPath().contains("PNP0C0E") || edevice->systemPath().contains("/LNXSLPBN")) {
2747 + else if (edevice->systemPath().contains("PNP0C0E")
2748 + || edevice->systemPath().contains("/LNXSLPBN")
2749 + || (edevice_switches & TDESwitchType::SleepButton)) {
2750 edevice->internalSetEventType(TDEEventDeviceType::ACPISleepButton);
2752 - else if (edevice->systemPath().contains("PNP0C0C") || edevice->systemPath().contains("/LNXPWRBN")) {
2753 + else if (edevice->systemPath().contains("PNP0C0C")
2754 + || edevice->systemPath().contains("/LNXPWRBN")
2755 + || (edevice_switches & TDESwitchType::PowerButton)) {
2756 edevice->internalSetEventType(TDEEventDeviceType::ACPIPowerButton);
2758 else if (edevice->systemPath().contains("_acpi")) {
2759 diff --git a/tdecore/tdelocale.cpp b/tdecore/tdelocale.cpp
2760 index f841d737..2229418a 100644
2761 --- a/tdecore/tdelocale.cpp
2762 +++ b/tdecore/tdelocale.cpp
2763 @@ -1976,7 +1976,7 @@ TQString TDELocale::formatDateTime(const TQDateTime &pDateTime,
2765 TQString i18n(const char* text)
2767 - register TDELocale *instance = TDEGlobal::locale();
2768 + TDELocale *instance = TDEGlobal::locale();
2769 if (instance)
2770 return instance->translate(text);
2771 return TQString::fromUtf8(text);
2772 @@ -1984,7 +1984,7 @@ TQString i18n(const char* text)
2774 TQString i18n(const char* index, const char *text)
2776 - register TDELocale *instance = TDEGlobal::locale();
2777 + TDELocale *instance = TDEGlobal::locale();
2778 if (instance)
2779 return instance->translate(index, text);
2780 return TQString::fromUtf8(text);
2781 @@ -1992,7 +1992,7 @@ TQString i18n(const char* index, const char *text)
2783 TQString i18n(const char* singular, const char* plural, unsigned long n)
2785 - register TDELocale *instance = TDEGlobal::locale();
2786 + TDELocale *instance = TDEGlobal::locale();
2787 if (instance)
2788 return instance->translate(singular, plural, n);
2789 if (n == 1)
2790 diff --git a/tdecore/tdesycocadict.cpp b/tdecore/tdesycocadict.cpp
2791 index 702c163a..908ce817 100644
2792 --- a/tdecore/tdesycocadict.cpp
2793 +++ b/tdecore/tdesycocadict.cpp
2794 @@ -182,7 +182,7 @@ uint
2795 KSycocaDict::hashKey( const TQString &key)
2797 int l = key.length();
2798 - register uint h = 0;
2799 + uint h = 0;
2801 for(uint i = 0; i < mHashList.count(); i++)
2803 @@ -217,10 +217,10 @@ calcDiversity(KSycocaDictStringList *d, int pos, int sz)
2804 pos = -pos-1;
2805 for(string_entry *entry=d->first(); entry; entry = d->next())
2807 - register int l = entry->length;
2808 + int l = entry->length;
2809 if (pos < l && pos != 0)
2811 - register uint hash = ((entry->hash * 13) + (entry->key[l-pos].cell() % 29)) & 0x3ffffff;
2812 + uint hash = ((entry->hash * 13) + (entry->key[l-pos].cell() % 29)) & 0x3ffffff;
2813 matrix[ hash % usz ] = true;
2816 @@ -232,7 +232,7 @@ calcDiversity(KSycocaDictStringList *d, int pos, int sz)
2818 if (pos < entry->length)
2820 - register uint hash = ((entry->hash * 13) + (entry->key[pos].cell() % 29)) & 0x3ffffff;
2821 + uint hash = ((entry->hash * 13) + (entry->key[pos].cell() % 29)) & 0x3ffffff;
2822 matrix[ hash % usz ] = true;
2825 @@ -257,7 +257,7 @@ addDiversity(KSycocaDictStringList *d, int pos)
2826 pos = -pos-1;
2827 for(string_entry *entry=d->first(); entry; entry = d->next())
2829 - register int l = entry->length;
2830 + int l = entry->length;
2831 if (pos < l)
2832 entry->hash = ((entry->hash * 13) + (entry->key[l-pos].cell() % 29)) & 0x3fffffff;
2834 @@ -306,7 +306,7 @@ KSycocaDict::save(TQDataStream &str)
2835 // use "almost prime" number for sz (to calculate diversity) and later
2836 // for the table size of big tables
2837 // int sz = d->count()*5-1;
2838 - register unsigned int sz = count()*4 + 1;
2839 + unsigned int sz = count()*4 + 1;
2840 while(!(((sz % 3) && (sz % 5) && (sz % 7) && (sz % 11) && (sz % 13)))) sz+=2;
2842 int maxDiv = 0;
2843 diff --git a/tdecore/tdeversion.h b/tdecore/tdeversion.h
2844 index c09fb67b..6d7716ef 100644
2845 --- a/tdecore/tdeversion.h
2846 +++ b/tdecore/tdeversion.h
2847 @@ -32,10 +32,10 @@
2848 A new FEATURE REVISION level always resets the BUG AND SECURITY PATCHLEVEL.
2849 A new ABI version resets both the FEATURE REVISION and BUG AND SECURITY PATCH LEVEL.
2851 -#define TDE_VERSION_STRING "R14.0.7"
2852 +#define TDE_VERSION_STRING "R14.0.8 [DEVELOPMENT]"
2853 #define TDE_VERSION_MAJOR 14
2854 #define TDE_VERSION_MINOR 0
2855 -#define TDE_VERSION_RELEASE 7
2856 +#define TDE_VERSION_RELEASE 8
2857 #define TDE_MAKE_VERSION( a,b,c ) (((a) << 16) | ((b) << 8) | (c))
2859 #define TDE_VERSION \
2860 diff --git a/tdefx/kimageeffect.cpp b/tdefx/kimageeffect.cpp
2861 index 41bfd6d7..277e1cc7 100644
2862 --- a/tdefx/kimageeffect.cpp
2863 +++ b/tdefx/kimageeffect.cpp
2864 @@ -136,7 +136,7 @@ TQImage KImageEffect::gradient(const TQSize &size, const TQColor &ca,
2865 return image;
2868 - register int x, y;
2869 + int x, y;
2871 rDiff = (rcb = cb.red()) - (rca = ca.red());
2872 gDiff = (gcb = cb.green()) - (gca = ca.green());
2873 @@ -147,9 +147,9 @@ TQImage KImageEffect::gradient(const TQSize &size, const TQColor &ca,
2874 uint *p;
2875 uint rgb;
2877 - register int rl = rca << 16;
2878 - register int gl = gca << 16;
2879 - register int bl = bca << 16;
2880 + int rl = rca << 16;
2881 + int gl = gca << 16;
2882 + int bl = bca << 16;
2884 if( eff == VerticalGradient ) {
2886 @@ -424,7 +424,7 @@ TQImage KImageEffect::unbalancedGradient(const TQSize &size, const TQColor &ca,
2887 return image;
2890 - register int x, y;
2891 + int x, y;
2892 unsigned int *scanline;
2894 rDiff = (rcb = cb.red()) - (rca = ca.red());
2895 @@ -949,7 +949,7 @@ TQImage& KImageEffect::modulate(TQImage &image, TQImage &modImage, bool reverse,
2896 TQColor clr;
2897 int mod=0;
2898 unsigned int x1, x2, y1, y2;
2899 - register int x, y;
2900 + int x, y;
2902 // for image, we handle only depth 32
2903 if (image.depth()<32) image = image.convertDepth(32);
2904 @@ -1280,12 +1280,12 @@ TQImage& KImageEffect::blend(const TQColor& clr, TQImage& dst, float opacity)
2905 clr.rgb(&rcol, &gcol, &bcol);
2907 #ifdef WORDS_BIGENDIAN // ARGB (skip alpha)
2908 - register unsigned char *data = (unsigned char *)dst.bits() + 1;
2909 + unsigned char *data = (unsigned char *)dst.bits() + 1;
2910 #else // BGRA
2911 - register unsigned char *data = (unsigned char *)dst.bits();
2912 + unsigned char *data = (unsigned char *)dst.bits();
2913 #endif
2915 - for (register int i=0; i<pixels; i++)
2916 + for (int i=0; i<pixels; i++)
2918 #ifdef WORDS_BIGENDIAN
2919 *data += (unsigned char)((rcol - *data) * opacity);
2920 @@ -1513,14 +1513,14 @@ TQImage& KImageEffect::blend(TQImage& src, TQImage& dst, float opacity)
2923 #ifdef WORDS_BIGENDIAN // ARGB (skip alpha)
2924 - register unsigned char *data1 = (unsigned char *)dst.bits() + 1;
2925 - register unsigned char *data2 = (unsigned char *)src.bits() + 1;
2926 + unsigned char *data1 = (unsigned char *)dst.bits() + 1;
2927 + unsigned char *data2 = (unsigned char *)src.bits() + 1;
2928 #else // BGRA
2929 - register unsigned char *data1 = (unsigned char *)dst.bits();
2930 - register unsigned char *data2 = (unsigned char *)src.bits();
2931 + unsigned char *data1 = (unsigned char *)dst.bits();
2932 + unsigned char *data2 = (unsigned char *)src.bits();
2933 #endif
2935 - for (register int i=0; i<pixels; i++)
2936 + for (int i=0; i<pixels; i++)
2938 #ifdef WORDS_BIGENDIAN
2939 *data1 += (unsigned char)((*(data2++) - *data1) * opacity);
2940 @@ -1582,7 +1582,7 @@ TQImage& KImageEffect::blend(TQImage &image, float initial_intensity,
2941 var = -var;
2944 - register int x, y;
2945 + int x, y;
2947 unsigned int *data = (unsigned int *)image.bits();
2949 @@ -1790,7 +1790,7 @@ TQImage& KImageEffect::blend(TQImage &image1, TQImage &image2,
2950 unsigned int x1, x2, x3, y1, y2, y3;
2951 unsigned int a;
2953 - register int x, y;
2954 + int x, y;
2956 // for image1 and image2, we only handle depth 32
2957 if (image1.depth()<32) image1 = image1.convertDepth(32);
2958 @@ -1884,7 +1884,7 @@ TQImage& KImageEffect::hash(TQImage &image, Lighting lite, unsigned int spacing)
2959 return image;
2962 - register int x, y;
2963 + int x, y;
2964 unsigned int *data = (unsigned int *)image.bits();
2965 unsigned int ind;
2967 @@ -2142,9 +2142,9 @@ TQImage& KImageEffect::toGray(TQImage &img, bool fast)
2969 if(fast){
2970 if (img.depth() == 32) {
2971 - register uchar * r(img.bits());
2972 - register uchar * g(img.bits() + 1);
2973 - register uchar * b(img.bits() + 2);
2974 + uchar * r(img.bits());
2975 + uchar * g(img.bits() + 1);
2976 + uchar * b(img.bits() + 2);
2978 uchar * end(img.bits() + img.numBytes());
2980 @@ -2161,11 +2161,11 @@ TQImage& KImageEffect::toGray(TQImage &img, bool fast)
2982 for (int i = 0; i < img.numColors(); i++)
2984 - register uint r = tqRed(img.color(i));
2985 - register uint g = tqGreen(img.color(i));
2986 - register uint b = tqBlue(img.color(i));
2987 + uint r = tqRed(img.color(i));
2988 + uint g = tqGreen(img.color(i));
2989 + uint b = tqBlue(img.color(i));
2991 - register uint gray = (((r + g) >> 1) + b) >> 1;
2992 + uint gray = (((r + g) >> 1) + b) >> 1;
2993 img.setColor(i, tqRgba(gray, gray, gray, tqAlpha(img.color(i))));
2996 @@ -2408,10 +2408,10 @@ bool KImageEffect::blend(
2998 output = lower.copy();
3000 - register uchar *i, *o;
3001 - register int a;
3002 - register int col;
3003 - register int w = upper.width();
3004 + uchar *i, *o;
3005 + int a;
3006 + int col;
3007 + int w = upper.width();
3008 int row(upper.height() - 1);
3010 do {
3011 @@ -2490,10 +2490,10 @@ bool KImageEffect::blend(
3012 // output.setAlphaBuffer(true); // I should do some benchmarks to see if
3013 // this is worth the effort
3015 - register TQRgb *i, *o, *b;
3016 + TQRgb *i, *o, *b;
3018 - register int a;
3019 - register int j,k;
3020 + int a;
3021 + int j,k;
3022 for (j=0; j<ch; j++)
3024 b=reinterpret_cast<TQRgb *>(&const_cast<TQImage&>(lower).scanLine(y+j) [ (x+cw) << 2 ]);
3025 @@ -2549,9 +2549,9 @@ bool KImageEffect::blendOnLower(
3026 if ( cw <= 0 || ch <= 0 ) return true;
3029 - register uchar *i, *b;
3030 - register int a;
3031 - register int k;
3032 + uchar *i, *b;
3033 + int a;
3034 + int k;
3036 for (int j=0; j<ch; j++)
3038 @@ -3102,7 +3102,7 @@ unsigned int KImageEffect::generateNoise(unsigned int pixel,
3040 case PoissonNoise:
3042 - register int
3043 + int
3046 for (i=0; alpha > exp(-SigmaPoisson*pixel); i++)
3047 @@ -3709,7 +3709,7 @@ void KImageEffect::normalize(TQImage &image)
3048 TQ_INT64 number_pixels;
3049 int x, y;
3050 unsigned int *p, *q;
3051 - register long i;
3052 + long i;
3053 unsigned long threshold_intensity;
3054 unsigned char r, g, b, a;
3056 @@ -4016,7 +4016,7 @@ TQImage KImageEffect::edge(TQImage &image, double radius)
3058 double *kernel;
3059 int width;
3060 - register long i;
3061 + long i;
3062 TQImage dest;
3064 if(radius == 50.0){
3065 @@ -4054,7 +4054,7 @@ TQImage KImageEffect::emboss(TQImage &image, double radius, double sigma)
3067 double alpha, *kernel;
3068 int j, width;
3069 - register long i, u, v;
3070 + long i, u, v;
3071 TQImage dest;
3073 if(sigma == 0.0){
3074 @@ -4099,10 +4099,10 @@ void KImageEffect::blurScanLine(double *kernel, int width,
3075 unsigned int *src, unsigned int *dest,
3076 int columns)
3078 - register double *p;
3079 + double *p;
3080 unsigned int *q;
3081 - register int x;
3082 - register long i;
3083 + int x;
3084 + long i;
3085 double red, green, blue, alpha;
3086 double scale = 0.0;
3088 @@ -4239,7 +4239,7 @@ int KImageEffect::getBlurKernel(int width, double sigma, double **kernel)
3090 #define KernelRank 3
3091 double alpha, normalize;
3092 - register long i;
3093 + long i;
3094 int bias;
3096 assert(sigma != 0.0);
3097 @@ -4352,8 +4352,8 @@ bool KImageEffect::convolveImage(TQImage *image, TQImage *dest,
3098 long width;
3099 double red, green, blue, alpha;
3100 double normalize, *normal_kernel;
3101 - register const double *k;
3102 - register unsigned int *q;
3103 + const double *k;
3104 + unsigned int *q;
3105 int x, y, mx, my, sx, sy;
3106 long i;
3107 int mcx, mcy;
3108 @@ -4425,7 +4425,7 @@ int KImageEffect::getOptimalKernelWidth(double radius, double sigma)
3110 double normalize, value;
3111 long width;
3112 - register long u;
3113 + long u;
3115 assert(sigma != 0.0);
3116 if(radius > 0.0)
3117 @@ -4453,7 +4453,7 @@ TQImage KImageEffect::sharpen(TQImage &image, double radius, double sigma)
3119 double alpha, normalize, *kernel;
3120 int width;
3121 - register long i, u, v;
3122 + long i, u, v;
3123 TQImage dest;
3125 if(sigma == 0.0){
3126 @@ -4957,12 +4957,12 @@ TQImage KImageEffect::convertToPremultipliedAlpha(TQImage input) {
3127 int w = alphaImage.width();
3128 int h = alphaImage.height();
3130 - register int r;
3131 - register int g;
3132 - register int b;
3133 - register int a;
3134 - register float alpha_adjust;
3135 - register TQRgb l;
3136 + int r;
3137 + int g;
3138 + int b;
3139 + int a;
3140 + float alpha_adjust;
3141 + TQRgb l;
3142 TQRgb *ls;
3143 for (int y = 0; y < h; ++y) {
3144 ls = (TQRgb *)alphaImage.scanLine( y );
3145 diff --git a/tdefx/kpixmap.cpp b/tdefx/kpixmap.cpp
3146 index 75ae8656..8cc9e384 100644
3147 --- a/tdefx/kpixmap.cpp
3148 +++ b/tdefx/kpixmap.cpp
3149 @@ -34,7 +34,7 @@
3150 // Based on Qt's image conversion functions
3151 static bool kdither_32_to_8( const TQImage *src, TQImage *dst )
3153 - // register QRgb *p;
3154 + // TQRgb *p;
3155 uchar *b;
3156 int y;
3158 diff --git a/tdefx/kpixmapeffect.cpp b/tdefx/kpixmapeffect.cpp
3159 index c4bf04da..6e09c715 100644
3160 --- a/tdefx/kpixmapeffect.cpp
3161 +++ b/tdefx/kpixmapeffect.cpp
3162 @@ -30,15 +30,15 @@ KPixmap& KPixmapEffect::gradient(KPixmap &pixmap, const TQColor &ca,
3163 int rDiff, gDiff, bDiff;
3164 int rca, gca, bca /*, rcb, gcb, bcb*/;
3166 - register int x, y;
3167 + int x, y;
3169 rDiff = (/*rcb = */ cb.red()) - (rca = ca.red());
3170 gDiff = (/*gcb = */ cb.green()) - (gca = ca.green());
3171 bDiff = (/*bcb = */ cb.blue()) - (bca = ca.blue());
3173 - register int rl = rca << 16;
3174 - register int gl = gca << 16;
3175 - register int bl = bca << 16;
3176 + int rl = rca << 16;
3177 + int gl = gca << 16;
3178 + int bl = bca << 16;
3180 int rcdelta = ((1<<16) / (eff == VerticalGradient ? pixmap.height() : pixmap.width())) * rDiff;
3181 int gcdelta = ((1<<16) / (eff == VerticalGradient ? pixmap.height() : pixmap.width())) * gDiff;
3182 diff --git a/tdefx/tdestyle.cpp b/tdefx/tdestyle.cpp
3183 index 8e9fe40f..ded6a237 100644
3184 --- a/tdefx/tdestyle.cpp
3185 +++ b/tdefx/tdestyle.cpp
3186 @@ -2031,11 +2031,11 @@ void TransparencyHandler::rightShadow(TQImage& dst)
3187 // blend top-right corner.
3188 int pixels = dst.width() * dst.height();
3189 #ifdef WORDS_BIGENDIAN
3190 - register unsigned char* data = dst.bits() + 1; // Skip alpha
3191 + unsigned char* data = dst.bits() + 1; // Skip alpha
3192 #else
3193 - register unsigned char* data = dst.bits(); // Skip alpha
3194 + unsigned char* data = dst.bits(); // Skip alpha
3195 #endif
3196 - for(register int i = 0; i < 16; i++) {
3197 + for(int i = 0; i < 16; i++) {
3198 if (have_composite) {
3199 data++;
3200 data++;
3201 @@ -2051,8 +2051,8 @@ void TransparencyHandler::rightShadow(TQImage& dst)
3204 pixels -= 32; // tint right strip without rounded edges.
3205 - register int c = 0;
3206 - for(register int i = 0; i < pixels; i++) {
3207 + int c = 0;
3208 + for(int i = 0; i < pixels; i++) {
3209 if (have_composite) {
3210 data++;
3211 data++;
3212 @@ -2070,7 +2070,7 @@ void TransparencyHandler::rightShadow(TQImage& dst)
3215 // tint bottom edge
3216 - for(register int i = 0; i < 16; i++) {
3217 + for(int i = 0; i < 16; i++) {
3218 if (have_composite) {
3219 data++;
3220 data++;
3221 @@ -2099,15 +2099,15 @@ void TransparencyHandler::bottomShadow(TQImage& dst)
3222 double* corner = const_cast<double*>(bottom_left_corner);
3224 #ifdef WORDS_BIGENDIAN
3225 - register unsigned char* data = dst.bits() + 1; // Skip alpha
3226 + unsigned char* data = dst.bits() + 1; // Skip alpha
3227 #else
3228 - register unsigned char* data = dst.bits(); // Skip alpha
3229 + unsigned char* data = dst.bits(); // Skip alpha
3230 #endif
3232 for(int y = 0; y < 4; y++)
3234 // Bottom-left Corner
3235 - for(register int x = 0; x < 4; x++) {
3236 + for(int x = 0; x < 4; x++) {
3237 if (have_composite) {
3238 data++;
3239 data++;
3240 @@ -2124,7 +2124,7 @@ void TransparencyHandler::bottomShadow(TQImage& dst)
3243 // Scanline
3244 - for(register int x = 0; x < width; x++) {
3245 + for(int x = 0; x < width; x++) {
3246 if (have_composite) {
3247 data++;
3248 data++;
3249 diff --git a/tdehtml/css/cssproperties.c b/tdehtml/css/cssproperties.c
3250 index bbaeb0d0..3e6341ab 100644
3251 --- a/tdehtml/css/cssproperties.c
3252 +++ b/tdehtml/css/cssproperties.c
3253 @@ -39,7 +39,7 @@ struct props {
3254 int id;
3257 -static const struct props * findProp (register const char *str, register unsigned int len);
3258 +static const struct props * findProp (const char *str, unsigned int len);
3259 /* maximum key range = 469, duplicates = 0 */
3261 #ifdef __GNUC__
3262 @@ -50,7 +50,7 @@ inline
3263 #endif
3264 #endif
3265 static unsigned int
3266 -hash_prop (register const char *str, register unsigned int len)
3267 +hash_prop (const char *str, unsigned int len)
3269 static const unsigned short asso_values[] =
3271 @@ -81,7 +81,7 @@ hash_prop (register const char *str, register unsigned int len)
3272 472, 472, 472, 472, 472, 472, 472, 472, 472, 472,
3273 472, 472, 472, 472, 472, 472
3275 - register int hval = len;
3276 + int hval = len;
3278 switch (hval)
3280 @@ -189,7 +189,7 @@ hash_prop (register const char *str, register unsigned int len)
3281 __inline
3282 #endif
3283 const struct props *
3284 -findProp (register const char *str, register unsigned int len)
3285 +findProp (const char *str, unsigned int len)
3287 enum
3289 @@ -516,15 +516,15 @@ findProp (register const char *str, register unsigned int len)
3291 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
3293 - register int key = hash_prop (str, len);
3294 + int key = hash_prop (str, len);
3296 if (key <= MAX_HASH_VALUE && key >= 0)
3298 - register int index = lookup[key];
3299 + int index = lookup[key];
3301 if (index >= 0)
3303 - register const char *s = wordlist_prop[index].name;
3304 + const char *s = wordlist_prop[index].name;
3306 if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
3307 return &wordlist_prop[index];
3308 diff --git a/tdehtml/css/cssvalues.c b/tdehtml/css/cssvalues.c
3309 index 2bd3746e..af175349 100644
3310 --- a/tdehtml/css/cssvalues.c
3311 +++ b/tdehtml/css/cssvalues.c
3312 @@ -39,7 +39,7 @@ struct css_value {
3313 int id;
3316 -static const css_value* findValue (register const char *str, register unsigned int len);
3317 +static const css_value* findValue (const char *str, unsigned int len);
3318 /* maximum key range = 2876, duplicates = 0 */
3320 #ifdef __GNUC__
3321 @@ -50,7 +50,7 @@ inline
3322 #endif
3323 #endif
3324 static unsigned int
3325 -hash_val (register const char *str, register unsigned int len)
3326 +hash_val (const char *str, unsigned int len)
3328 static const unsigned short asso_values[] =
3330 @@ -81,7 +81,7 @@ hash_val (register const char *str, register unsigned int len)
3331 2876, 2876, 2876, 2876, 2876, 2876, 2876, 2876, 2876, 2876,
3332 2876, 2876, 2876, 2876, 2876, 2876, 2876
3334 - register int hval = 0;
3335 + int hval = 0;
3337 switch (len)
3339 @@ -177,7 +177,7 @@ hash_val (register const char *str, register unsigned int len)
3340 __inline
3341 #endif
3342 const struct css_value *
3343 -findValue (register const char *str, register unsigned int len)
3344 +findValue (const char *str, unsigned int len)
3346 enum
3348 @@ -1036,15 +1036,15 @@ findValue (register const char *str, register unsigned int len)
3350 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
3352 - register int key = hash_val (str, len);
3353 + int key = hash_val (str, len);
3355 if (key <= MAX_HASH_VALUE && key >= 0)
3357 - register int index = lookup[key];
3358 + int index = lookup[key];
3360 if (index >= 0)
3362 - register const char *s = wordlist_value[index].name;
3363 + const char *s = wordlist_value[index].name;
3365 if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
3366 return &wordlist_value[index];
3367 diff --git a/tdehtml/css/makeprop b/tdehtml/css/makeprop
3368 index a1a30ac9..b01ed731 100644
3369 --- a/tdehtml/css/makeprop
3370 +++ b/tdehtml/css/makeprop
3371 @@ -23,7 +23,7 @@
3373 grep "^[^\#]" cssproperties.in > cssproperties.strip
3375 -echo -e '%{\n/* This file is automatically generated from cssproperties.in by makeprop, do not edit */\n/* Copyright 1999 W. Bastian */\n#include "cssproperties.h"\n%}\nstruct props {\n const char *name;\n int id;\n};\n\nstatic const struct props * findProp (register const char *str, register unsigned int len);\n\n%%' > cssproperties.gperf
3376 +echo -e '%{\n/* This file is automatically generated from cssproperties.in by makeprop, do not edit */\n/* Copyright 1999 W. Bastian */\n#include "cssproperties.h"\n%}\nstruct props {\n const char *name;\n int id;\n};\n\nstatic const struct props * findProp (const char *str, unsigned int len);\n\n%%' > cssproperties.gperf
3377 cat cssproperties.strip | awk '{ do { prop = $0; gsub("-", "_"); print prop ", CSS_PROP_" toupper($0) } while (getline) }' >> cssproperties.gperf
3378 echo '%%' >> cssproperties.gperf
3379 echo -e '/* This file is automatically generated from cssproperties.in by makeprop, do not edit */\n/* Copyright 1998 W. Bastian */\n\n#ifndef CSSPROPERTIES_H\n#define CSSPROPERTIES_H\n\nDOM::DOMString getPropertyName(unsigned short id) KDE_NO_EXPORT;\n' > cssproperties.h
3380 diff --git a/tdehtml/css/makevalues b/tdehtml/css/makevalues
3381 index 0f81f161..3ca0a82e 100755
3382 --- a/tdehtml/css/makevalues
3383 +++ b/tdehtml/css/makevalues
3384 @@ -24,7 +24,7 @@
3386 grep "^[^\#]" cssvalues.in > cssvalues.strip
3388 -echo -e '%{\n/* This file is automatically generated from cssvalues.in by makevalues, do not edit */\n/* Copyright 1999 W. Bastian */\n#include "cssvalues.h"\n%}\nstruct css_value {\n const char *name;\n int id;\n};\n\nstatic const css_value* findValue (register const char *str, register unsigned int len);\n\n%%' > cssvalues.gperf
3389 +echo -e '%{\n/* This file is automatically generated from cssvalues.in by makevalues, do not edit */\n/* Copyright 1999 W. Bastian */\n#include "cssvalues.h"\n%}\nstruct css_value {\n const char *name;\n int id;\n};\n\nstatic const css_value* findValue (const char *str, unsigned int len);\n\n%%' > cssvalues.gperf
3390 cat cssvalues.strip | awk '{ do { prop = $0; gsub("-", "_"); print prop ", CSS_VAL_" toupper($0) } while (getline) }' >> cssvalues.gperf
3391 echo '%%' >> cssvalues.gperf
3392 echo -e '/* This file is automatically generated from cssvalues.in by
3393 diff --git a/tdehtml/css/parser.cpp b/tdehtml/css/parser.cpp
3394 index 3e8ee89f..6fa18f17 100644
3395 --- a/tdehtml/css/parser.cpp
3396 +++ b/tdehtml/css/parser.cpp
3397 @@ -385,7 +385,7 @@ union yyalloc
3398 # define YYCOPY(To, From, Count) \
3399 do \
3401 - register YYSIZE_T yyi; \
3402 + YYSIZE_T yyi; \
3403 for (yyi = 0; yyi < (Count); yyi++) \
3404 (To)[yyi] = (From)[yyi]; \
3406 @@ -1122,7 +1122,7 @@ yystrlen (yystr)
3407 const char *yystr;
3408 # endif
3410 - register const char *yys = yystr;
3411 + const char *yys = yystr;
3413 while (*yys++ != '\0')
3414 continue;
3415 @@ -1147,8 +1147,8 @@ yystpcpy (yydest, yysrc)
3416 const char *yysrc;
3417 # endif
3419 - register char *yyd = yydest;
3420 - register const char *yys = yysrc;
3421 + char *yyd = yydest;
3422 + const char *yys = yysrc;
3424 while ((*yyd++ = *yys++) != '\0')
3425 continue;
3426 @@ -1338,8 +1338,8 @@ YYSTYPE yylval;
3427 /* Number of syntax errors so far. */
3428 int yynerrs;
3430 - register int yystate;
3431 - register int yyn;
3432 + int yystate;
3433 + int yyn;
3434 int yyresult;
3435 /* Number of tokens to shift before error messages enabled. */
3436 int yyerrstatus;
3437 @@ -1357,12 +1357,12 @@ int yynerrs;
3438 /* The state stack. */
3439 short int yyssa[YYINITDEPTH];
3440 short int *yyss = yyssa;
3441 - register short int *yyssp;
3442 + short int *yyssp;
3444 /* The semantic value stack. */
3445 YYSTYPE yyvsa[YYINITDEPTH];
3446 YYSTYPE *yyvs = yyvsa;
3447 - register YYSTYPE *yyvsp;
3448 + YYSTYPE *yyvsp;
3452 diff --git a/tdehtml/css/tokenizer.cpp b/tdehtml/css/tokenizer.cpp
3453 index 48fd174d..687cd4ba 100644
3454 --- a/tdehtml/css/tokenizer.cpp
3455 +++ b/tdehtml/css/tokenizer.cpp
3456 @@ -592,9 +592,9 @@ static yyconst short int yy_chk[1695] =
3458 YY_DECL
3460 - register yy_state_type yy_current_state;
3461 - register unsigned short *yy_cp, *yy_bp;
3462 - register int yy_act;
3463 + yy_state_type yy_current_state;
3464 + unsigned short *yy_cp, *yy_bp;
3465 + int yy_act;
3467 #line 25 "tokenizer.flex"
3469 @@ -617,7 +617,7 @@ YY_DECL
3470 yy_match:
3473 - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3474 + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3475 if ( yy_accept[yy_current_state] )
3477 yy_last_accepting_state = yy_current_state;
3478 diff --git a/tdehtml/html/doctypes.cpp b/tdehtml/html/doctypes.cpp
3479 index 332ad18f..adbefab8 100644
3480 --- a/tdehtml/html/doctypes.cpp
3481 +++ b/tdehtml/html/doctypes.cpp
3482 @@ -51,7 +51,7 @@ inline
3483 #endif
3484 #endif
3485 static unsigned int
3486 -hash (register const char *str, register unsigned int len)
3487 +hash (const char *str, unsigned int len)
3489 static const unsigned short asso_values[] =
3491 @@ -82,7 +82,7 @@ hash (register const char *str, register unsigned int len)
3492 731, 731, 731, 731, 731, 731, 731, 731, 731, 731,
3493 731, 731, 731, 731, 731, 731
3495 - register int hval = len;
3496 + int hval = len;
3498 switch (hval)
3500 @@ -334,7 +334,7 @@ hash (register const char *str, register unsigned int len)
3501 __inline
3502 #endif
3503 const struct PubIDInfo *
3504 -findDoctypeEntry (register const char *str, register unsigned int len)
3505 +findDoctypeEntry (const char *str, unsigned int len)
3507 enum
3509 @@ -1160,11 +1160,11 @@ findDoctypeEntry (register const char *str, register unsigned int len)
3511 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
3513 - register int key = hash (str, len);
3514 + int key = hash (str, len);
3516 if (key <= MAX_HASH_VALUE && key >= 0)
3518 - register const char *s = wordlist[key].name;
3519 + const char *s = wordlist[key].name;
3521 if (*str == *s && !strcmp (str + 1, s + 1))
3522 return &wordlist[key];
3523 diff --git a/tdehtml/misc/htmlattrs.c b/tdehtml/misc/htmlattrs.c
3524 index 5ceaf351..e37f4c5c 100644
3525 --- a/tdehtml/misc/htmlattrs.c
3526 +++ b/tdehtml/misc/htmlattrs.c
3527 @@ -57,7 +57,7 @@ inline
3528 #endif
3529 #endif
3530 static unsigned int
3531 -hash_attr (register const char *str, register unsigned int len)
3532 +hash_attr (const char *str, unsigned int len)
3534 static const unsigned short asso_values[] =
3536 @@ -88,7 +88,7 @@ hash_attr (register const char *str, register unsigned int len)
3537 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
3538 577, 577, 577, 577, 577, 577, 577
3540 - register int hval = len;
3541 + int hval = len;
3543 switch (hval)
3545 @@ -831,19 +831,19 @@ inline
3546 #endif
3547 #endif
3548 const struct attrs *
3549 -findAttr (register const char *str, register unsigned int len)
3550 +findAttr (const char *str, unsigned int len)
3552 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
3554 - register int key = hash_attr (str, len);
3555 + int key = hash_attr (str, len);
3557 if (key <= MAX_HASH_VALUE && key >= 0)
3559 - register int index = lookup[key];
3560 + int index = lookup[key];
3562 if (index >= 0)
3564 - register const char *s = wordlist_attr[index].name + spool_attr;
3565 + const char *s = wordlist_attr[index].name + spool_attr;
3567 if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
3568 return &wordlist_attr[index];
3569 diff --git a/tdehtml/misc/htmltags.c b/tdehtml/misc/htmltags.c
3570 index 1342e62b..fa701fe6 100644
3571 --- a/tdehtml/misc/htmltags.c
3572 +++ b/tdehtml/misc/htmltags.c
3573 @@ -48,7 +48,7 @@ inline
3574 #endif
3575 #endif
3576 static unsigned int
3577 -hash_tag (register const char *str, register unsigned int len)
3578 +hash_tag (const char *str, unsigned int len)
3580 static const unsigned short asso_values[] =
3582 @@ -79,7 +79,7 @@ hash_tag (register const char *str, register unsigned int len)
3583 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
3584 346, 346, 346, 346, 346, 346, 346
3586 - register int hval = len;
3587 + int hval = len;
3589 switch (hval)
3591 @@ -338,7 +338,7 @@ static const struct spool_Tag_t spool_Tag_contents =
3592 __inline
3593 #endif
3594 const struct tags *
3595 -findTag (register const char *str, register unsigned int len)
3596 +findTag (const char *str, unsigned int len)
3598 enum
3600 @@ -615,17 +615,17 @@ findTag (register const char *str, register unsigned int len)
3602 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
3604 - register int key = hash_tag (str, len);
3605 + int key = hash_tag (str, len);
3607 if (key <= MAX_HASH_VALUE && key >= 0)
3609 - register int index = lookup[key];
3610 + int index = lookup[key];
3612 if (index >= 0)
3614 if (len == lengthtable[index])
3616 - register const char *s = wordlist_tag[index].name + spool_Tag;
3617 + const char *s = wordlist_tag[index].name + spool_Tag;
3619 if (*str == *s && !memcmp (str + 1, s + 1, len - 1))
3620 return &wordlist_tag[index];
3621 diff --git a/tdeinit/setproctitle.cpp b/tdeinit/setproctitle.cpp
3622 index e6c85561..5d2570b3 100644
3623 --- a/tdeinit/setproctitle.cpp
3624 +++ b/tdeinit/setproctitle.cpp
3625 @@ -136,7 +136,7 @@ char *LastArgv = NULL; /* end of argv */
3626 void
3627 tdeinit_initsetproctitle(int argc, char **argv, char **envp)
3629 - register int i, envpsize = 0;
3630 + int i, envpsize = 0;
3631 #if !defined(HAVE_NSGETENVIRON) || !defined(HAVE_CRT_EXTERNS_H)
3632 extern char **environ;
3633 #endif
3634 @@ -199,8 +199,8 @@ static void
3635 setproctitle(const char *fmt, ...)
3637 # if SPT_TYPE != SPT_NONE
3638 - register char *p;
3639 - register int i;
3640 + char *p;
3641 + int i;
3642 SETPROC_STATIC char buf[SPT_BUFSIZE];
3643 va_list ap;
3644 # if SPT_TYPE == SPT_PSTAT
3645 diff --git a/tdeinit/start_tdeinit.c b/tdeinit/start_tdeinit.c
3646 index e46aaa49..c4062ddb 100644
3647 --- a/tdeinit/start_tdeinit.c
3648 +++ b/tdeinit/start_tdeinit.c
3649 @@ -19,6 +19,9 @@
3651 #include <config.h>
3653 +#include <sys/types.h>
3654 +#include <sys/stat.h>
3656 #include <errno.h>
3657 #include <fcntl.h>
3658 #include <signal.h>
3659 diff --git a/tdeio/kssl/kopenssl.cc b/tdeio/kssl/kopenssl.cc
3660 index 47f5ee3c..a009bd7e 100644
3661 --- a/tdeio/kssl/kopenssl.cc
3662 +++ b/tdeio/kssl/kopenssl.cc
3663 @@ -2048,7 +2048,7 @@ X509_LOOKUP_TYPE KOpenSSLProxy::X509_OBJECT_get_type(const X509_OBJECT *a) {
3664 return a->type;
3665 #endif
3666 kdWarning() << "X509_OBJECT_get_type not defined!" << endl;
3667 -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
3668 +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
3669 return X509_LU_NONE;
3670 #else
3671 return 0;
3672 @@ -2057,7 +2057,7 @@ X509_LOOKUP_TYPE KOpenSSLProxy::X509_OBJECT_get_type(const X509_OBJECT *a) {
3674 X509* KOpenSSLProxy::X509_OBJECT_get0_X509(const X509_OBJECT *a) {
3675 if (K_X509_OBJECT_get0_X509) return (K_X509_OBJECT_get0_X509)(a);
3676 -#if OPENSSL_VERSION_NUMBER < 0x10100000L
3677 +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
3678 return a->data.x509;
3679 #endif
3680 kdWarning() << "X509_OBJECT_get0_X509 not defined!" << endl;
3681 @@ -2067,7 +2067,7 @@ X509* KOpenSSLProxy::X509_OBJECT_get0_X509(const X509_OBJECT *a) {
3683 ASN1_TIME* KOpenSSLProxy::X509_getm_notAfter(const X509 *x) {
3684 if (K_X509_getm_notAfter) return (K_X509_getm_notAfter)(x);
3685 -#if OPENSSL_VERSION_NUMBER < 0x10100000L
3686 +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
3687 return X509_get_notAfter(x);
3688 #endif
3689 kdWarning() << "X509_get_notAfter not defined!" << endl;
3690 @@ -2076,7 +2076,7 @@ ASN1_TIME* KOpenSSLProxy::X509_getm_notAfter(const X509 *x) {
3692 ASN1_TIME* KOpenSSLProxy::X509_getm_notBefore(const X509 *x) {
3693 if (K_X509_getm_notBefore) return (K_X509_getm_notBefore)(x);
3694 -#if OPENSSL_VERSION_NUMBER < 0x10100000L
3695 +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
3696 return X509_get_notBefore(x);
3697 #endif
3698 kdWarning() << "X509_get_notBefore not defined!" << endl;
3699 diff --git a/tdeio/tdefile/kpropertiesdialog.cpp b/tdeio/tdefile/kpropertiesdialog.cpp
3700 index 0aaf2f40..ae8aae85 100644
3701 --- a/tdeio/tdefile/kpropertiesdialog.cpp
3702 +++ b/tdeio/tdefile/kpropertiesdialog.cpp
3703 @@ -2630,13 +2630,7 @@ KURLPropsPlugin::KURLPropsPlugin( KPropertiesDialog *_props )
3705 KFileItem * item = properties->item();
3707 - if (item && item->mimetype() == "media/builtin-mydocuments") {
3708 - URLStr = TQString::null;
3709 - TDEConfig xdguserconfig( TQDir::homeDirPath()+"/.config/user-dirs.dirs" );
3710 - URLEdit->setMode(KFile::Directory);
3711 - URLEdit->setURL( xdguserconfig.readPathEntry( "XDG_DOCUMENTS_DIR", TQDir::homeDirPath() + "/Documents").remove( "\"" ));
3713 - else if (item && item->mimetype().startsWith("media/builtin-")) {
3714 + if (item && item->mimetype().startsWith("media/builtin-")) {
3715 URLEdit->setEnabled(false);
3718 @@ -2679,20 +2673,7 @@ void KURLPropsPlugin::applyChanges()
3719 TQString path = properties->kurl().path();
3720 KFileItem * item = properties->item();
3722 - if (item && item->mimetype() == "media/builtin-mydocuments") {
3723 - TDEConfig xdgconfig(TQDir::homeDirPath()+"/.config/user-dirs.dirs" );
3724 - if (xdgconfig.isReadOnly()) {
3725 - KMessageBox::sorry( 0, i18n("<qt>Could not save properties. You do not have "
3726 - "sufficient access to write to <b>%1</b>.</qt>").arg(path));
3727 - return;
3729 - else {
3730 - xdgconfig.writePathEntry( "XDG_DOCUMENTS_DIR", '"'+ URLEdit->url() + '"', true, false, false, false );
3731 - xdgconfig.sync();
3732 - return;
3735 - else if (item && item->mimetype().startsWith("media/builtin-")) {
3736 + if (item && item->mimetype().startsWith("media/builtin-")) {
3737 return;
3740 diff --git a/tdeio/tdefile/kurlbar.cpp b/tdeio/tdefile/kurlbar.cpp
3741 index 64f5f4fb..3912aced 100644
3742 --- a/tdeio/tdefile/kurlbar.cpp
3743 +++ b/tdeio/tdefile/kurlbar.cpp
3744 @@ -611,15 +611,6 @@ void KURLBar::readItem( int i, TDEConfig *config, bool applicationLocal )
3746 TQString description = config->readEntry( TQString("Description_") + number );
3748 - if (description.isEmpty() && url.protocol()=="beagle") {
3749 - TDEIO::UDSEntry uds;
3750 - const KURL kurl("beagle:?beagled-status");
3751 - if (!TDEIO::NetAccess::stat(kurl, uds))
3752 - return;
3754 - description = i18n("Desktop Search");
3757 insertItem( url,
3758 description,
3759 applicationLocal,
3760 diff --git a/tdeio/tdefile/tdefiledialog.cpp b/tdeio/tdefile/tdefiledialog.cpp
3761 index 714d24ab..0f3f6994 100644
3762 --- a/tdeio/tdefile/tdefiledialog.cpp
3763 +++ b/tdeio/tdefile/tdefiledialog.cpp
3764 @@ -1173,12 +1173,6 @@ void KFileDialog::urlEntered(const KURL& url)
3765 d->pathCombo->setURL( url );
3768 - if (url.protocol()=="beagle" && url.path()=="/") {
3769 - d->pathCombo->setEditText("beagle:/<"+i18n("search term")+">");
3770 - d->pathCombo->lineEdit()->setSelection(8,255);
3771 - d->pathCombo->setFocus();
3774 locationEdit->blockSignals( true );
3775 locationEdit->setCurrentItem( 0 );
3776 if ( d->keepLocation )
3777 diff --git a/tdeio/tdefile/tdefilespeedbar.cpp b/tdeio/tdefile/tdefilespeedbar.cpp
3778 index 3f84bbbc..066953f3 100644
3779 --- a/tdeio/tdefile/tdefilespeedbar.cpp
3780 +++ b/tdeio/tdefile/tdefilespeedbar.cpp
3781 @@ -44,76 +44,27 @@ KFileSpeedBar::KFileSpeedBar( TQWidget *parent, const char *name )
3783 if ( m_initializeSpeedbar )
3785 - KURL u;
3786 - u.setPath( TDEGlobalSettings::desktopPath() );
3787 - insertItem( u, i18n("Desktop"), false );
3789 -//TODO: win32
3790 - if ((TDEGlobalSettings::documentPath() != (TQDir::homeDirPath()+"/")) &&
3791 - TQDir(TDEGlobalSettings::documentPath()).exists())
3792 + insertItem(TQDir::homeDirPath(), i18n("Home Folder"), false, "folder_home");
3793 + insertItem(TDEGlobalSettings::desktopPath(), i18n("Desktop"), false, "desktop");
3794 + insertItem(TDEGlobalSettings::documentPath(), i18n("Documents"), false, "folder_wordprocessing");
3795 + insertItem(TDEGlobalSettings::downloadPath(), i18n( "Downloads" ), false, "folder_html");
3796 + insertItem(TDEGlobalSettings::musicPath(), i18n( "Music" ), false, "folder_sound");
3797 + insertItem(TDEGlobalSettings::picturesPath(), i18n( "Pictures" ), false, "folder_image");
3798 + insertItem(TDEGlobalSettings::publicSharePath(), i18n( "Public" ), false, "folder_open");
3799 + insertItem(TDEGlobalSettings::templatesPath(), i18n( "Templates" ), false, "folder_grey");
3800 + insertItem(TDEGlobalSettings::videosPath(), i18n( "Videos" ), false, "folder_video");
3802 + KURL u = "media:/";
3803 + if (KProtocolInfo::isKnownProtocol(u))
3805 - u.setPath( TDEGlobalSettings::documentPath() );
3806 - insertItem( u, i18n("Documents"), false, "folder_txt" );
3807 + insertItem(u, i18n("Storage Media"), false, KProtocolInfo::icon("media"));
3810 - u.setPath( TQDir::homeDirPath() );
3811 - insertItem( u, i18n("Home Folder"), false,
3812 - "folder_home" );
3814 - u = "media:/";
3815 - if ( KProtocolInfo::isKnownProtocol( u ) )
3816 - insertItem( u, i18n("Storage Media"), false,
3817 - KProtocolInfo::icon( "media" ) );
3819 - if ( TQFile::exists( TQDir::homeDirPath()+"/.config/user-dirs.dirs" ) )
3820 + u = "remote:/";
3821 + if (KProtocolInfo::isKnownProtocol(u))
3823 - TQString download, music, pictures, videos, templates, publicShares;
3825 - TQFile f( TQDir::homeDirPath()+"/.config/user-dirs.dirs" );
3826 - if (!f.open(IO_ReadOnly))
3827 - return;
3829 - TQTextStream s( &f );
3830 - s.setCodec( TQTextCodec::codecForLocale() );
3832 - // read the xdg user dirs
3833 - TQString line = s.readLine();
3834 - while (!line.isNull())
3836 - if (line.startsWith("XDG_DOWNLOAD_DIR="))
3837 - download = line.remove("XDG_DOWNLOAD_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
3838 - else if (line.startsWith("XDG_MUSIC_DIR="))
3839 - music = line.remove("XDG_MUSIC_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
3840 - else if (line.startsWith("XDG_PICTURES_DIR="))
3841 - pictures = line.remove("XDG_PICTURES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
3842 - else if (line.startsWith("XDG_VIDEOS_DIR="))
3843 - videos = line.remove("XDG_VIDEOS_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
3844 - else if (line.startsWith("XDG_TEMPLATES_DIR="))
3845 - templates = line.remove("XDG_TEMPLATES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
3846 - else if (line.startsWith("XDG_PUBLICSHARES_DIR="))
3847 - publicShares = line.remove("XDG_PUBLICSHARES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
3849 - line = s.readLine();
3851 - // now add in the speedbar
3852 - if (!download.isEmpty())
3853 - insertItem( download, i18n( "Downloads" ), false, "folder_html" );
3854 - if (!music.isEmpty())
3855 - insertItem( music, i18n( "Music" ), false, "folder_sound" );
3856 - if (!pictures.isEmpty())
3857 - insertItem( pictures, i18n( "Pictures" ), false, "folder_image" );
3858 - if (!videos.isEmpty())
3859 - insertItem( videos, i18n( "Videos" ), false, "folder_video" );
3860 - if (!templates.isEmpty())
3861 - insertItem( templates, i18n( "Templates" ), false, "folder_video" );
3862 - if (!publicShares.isEmpty())
3863 - insertItem( publicShares, i18n( "Public" ), false, "folder_video" );
3864 + insertItem(u, i18n("Network Folders"), false, KProtocolInfo::icon("remote"));
3867 - u = "remote:/";
3868 - if ( KProtocolInfo::isKnownProtocol( u ) )
3869 - insertItem( u, i18n("Network Folders"), false,
3870 - KProtocolInfo::icon( "remote" ) );
3874 diff --git a/tdeio/tdeio/connection.cpp b/tdeio/tdeio/connection.cpp
3875 index fa316f56..9577ad53 100644
3876 --- a/tdeio/tdeio/connection.cpp
3877 +++ b/tdeio/tdeio/connection.cpp
3878 @@ -27,7 +27,6 @@
3879 #include <tqtimer.h>
3881 #include <sys/types.h>
3882 -#include <sys/signal.h>
3883 #include <sys/time.h>
3885 #include <errno.h>
3886 diff --git a/tdeio/tdeio/krun.cpp b/tdeio/tdeio/krun.cpp
3887 index ccb63828..89c84952 100644
3888 --- a/tdeio/tdeio/krun.cpp
3889 +++ b/tdeio/tdeio/krun.cpp
3890 @@ -931,26 +931,7 @@ void KRun::init()
3892 while( nDollarPos != -1 && nDollarPos+1 < static_cast<int>(aValue.length())) {
3893 // there is at least one $
3894 - if( (aValue)[nDollarPos+1] == '(' ) {
3895 - uint nEndPos = nDollarPos+1;
3896 - // the next character is no $
3897 - while ( (nEndPos <= aValue.length()) && (aValue[nEndPos]!=')') )
3898 - nEndPos++;
3899 - nEndPos++;
3900 - TQString cmd = aValue.mid( nDollarPos+2, nEndPos-nDollarPos-3 );
3902 - TQString result;
3903 - FILE *fs = popen(TQFile::encodeName(cmd).data(), "r");
3904 - if (fs)
3907 - TQTextStream ts(fs, IO_ReadOnly);
3908 - result = ts.read().stripWhiteSpace();
3910 - pclose(fs);
3912 - aValue.replace( nDollarPos, nEndPos-nDollarPos, result );
3913 - } else if( (aValue)[nDollarPos+1] != '$' ) {
3914 + if( (aValue)[nDollarPos+1] != '$' ) {
3915 uint nEndPos = nDollarPos+1;
3916 // the next character is no $
3917 TQString aVarName;
3918 diff --git a/tdeio/tdeio/lex.c b/tdeio/tdeio/lex.c
3919 index 8e4ea0ea..f8d8c2bf 100644
3920 --- a/tdeio/tdeio/lex.c
3921 +++ b/tdeio/tdeio/lex.c
3922 @@ -590,9 +590,9 @@ YY_MALLOC_DECL
3924 YY_DECL
3926 - register yy_state_type yy_current_state;
3927 - register char *yy_cp, *yy_bp;
3928 - register int yy_act;
3929 + yy_state_type yy_current_state;
3930 + char *yy_cp, *yy_bp;
3931 + int yy_act;
3933 #line 21 "lex.l"
3935 @@ -639,7 +639,7 @@ YY_DECL
3936 yy_match:
3939 - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3940 + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3941 if ( yy_accept[yy_current_state] )
3943 yy_last_accepting_state = yy_current_state;
3944 @@ -949,9 +949,9 @@ case YY_STATE_EOF(INITIAL):
3946 static int yy_get_next_buffer()
3948 - register char *dest = yy_current_buffer->yy_ch_buf;
3949 - register char *source = yytext_ptr;
3950 - register int number_to_move, i;
3951 + char *dest = yy_current_buffer->yy_ch_buf;
3952 + char *source = yytext_ptr;
3953 + int number_to_move, i;
3954 int ret_val;
3956 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
3957 @@ -1081,14 +1081,14 @@ static int yy_get_next_buffer()
3959 static yy_state_type yy_get_previous_state()
3961 - register yy_state_type yy_current_state;
3962 - register char *yy_cp;
3963 + yy_state_type yy_current_state;
3964 + char *yy_cp;
3966 yy_current_state = yy_start;
3968 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3970 - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3971 + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3972 if ( yy_accept[yy_current_state] )
3974 yy_last_accepting_state = yy_current_state;
3975 @@ -1120,10 +1120,10 @@ static yy_state_type yy_try_NUL_trans( yy_current_state )
3976 yy_state_type yy_current_state;
3977 #endif
3979 - register int yy_is_jam;
3980 - register char *yy_cp = yy_c_buf_p;
3981 + int yy_is_jam;
3982 + char *yy_cp = yy_c_buf_p;
3984 - register YY_CHAR yy_c = 1;
3985 + YY_CHAR yy_c = 1;
3986 if ( yy_accept[yy_current_state] )
3988 yy_last_accepting_state = yy_current_state;
3989 @@ -1144,14 +1144,14 @@ yy_state_type yy_current_state;
3991 #ifndef YY_NO_UNPUT
3992 #ifdef YY_USE_PROTOS
3993 -static void yyunput( int c, register char *yy_bp )
3994 +static void yyunput( int c, char *yy_bp )
3995 #else
3996 static void yyunput( c, yy_bp )
3997 int c;
3998 -register char *yy_bp;
3999 +char *yy_bp;
4000 #endif
4002 - register char *yy_cp = yy_c_buf_p;
4003 + char *yy_cp = yy_c_buf_p;
4005 /* undo effects of setting up yytext */
4006 *yy_cp = yy_hold_char;
4007 @@ -1159,10 +1159,10 @@ register char *yy_bp;
4008 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
4009 { /* need to shift things up to make room */
4010 /* +2 for EOB chars. */
4011 - register int number_to_move = yy_n_chars + 2;
4012 - register char *dest = &yy_current_buffer->yy_ch_buf[
4013 + int number_to_move = yy_n_chars + 2;
4014 + char *dest = &yy_current_buffer->yy_ch_buf[
4015 yy_current_buffer->yy_buf_size + 2];
4016 - register char *source =
4017 + char *source =
4018 &yy_current_buffer->yy_ch_buf[number_to_move];
4020 while ( source > yy_current_buffer->yy_ch_buf )
4021 @@ -1618,7 +1618,7 @@ yyconst char *s2;
4022 int n;
4023 #endif
4025 - register int i;
4026 + int i;
4027 for ( i = 0; i < n; ++i )
4028 s1[i] = s2[i];
4030 @@ -1632,7 +1632,7 @@ static int yy_flex_strlen( s )
4031 yyconst char *s;
4032 #endif
4034 - register int n;
4035 + int n;
4036 for ( n = 0; s[n]; ++n )
4039 diff --git a/tdeio/tdeio/netaccess.cpp b/tdeio/tdeio/netaccess.cpp
4040 index 2867c3cf..132c87a5 100644
4041 --- a/tdeio/tdeio/netaccess.cpp
4042 +++ b/tdeio/tdeio/netaccess.cpp
4043 @@ -343,7 +343,7 @@ bool NetAccess::statInternal( const KURL & url, int details, bool source,
4044 TQWidget* window )
4046 bJobOK = true; // success unless further error occurs
4047 - TDEIO::StatJob * job = TDEIO::stat( url, !url.isLocalFile() && !url.url().startsWith("beagle:?") );
4048 + TDEIO::StatJob * job = TDEIO::stat( url, !url.isLocalFile() );
4049 job->setWindow (window);
4050 job->setDetails( details );
4051 job->setSide( source );
4052 diff --git a/tdeio/tdeio/yacc.c b/tdeio/tdeio/yacc.c
4053 index f69aa981..a4f61876 100644
4054 --- a/tdeio/tdeio/yacc.c
4055 +++ b/tdeio/tdeio/yacc.c
4056 @@ -219,7 +219,7 @@ union yyalloc
4057 # define YYCOPY(To, From, Count) \
4058 do \
4060 - register YYSIZE_T yyi; \
4061 + YYSIZE_T yyi; \
4062 for (yyi = 0; yyi < (Count); yyi++) \
4063 (To)[yyi] = (From)[yyi]; \
4065 @@ -694,7 +694,7 @@ yystrlen (yystr)
4066 const char *yystr;
4067 # endif
4069 - register const char *yys = yystr;
4070 + const char *yys = yystr;
4072 while (*yys++ != '\0')
4073 continue;
4074 @@ -719,8 +719,8 @@ yystpcpy (yydest, yysrc)
4075 const char *yysrc;
4076 # endif
4078 - register char *yyd = yydest;
4079 - register const char *yys = yysrc;
4080 + char *yyd = yydest;
4081 + const char *yys = yysrc;
4083 while ((*yyd++ = *yys++) != '\0')
4084 continue;
4085 @@ -855,8 +855,8 @@ yyparse ()
4086 #endif
4089 - register int yystate;
4090 - register int yyn;
4091 + int yystate;
4092 + int yyn;
4093 int yyresult;
4094 /* Number of tokens to shift before error messages enabled. */
4095 int yyerrstatus;
4096 @@ -874,12 +874,12 @@ yyparse ()
4097 /* The state stack. */
4098 short int yyssa[YYINITDEPTH];
4099 short int *yyss = yyssa;
4100 - register short int *yyssp;
4101 + short int *yyssp;
4103 /* The semantic value stack. */
4104 YYSTYPE yyvsa[YYINITDEPTH];
4105 YYSTYPE *yyvs = yyvsa;
4106 - register YYSTYPE *yyvsp;
4107 + YYSTYPE *yyvsp;
4111 diff --git a/tdeioslave/iso/libisofs/bswap.h b/tdeioslave/iso/libisofs/bswap.h
4112 index 95520c6e..bda19c09 100644
4113 --- a/tdeioslave/iso/libisofs/bswap.h
4114 +++ b/tdeioslave/iso/libisofs/bswap.h
4115 @@ -39,7 +39,7 @@ inline static unsigned int ByteSwap32(unsigned int x)
4117 inline static unsigned long long int ByteSwap64(unsigned long long int x)
4119 - register union { __extension__ unsigned long long int __ll;
4120 + union { __extension__ unsigned long long int __ll;
4121 unsigned int __l[2]; } __x;
4122 asm("xchgl %0,%1":
4123 "=r"(__x.__l[0]),"=r"(__x.__l[1]):
4124 diff --git a/tdeioslave/iso/libisofs/isofs.c b/tdeioslave/iso/libisofs/isofs.c
4125 index f1db4427..58d23eba 100644
4126 --- a/tdeioslave/iso/libisofs/isofs.c
4127 +++ b/tdeioslave/iso/libisofs/isofs.c
4128 @@ -164,7 +164,7 @@ int ReadBootTable(readfunc *read,long long sector, boot_head *head, void *udata)
4129 int i,end=0;
4130 unsigned short sum;
4131 boot_entry *defcur=NULL,*deflast=NULL;
4132 - register struct validation_entry *ventry=NULL;
4133 + struct validation_entry *ventry=NULL;
4135 head->sections=NULL;
4136 head->defentry=NULL;
4137 @@ -538,7 +538,7 @@ int ProcessDir(readfunc *read,int extent,int size,dircallback *callback,void *ud
4139 int JolietLevel(struct iso_volume_descriptor *ivd) {
4140 int ret=0;
4141 - register struct iso_supplementary_descriptor *isd;
4142 + struct iso_supplementary_descriptor *isd;
4144 isd = (struct iso_supplementary_descriptor *) ivd;
4146 diff --git a/tdeprint/fooparser.cpp b/tdeprint/fooparser.cpp
4147 index e919616a..5686f155 100644
4148 --- a/tdeprint/fooparser.cpp
4149 +++ b/tdeprint/fooparser.cpp
4150 @@ -369,9 +369,9 @@ __yy_memcpy (to, from, count)
4151 char *from;
4152 unsigned int count;
4154 - register char *f = from;
4155 - register char *t = to;
4156 - register int i = count;
4157 + char *f = from;
4158 + char *t = to;
4159 + int i = count;
4161 while (i-- > 0)
4162 *t++ = *f++;
4163 @@ -384,9 +384,9 @@ __yy_memcpy (to, from, count)
4164 static void
4165 __yy_memcpy (char *to, char *from, unsigned int count)
4167 - register char *t = to;
4168 - register char *f = from;
4169 - register int i = count;
4170 + char *t = to;
4171 + char *f = from;
4172 + int i = count;
4174 while (i-- > 0)
4175 *t++ = *f++;
4176 @@ -429,10 +429,10 @@ int
4177 yyparse(YYPARSE_PARAM_ARG)
4178 YYPARSE_PARAM_DECL
4180 - register int yystate;
4181 - register int yyn;
4182 - register short *yyssp;
4183 - register YYSTYPE *yyvsp;
4184 + int yystate;
4185 + int yyn;
4186 + short *yyssp;
4187 + YYSTYPE *yyvsp;
4188 int yyerrstatus; /* number of tokens to shift before error messages enabled */
4189 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
4191 diff --git a/tdeprint/fooscanner.cpp b/tdeprint/fooscanner.cpp
4192 index f4d554a0..58edc063 100644
4193 --- a/tdeprint/fooscanner.cpp
4194 +++ b/tdeprint/fooscanner.cpp
4195 @@ -614,9 +614,9 @@ YY_MALLOC_DECL
4197 YY_DECL
4199 - register yy_state_type yy_current_state;
4200 - register char *yy_cp, *yy_bp;
4201 - register int yy_act;
4202 + yy_state_type yy_current_state;
4203 + char *yy_cp, *yy_bp;
4204 + int yy_act;
4206 #line 47 "./fooscanner.l"
4208 @@ -664,7 +664,7 @@ YY_DECL
4209 yy_match:
4212 - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4213 + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4214 if ( yy_accept[yy_current_state] )
4216 yy_last_accepting_state = yy_current_state;
4217 @@ -954,9 +954,9 @@ case YY_STATE_EOF(INITIAL):
4219 static int yy_get_next_buffer()
4221 - register char *dest = yy_current_buffer->yy_ch_buf;
4222 - register char *source = yytext_ptr;
4223 - register int number_to_move, i;
4224 + char *dest = yy_current_buffer->yy_ch_buf;
4225 + char *source = yytext_ptr;
4226 + int number_to_move, i;
4227 int ret_val;
4229 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
4230 @@ -1086,15 +1086,15 @@ static int yy_get_next_buffer()
4232 static yy_state_type yy_get_previous_state()
4234 - register yy_state_type yy_current_state;
4235 - register char *yy_cp;
4236 + yy_state_type yy_current_state;
4237 + char *yy_cp;
4239 yy_current_state = yy_start;
4240 yy_current_state += YY_AT_BOL();
4242 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
4244 - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4245 + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4246 if ( yy_accept[yy_current_state] )
4248 yy_last_accepting_state = yy_current_state;
4249 @@ -1126,10 +1126,10 @@ static yy_state_type yy_try_NUL_trans( yy_current_state )
4250 yy_state_type yy_current_state;
4251 #endif
4253 - register int yy_is_jam;
4254 - register char *yy_cp = yy_c_buf_p;
4255 + int yy_is_jam;
4256 + char *yy_cp = yy_c_buf_p;
4258 - register YY_CHAR yy_c = 1;
4259 + YY_CHAR yy_c = 1;
4260 if ( yy_accept[yy_current_state] )
4262 yy_last_accepting_state = yy_current_state;
4263 @@ -1150,14 +1150,14 @@ yy_state_type yy_current_state;
4265 #ifndef YY_NO_UNPUT
4266 #ifdef YY_USE_PROTOS
4267 -static void yyunput( int c, register char *yy_bp )
4268 +static void yyunput( int c, char *yy_bp )
4269 #else
4270 static void yyunput( c, yy_bp )
4271 int c;
4272 -register char *yy_bp;
4273 +char *yy_bp;
4274 #endif
4276 - register char *yy_cp = yy_c_buf_p;
4277 + char *yy_cp = yy_c_buf_p;
4279 /* undo effects of setting up yytext */
4280 *yy_cp = yy_hold_char;
4281 @@ -1165,10 +1165,10 @@ register char *yy_bp;
4282 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
4283 { /* need to shift things up to make room */
4284 /* +2 for EOB chars. */
4285 - register int number_to_move = yy_n_chars + 2;
4286 - register char *dest = &yy_current_buffer->yy_ch_buf[
4287 + int number_to_move = yy_n_chars + 2;
4288 + char *dest = &yy_current_buffer->yy_ch_buf[
4289 yy_current_buffer->yy_buf_size + 2];
4290 - register char *source =
4291 + char *source =
4292 &yy_current_buffer->yy_ch_buf[number_to_move];
4294 while ( source > yy_current_buffer->yy_ch_buf )
4295 @@ -1625,7 +1625,7 @@ yyconst char *s2;
4296 int n;
4297 #endif
4299 - register int i;
4300 + int i;
4301 for ( i = 0; i < n; ++i )
4302 s1[i] = s2[i];
4304 @@ -1639,7 +1639,7 @@ static int yy_flex_strlen( s )
4305 yyconst char *s;
4306 #endif
4308 - register int n;
4309 + int n;
4310 for ( n = 0; s[n]; ++n )
4313 diff --git a/tdeprint/management/kmjobviewer.cpp b/tdeprint/management/kmjobviewer.cpp
4314 index b0f95069..7e149ed4 100644
4315 --- a/tdeprint/management/kmjobviewer.cpp
4316 +++ b/tdeprint/management/kmjobviewer.cpp
4317 @@ -332,6 +332,11 @@ void KMJobViewer::initActions()
4318 // create status bar
4319 KStatusBar *statusbar = statusBar();
4320 m_stickybox = new TQCheckBox( i18n( "Keep window permanent" ), statusbar );
4322 + TDEConfig *conf = KMFactory::self()->printConfig();
4323 + conf->setGroup("Jobs");
4324 + m_stickybox->setChecked(conf->readBoolEntry("KeepWindow",true));
4325 + connect(m_stickybox, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotKeepWindowChange(bool)));
4326 statusbar->addWidget( m_stickybox, 1, false );
4327 statusbar->insertItem(" " + i18n("Max.: %1").arg(i18n("Unlimited"))+ " ", 0, 0, true);
4328 statusbar->setItemFixed(0);
4329 @@ -365,6 +370,13 @@ void KMJobViewer::buildPrinterMenu(TQPopupMenu *menu, bool use_all, bool use_spe
4333 +void KMJobViewer::slotKeepWindowChange( bool val )
4335 + TDEConfig *conf = KMFactory::self()->printConfig();
4336 + conf->setGroup("Jobs");
4337 + conf->writeEntry("KeepWindow",val);
4340 void KMJobViewer::slotShowMoveMenu()
4342 TQPopupMenu *menu = static_cast<TDEActionMenu*>(actionCollection()->action("job_move"))->popupMenu();
4343 diff --git a/tdeprint/management/kmjobviewer.h b/tdeprint/management/kmjobviewer.h
4344 index 7a4530f3..5bfda846 100644
4345 --- a/tdeprint/management/kmjobviewer.h
4346 +++ b/tdeprint/management/kmjobviewer.h
4347 @@ -86,6 +86,7 @@ protected slots:
4348 void slotUserChanged();
4349 void slotConfigure();
4350 void slotDropped( TQDropEvent*, TQListViewItem* );
4351 + void slotKeepWindowChange(bool);
4353 protected:
4354 void init();
4355 diff --git a/tdeprint/ppdparser.cpp b/tdeprint/ppdparser.cpp
4356 index 21f3fb77..30df9195 100644
4357 --- a/tdeprint/ppdparser.cpp
4358 +++ b/tdeprint/ppdparser.cpp
4359 @@ -225,7 +225,7 @@ union yyalloc
4360 # define YYCOPY(To, From, Count) \
4361 do \
4363 - register YYSIZE_T yyi; \
4364 + YYSIZE_T yyi; \
4365 for (yyi = 0; yyi < (Count); yyi++) \
4366 (To)[yyi] = (From)[yyi]; \
4368 @@ -704,7 +704,7 @@ yystrlen (yystr)
4369 const char *yystr;
4370 # endif
4372 - register const char *yys = yystr;
4373 + const char *yys = yystr;
4375 while (*yys++ != '\0')
4376 continue;
4377 @@ -729,8 +729,8 @@ yystpcpy (yydest, yysrc)
4378 const char *yysrc;
4379 # endif
4381 - register char *yyd = yydest;
4382 - register const char *yys = yysrc;
4383 + char *yyd = yydest;
4384 + const char *yys = yysrc;
4386 while ((*yyd++ = *yys++) != '\0')
4387 continue;
4388 @@ -860,8 +860,8 @@ yyparse ()
4389 #endif
4392 - register int yystate;
4393 - register int yyn;
4394 + int yystate;
4395 + int yyn;
4396 int yyresult;
4397 /* Number of tokens to shift before error messages enabled. */
4398 int yyerrstatus;
4399 @@ -879,12 +879,12 @@ yyparse ()
4400 /* The state stack. */
4401 short yyssa[YYINITDEPTH];
4402 short *yyss = yyssa;
4403 - register short *yyssp;
4404 + short *yyssp;
4406 /* The semantic value stack. */
4407 YYSTYPE yyvsa[YYINITDEPTH];
4408 YYSTYPE *yyvs = yyvsa;
4409 - register YYSTYPE *yyvsp;
4410 + YYSTYPE *yyvsp;
4414 diff --git a/tdeprint/ppdscanner.cpp b/tdeprint/ppdscanner.cpp
4415 index 3ae2235c..ebfea8d5 100644
4416 --- a/tdeprint/ppdscanner.cpp
4417 +++ b/tdeprint/ppdscanner.cpp
4418 @@ -719,9 +719,9 @@ YY_MALLOC_DECL
4420 YY_DECL
4422 - register yy_state_type yy_current_state;
4423 - register char *yy_cp, *yy_bp;
4424 - register int yy_act;
4425 + yy_state_type yy_current_state;
4426 + char *yy_cp, *yy_bp;
4427 + int yy_act;
4429 #line 59 "./ppdscanner.l"
4431 @@ -771,7 +771,7 @@ YY_DECL
4432 yy_match:
4435 - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4436 + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4437 if ( yy_accept[yy_current_state] )
4439 yy_last_accepting_state = yy_current_state;
4440 @@ -1155,9 +1155,9 @@ case YY_STATE_EOF(constr):
4442 static int yy_get_next_buffer()
4444 - register char *dest = yy_current_buffer->yy_ch_buf;
4445 - register char *source = yytext_ptr;
4446 - register int number_to_move, i;
4447 + char *dest = yy_current_buffer->yy_ch_buf;
4448 + char *source = yytext_ptr;
4449 + int number_to_move, i;
4450 int ret_val;
4452 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
4453 @@ -1287,14 +1287,14 @@ static int yy_get_next_buffer()
4455 static yy_state_type yy_get_previous_state()
4457 - register yy_state_type yy_current_state;
4458 - register char *yy_cp;
4459 + yy_state_type yy_current_state;
4460 + char *yy_cp;
4462 yy_current_state = yy_start;
4464 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
4466 - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4467 + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4468 if ( yy_accept[yy_current_state] )
4470 yy_last_accepting_state = yy_current_state;
4471 @@ -1326,10 +1326,10 @@ static yy_state_type yy_try_NUL_trans( yy_current_state )
4472 yy_state_type yy_current_state;
4473 #endif
4475 - register int yy_is_jam;
4476 - register char *yy_cp = yy_c_buf_p;
4477 + int yy_is_jam;
4478 + char *yy_cp = yy_c_buf_p;
4480 - register YY_CHAR yy_c = 1;
4481 + YY_CHAR yy_c = 1;
4482 if ( yy_accept[yy_current_state] )
4484 yy_last_accepting_state = yy_current_state;
4485 @@ -1350,14 +1350,14 @@ yy_state_type yy_current_state;
4487 #ifndef YY_NO_UNPUT
4488 #ifdef YY_USE_PROTOS
4489 -static void yyunput( int c, register char *yy_bp )
4490 +static void yyunput( int c, char *yy_bp )
4491 #else
4492 static void yyunput( c, yy_bp )
4493 int c;
4494 -register char *yy_bp;
4495 +char *yy_bp;
4496 #endif
4498 - register char *yy_cp = yy_c_buf_p;
4499 + char *yy_cp = yy_c_buf_p;
4501 /* undo effects of setting up yytext */
4502 *yy_cp = yy_hold_char;
4503 @@ -1365,10 +1365,10 @@ register char *yy_bp;
4504 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
4505 { /* need to shift things up to make room */
4506 /* +2 for EOB chars. */
4507 - register int number_to_move = yy_n_chars + 2;
4508 - register char *dest = &yy_current_buffer->yy_ch_buf[
4509 + int number_to_move = yy_n_chars + 2;
4510 + char *dest = &yy_current_buffer->yy_ch_buf[
4511 yy_current_buffer->yy_buf_size + 2];
4512 - register char *source =
4513 + char *source =
4514 &yy_current_buffer->yy_ch_buf[number_to_move];
4516 while ( source > yy_current_buffer->yy_ch_buf )
4517 @@ -1824,7 +1824,7 @@ yyconst char *s2;
4518 int n;
4519 #endif
4521 - register int i;
4522 + int i;
4523 for ( i = 0; i < n; ++i )
4524 s1[i] = s2[i];
4526 @@ -1838,7 +1838,7 @@ static int yy_flex_strlen( s )
4527 yyconst char *s;
4528 #endif
4530 - register int n;
4531 + int n;
4532 for ( n = 0; s[n]; ++n )
4535 diff --git a/tderandr/libtderandr.cc b/tderandr/libtderandr.cc
4536 index c61a6efd..eb7e96f9 100644
4537 --- a/tderandr/libtderandr.cc
4538 +++ b/tderandr/libtderandr.cc
4539 @@ -45,7 +45,7 @@
4541 // This routine is courtsey of an answer on "Stack Overflow"
4542 // It takes an LSB-first int and makes it an MSB-first int (or vice versa)
4543 -unsigned int reverse_bits(register unsigned int x)
4544 +unsigned int reverse_bits(unsigned int x)
4546 x = (((x & 0xaaaaaaaa) >> 1) | ((x & 0x55555555) << 1));
4547 x = (((x & 0xcccccccc) >> 2) | ((x & 0x33333333) << 2));
4548 diff --git a/tdespell2/plugins/ispell/correct.cpp b/tdespell2/plugins/ispell/correct.cpp
4549 index 65e98fa6..a417ee77 100644
4550 --- a/tdespell2/plugins/ispell/correct.cpp
4551 +++ b/tdespell2/plugins/ispell/correct.cpp
4552 @@ -244,8 +244,8 @@ int compoundflag = COMPOUND_CONTROLLED;
4554 ISpellChecker::casecmp (char *a, char *b, int canonical)
4556 - register ichar_t * ap;
4557 - register ichar_t * bp;
4558 + ichar_t * ap;
4559 + ichar_t * bp;
4560 ichar_t inta[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4];
4561 ichar_t intb[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4];
4563 @@ -290,7 +290,7 @@ ISpellChecker::casecmp (char *a, char *b, int canonical)
4564 void
4565 ISpellChecker::makepossibilities (ichar_t *word)
4567 - register int i;
4568 + int i;
4570 for (i = 0; i < MAXPOSSIBLE; i++)
4571 m_possibilities[i][0] = 0;
4572 @@ -332,8 +332,8 @@ ISpellChecker::makepossibilities (ichar_t *word)
4574 ISpellChecker::insert (ichar_t *word)
4576 - register int i;
4577 - register char * realword;
4578 + int i;
4579 + char * realword;
4581 realword = ichartosstr (word, 0);
4582 for (i = 0; i < m_pcount; i++)
4583 @@ -381,9 +381,9 @@ ISpellChecker::wrongcapital (ichar_t *word)
4584 void
4585 ISpellChecker::wrongletter (ichar_t *word)
4587 - register int i;
4588 - register int j;
4589 - register int n;
4590 + int i;
4591 + int j;
4592 + int n;
4593 ichar_t savechar;
4594 ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN];
4596 @@ -420,8 +420,8 @@ void
4597 ISpellChecker::extraletter (ichar_t *word)
4599 ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN];
4600 - register ichar_t * p;
4601 - register ichar_t * r;
4602 + ichar_t * p;
4603 + ichar_t * r;
4605 if (icharlen (word) < 2)
4606 return;
4607 @@ -445,9 +445,9 @@ void
4608 ISpellChecker::missingletter (ichar_t *word)
4610 ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN + 1];
4611 - register ichar_t * p;
4612 - register ichar_t * r;
4613 - register int i;
4614 + ichar_t * p;
4615 + ichar_t * r;
4616 + int i;
4618 icharcpy (newword + 1, word);
4619 for (p = word, r = newword; *p != 0; )
4620 @@ -489,7 +489,7 @@ void ISpellChecker::missingspace (ichar_t *word)
4621 ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN + 1];
4622 int nfirsthalf; /* No. words saved in 1st half */
4623 int nsecondhalf; /* No. words saved in 2nd half */
4624 - register ichar_t * p;
4625 + ichar_t * p;
4626 ichar_t secondhalf[MAX_CAPS][INPUTWORDLEN + MAXAFFIXLEN];
4627 int secondno; /* Index into second */
4629 @@ -547,8 +547,8 @@ int
4630 ISpellChecker::compoundgood (ichar_t *word, int pfxopts)
4632 ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN];
4633 - register ichar_t * p;
4634 - register ichar_t savech;
4635 + ichar_t * p;
4636 + ichar_t savech;
4637 long secondcap; /* Capitalization of 2nd half */
4640 @@ -606,8 +606,8 @@ void
4641 ISpellChecker::transposedletter (ichar_t *word)
4643 ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN];
4644 - register ichar_t * p;
4645 - register ichar_t temp;
4646 + ichar_t * p;
4647 + ichar_t temp;
4649 icharcpy (newword, word);
4650 for (p = newword; p[1] != 0; p++)
4651 @@ -752,12 +752,12 @@ ISpellChecker::save_root_cap (ichar_t *word, ichar_t *pattern,
4652 int * nsaved)
4654 #ifndef NO_CAPITALIZATION_SUPPORT
4655 - register struct dent * dent;
4656 + struct dent * dent;
4657 #endif /* NO_CAPITALIZATION_SUPPORT */
4658 int firstisupper;
4659 ichar_t newword[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4];
4660 #ifndef NO_CAPITALIZATION_SUPPORT
4661 - register ichar_t * p;
4662 + ichar_t * p;
4663 int len;
4664 int i;
4665 int limit;
4666 diff --git a/tdespell2/plugins/ispell/good.cpp b/tdespell2/plugins/ispell/good.cpp
4667 index 351106d9..42ba7951 100644
4668 --- a/tdespell2/plugins/ispell/good.cpp
4669 +++ b/tdespell2/plugins/ispell/good.cpp
4670 @@ -247,9 +247,9 @@ static int entryhasaffixes (struct dent *dent, struct success *hit)
4672 int ISpellChecker::cap_ok (ichar_t *word, struct success *hit, int len)
4674 - register ichar_t * dword;
4675 - register ichar_t * w;
4676 - register struct dent * dent;
4677 + ichar_t * dword;
4678 + ichar_t * w;
4679 + struct dent * dent;
4680 ichar_t dentword[INPUTWORDLEN + MAXAFFIXLEN];
4681 int preadd;
4682 int prestrip;
4683 @@ -388,10 +388,10 @@ int ISpellChecker::good (ichar_t *w, int ignoreflagbits, int dummy, int pfxopts,
4684 #endif
4686 ichar_t nword[INPUTWORDLEN + MAXAFFIXLEN];
4687 - register ichar_t * p;
4688 - register ichar_t * q;
4689 - register int n;
4690 - register struct dent * dp;
4691 + ichar_t * p;
4692 + ichar_t * q;
4693 + int n;
4694 + struct dent * dp;
4697 ** Make an uppercase copy of the word we are checking.
4698 diff --git a/tdespell2/plugins/ispell/hash.cpp b/tdespell2/plugins/ispell/hash.cpp
4699 index 03bd880b..07693c14 100644
4700 --- a/tdespell2/plugins/ispell/hash.cpp
4701 +++ b/tdespell2/plugins/ispell/hash.cpp
4702 @@ -180,8 +180,8 @@
4704 int ISpellChecker::hash (ichar_t *s, int hashtblsize)
4706 - register long h = 0;
4707 - register int i;
4708 + long h = 0;
4709 + int i;
4711 #ifdef ICHAR_IS_CHAR
4712 for (i = 4; i-- && *s != 0; )
4713 diff --git a/tdespell2/plugins/ispell/lookup.cpp b/tdespell2/plugins/ispell/lookup.cpp
4714 index b815ebd9..773cd88c 100644
4715 --- a/tdespell2/plugins/ispell/lookup.cpp
4716 +++ b/tdespell2/plugins/ispell/lookup.cpp
4717 @@ -266,13 +266,13 @@ int ISpellChecker::linit (char *hashname)
4719 FILE* fpHash;
4721 - register int i;
4722 - register struct dent * dp;
4723 + int i;
4724 + struct dent * dp;
4725 struct flagent * entry;
4726 struct flagptr * ind;
4727 int nextchar, x;
4728 int viazero;
4729 - register ichar_t * cp;
4730 + ichar_t * cp;
4732 if ((fpHash = fopen (hashname, "rb")) == NULL)
4734 @@ -571,7 +571,7 @@ int ISpellChecker::linit (char *hashname)
4736 void ISpellChecker::initckch (char *wchars)
4738 - register ichar_t c;
4739 + ichar_t c;
4740 char num[4];
4742 for (c = 0; c < static_cast<ichar_t>(SET_SIZE+ m_hashheader.nstrchars); ++c)
4743 @@ -656,7 +656,7 @@ void ISpellChecker::initckch (char *wchars)
4745 void ISpellChecker::clearindex (struct flagptr *indexp)
4747 - register int i;
4748 + int i;
4749 for (i = 0; i < SET_SIZE + m_hashheader.nstrchars; i++, indexp++)
4751 if (indexp->numents == 0 && indexp->pu.fp != NULL)
4752 @@ -669,10 +669,10 @@ void ISpellChecker::clearindex (struct flagptr *indexp)
4754 #ifdef INDEXDUMP
4755 static void dumpindex (indexp, depth)
4756 - register struct flagptr * indexp;
4757 - register int depth;
4758 + struct flagptr * indexp;
4759 + int depth;
4761 - register int i;
4762 + int i;
4763 int j;
4764 int k;
4765 char stripbuf[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4];
4766 @@ -733,8 +733,8 @@ static void dumpindex (indexp, depth)
4768 struct dent * ISpellChecker::ispell_lookup (ichar_t *s, int dotree)
4770 - register struct dent * dp;
4771 - register char * s1;
4772 + struct dent * dp;
4773 + char * s1;
4774 char schar[INPUTWORDLEN + MAXAFFIXLEN];
4776 dp = &m_hashtbl[hash (s, m_hashsize)];
4777 diff --git a/tdespell2/plugins/ispell/makedent.cpp b/tdespell2/plugins/ispell/makedent.cpp
4778 index 9c168dc1..ebe128dd 100644
4779 --- a/tdespell2/plugins/ispell/makedent.cpp
4780 +++ b/tdespell2/plugins/ispell/makedent.cpp
4781 @@ -259,7 +259,7 @@ other abi documents
4782 long
4783 ISpellChecker::whatcap (ichar_t *word)
4785 - register ichar_t * p;
4786 + ichar_t * p;
4788 for (p = word; *p; p++)
4790 @@ -311,7 +311,7 @@ ISpellChecker::whatcap (ichar_t *word)
4792 int ISpellChecker::addvheader ( struct dent *dp)
4794 - register struct dent * tdent; /* Copy of entry */
4795 + struct dent * tdent; /* Copy of entry */
4798 ** Add a second entry with the correct capitalization, and then make
4799 @@ -502,11 +502,11 @@ ISpellChecker::stringcharlen (char *bufp, int canonical)
4800 static char * sp[MAXSTRINGCHARS];
4801 static int inited = 0;
4802 #endif /* SLOWMULTIPLY */
4803 - register char * bufcur;
4804 - register char * stringcur;
4805 - register int stringno;
4806 - register int lowstringno;
4807 - register int highstringno;
4808 + char * bufcur;
4809 + char * stringcur;
4810 + int stringno;
4811 + int lowstringno;
4812 + int highstringno;
4813 int dupwanted;
4815 #ifdef SLOWMULTIPLY
4816 @@ -641,7 +641,7 @@ int l1_isstringch(char *ptr, int len, int canon) {
4818 ISpellChecker::strtoichar (ichar_t *out, char *in, int outlen, int canonical)
4820 - register int len = 1; /* Length of next character */
4821 + int len = 1; /* Length of next character */
4823 outlen /= sizeof (ichar_t); /* Convert to an ichar_t count */
4824 for ( ; --outlen > 0 && *in != '\0'; in += len)
4825 @@ -674,9 +674,9 @@ ISpellChecker::strtoichar (ichar_t *out, char *in, int outlen, int canonical)
4827 ISpellChecker::ichartostr ( char *out, ichar_t *in, int outlen, int canonical)
4829 - register int ch; /* Next character to store */
4830 - register int i; /* Index into duplicates list */
4831 - register char * scharp; /* Pointer into a string char */
4832 + int ch; /* Next character to store */
4833 + int i; /* Index into duplicates list */
4834 + char * scharp; /* Pointer into a string char */
4836 while (--outlen > 0 && (ch = *in++) != 0)
4838 @@ -796,7 +796,7 @@ icharcpy (ichar_t *out, ichar_t *in)
4840 icharlen (ichar_t * in)
4842 - register int len; /* Length so far */
4843 + int len; /* Length so far */
4845 for (len = 0; *in++ != 0; len++)
4847 @@ -862,7 +862,7 @@ ISpellChecker::findfiletype (const char *name, int searchnames, int *deformatter
4849 char * cp; /* Pointer into suffix list */
4850 int cplen; /* Length of current suffix */
4851 - register int i; /* Index into type table */
4852 + int i; /* Index into type table */
4853 int len; /* Length of the name */
4856 diff --git a/tdespell2/plugins/ispell/tgood.cpp b/tdespell2/plugins/ispell/tgood.cpp
4857 index 06fbc99e..859eee62 100644
4858 --- a/tdespell2/plugins/ispell/tgood.cpp
4859 +++ b/tdespell2/plugins/ispell/tgood.cpp
4860 @@ -243,7 +243,7 @@
4861 void ISpellChecker::chk_aff (ichar_t *word, ichar_t *ucword,
4862 int len, int ignoreflagbits, int allhits, int pfxopts, int sfxopts)
4864 - register ichar_t * cp; /* Pointer to char to index on */
4865 + ichar_t * cp; /* Pointer to char to index on */
4866 struct flagptr * ind; /* Flag index table to test */
4868 pfx_list_chk (word, ucword, len, pfxopts, sfxopts, &m_pflagindex[0],
4869 @@ -293,13 +293,13 @@ void ISpellChecker::pfx_list_chk (ichar_t *word, ichar_t *ucword, int len, int o
4870 int sfxopts, struct flagptr * ind, int ignoreflagbits, int allhits)
4872 int cond; /* Condition number */
4873 - register ichar_t * cp; /* Pointer into end of ucword */
4874 + ichar_t * cp; /* Pointer into end of ucword */
4875 struct dent * dent; /* Dictionary entry we found */
4876 int entcount; /* Number of entries to process */
4877 - register struct flagent *
4878 + struct flagent *
4879 flent; /* Current table entry */
4880 int preadd; /* Length added to tword2 as prefix */
4881 - register int tlen; /* Length of tword */
4882 + int tlen; /* Length of tword */
4883 ichar_t tword[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4]; /* Tmp cpy */
4884 ichar_t tword2[sizeof tword]; /* 2nd copy for ins_root_cap */
4886 @@ -414,7 +414,7 @@ ISpellChecker::chk_suf (ichar_t *word, ichar_t *ucword,
4887 int len, int optflags, struct flagent *pfxent,
4888 int ignoreflagbits, int allhits)
4890 - register ichar_t * cp; /* Pointer to char to index on */
4891 + ichar_t * cp; /* Pointer to char to index on */
4892 struct flagptr * ind; /* Flag index table to test */
4894 suf_list_chk (word, ucword, len, &m_sflagindex[0], optflags, pfxent,
4895 @@ -458,14 +458,14 @@ void ISpellChecker::suf_list_chk (ichar_t *word, ichar_t *ucword,
4896 int len, struct flagptr *ind, int optflags,
4897 struct flagent *pfxent, int ignoreflagbits, int allhits)
4899 - register ichar_t * cp; /* Pointer into end of ucword */
4900 + ichar_t * cp; /* Pointer into end of ucword */
4901 int cond; /* Condition number */
4902 struct dent * dent; /* Dictionary entry we found */
4903 int entcount; /* Number of entries to process */
4904 - register struct flagent *
4905 + struct flagent *
4906 flent; /* Current table entry */
4907 int preadd; /* Length added to tword2 as prefix */
4908 - register int tlen; /* Length of tword */
4909 + int tlen; /* Length of tword */
4910 ichar_t tword[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4]; /* Tmp cpy */
4911 ichar_t tword2[sizeof tword]; /* 2nd copy for ins_root_cap */
4913 @@ -599,7 +599,7 @@ int ISpellChecker::expand_pre (char *croot, ichar_t *rootword, MASKTYPE mask[],
4915 int entcount; /* No. of entries to process */
4916 int explength; /* Length of expansions */
4917 - register struct flagent *
4918 + struct flagent *
4919 flent; /* Current table entry */
4921 for (flent = m_pflaglist, entcount = m_numpflags, explength = 0;
4922 @@ -630,7 +630,7 @@ int ISpellChecker::pr_pre_expansion ( char *croot, ichar_t *rootword,
4923 char *extra)
4925 int cond; /* Current condition number */
4926 - register ichar_t * nextc; /* Next case choice */
4927 + ichar_t * nextc; /* Next case choice */
4928 int tlen; /* Length of tword */
4929 ichar_t tword[INPUTWORDLEN + MAXAFFIXLEN]; /* Temp */
4931 @@ -728,7 +728,7 @@ int ISpellChecker::expand_suf (char *croot, ichar_t *rootword, MASKTYPE mask[],
4933 int entcount; /* No. of entries to process */
4934 int explength; /* Length of expansions */
4935 - register struct flagent *
4936 + struct flagent *
4937 flent; /* Current table entry */
4939 for (flent = m_sflaglist, entcount = m_numsflags, explength = 0;
4940 @@ -761,7 +761,7 @@ int ISpellChecker::pr_suf_expansion (char *croot, ichar_t *rootword,
4941 struct flagent *flent, int option, char *extra)
4943 int cond; /* Current condition number */
4944 - register ichar_t * nextc; /* Next case choice */
4945 + ichar_t * nextc; /* Next case choice */
4946 int tlen; /* Length of tword */
4947 ichar_t tword[INPUTWORDLEN + MAXAFFIXLEN]; /* Temp */
4949 diff --git a/tdestyles/plastik/plastik.cpp b/tdestyles/plastik/plastik.cpp
4950 index b2801efc..0db70b8a 100644
4951 --- a/tdestyles/plastik/plastik.cpp
4952 +++ b/tdestyles/plastik/plastik.cpp
4953 @@ -832,15 +832,15 @@ void PlastikStyle::renderGradient(TQPainter *painter,
4954 int rDiff, gDiff, bDiff;
4955 int rc, gc, bc;
4957 - register int x, y;
4958 + int x, y;
4960 rDiff = ( c2.red()) - (rc = c1.red());
4961 gDiff = ( c2.green()) - (gc = c1.green());
4962 bDiff = ( c2.blue()) - (bc = c1.blue());
4964 - register int rl = rc << 16;
4965 - register int gl = gc << 16;
4966 - register int bl = bc << 16;
4967 + int rl = rc << 16;
4968 + int gl = gc << 16;
4969 + int bl = bc << 16;
4971 int rdelta = ((1<<16) / (horizontal ? r_h : r_w)) * rDiff;
4972 int gdelta = ((1<<16) / (horizontal ? r_h : r_w)) * gDiff;
4973 diff --git a/tdeui/kdepackages.h b/tdeui/kdepackages.h
4974 index f7ef1466..f4f21594 100644
4975 --- a/tdeui/kdepackages.h
4976 +++ b/tdeui/kdepackages.h
4977 @@ -559,7 +559,6 @@ const char * const packages[] = {
4978 "keep",
4979 "kenolaba",
4980 "kepas",
4981 -"kerry",
4982 "kexi",
4983 "kexi/Forms Designer",
4984 "kexi/General",
4985 diff --git a/tdeui/tests/kledtest.cpp b/tdeui/tests/kledtest.cpp
4986 index 4ba15877..8a16c122 100644
4987 --- a/tdeui/tests/kledtest.cpp
4988 +++ b/tdeui/tests/kledtest.cpp
4989 @@ -98,7 +98,7 @@ KLedTest::nextColor() {
4991 void
4992 KLedTest::nextLook() {
4993 - register int tmp;
4994 + int tmp;
4995 if (kled_round) {
4996 tmp = (static_cast<int>(ledlook) +1 ) % 3 ;