dtrag-cvs Mailing List for Dtrag
Status: Beta
Brought to you by:
cstim
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(19) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(35) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Christian S. <cs...@us...> - 2005-05-28 09:49:42
|
Update of /cvsroot/dtrag/qanagram In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23130 Modified Files: .cvsignore ChangeLog Makefile.am configure.ac Added Files: qanagram.iss.in qanagram.spec.in words.awl.bz2 Log Message: 2005-05-28 Christian Stimming <sti...@tu...> * src/qanagramwidget.cpp (loadWordList): Add support for windows registry directory lookup in preparation of the free windows qt4. * src/anlistviewitem.cpp (compare): Fix sorting by switching from overriding the key() method to the compare() method. * src/Makefile.am: Add qt4 porting preparations. --- NEW FILE: qanagram.iss.in --- ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Input configuration for the Inno Setup Compiler ; Copyright (c) 2005 Christian Stimming <sti...@tu...> ; ; Inno Setup Compiler: See http://www.jrsoftware.org/isdl.php ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [Setup] ; Using the name here directly because we want it capitalized AppName=Qanagram AppVerName=Qanagram @VERSION@ AppPublisher=Qanagram Development Team AppPublisherURL=http://sourceforge.net/projects/qanagram AppSupportURL=http://sourceforge.net/support/getsupport.php?group_id=115695 AppUpdatesURL=http://sourceforge.net/project/showfiles.php?group_id=115695 DefaultDirName={pf}\@PACKAGE@ LicenseFile=COPYING Compression=lzma SolidCompression=yes OutputDir=. OutputBaseFilename=@PACKAGE@-@VERSION@-setup UninstallFilesDir={app}\uninstall\@PACKAGE@ InfoAfterFile=README [Types] Name: "full"; Description: "{cm:FullInstall}" [Components] Name: "main"; Description: "{cm:MainFiles}"; Types: full binary custom; Flags: fixed ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Here we configure the included files and the place of their ; installation ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [Files] ; The binary Source: "win32-tmp\bin\qanagram"; DestDir: "{app}" ; The word list Source: "win32-tmp\share\@PACKAGE@\"; DestDir: "{app}\pkgdata"; Flags: recursesubdirs ; And all the documentation Source: "README"; DestDir: "{app}\doc"; Components: doc Source: "COPYING"; DestDir: "{app}\doc"; Flags: ignoreversion; Components: doc Source: "AUTHORS"; DestDir: "{app}\doc"; Components: doc Source: "ChangeLog"; DestDir: "{app}\doc"; Components: doc ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Define the registry keys Setup should create (HKCU = HKEY_CURRENT_USER) ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [Registry] Root: HKCU; Subkey: "Software\Qanagram\Paths"; ValueType: string; ValueName: "prefix"; ValueData: "{app}" Root: HKCU; Subkey: "Software\Qanagram\Paths"; ValueType: string; ValueName: "pkgdatadir"; ValueData: "{app}\pkgdata" [Languages] Name: "en"; MessagesFile: "compiler:Default.isl" Name: "de"; MessagesFile: "compiler:Languages\German.isl" --- NEW FILE: qanagram.spec.in --- %define name @PACKAGE@ %define is_mandrake %(test -e /etc/mandrake-release && echo 1 || echo 0) %define is_suse %(test -e /etc/SuSE-release && echo 1 || echo 0) %define is_fedora %(test -e /etc/fedora-release && echo 1 || echo 0) %define dist redhat %define disttag rh %if %is_mandrake %define dist mandrake %define disttag mdk %endif %if %is_suse %define dist suse %define disttag suse %endif %if %is_fedora %define dist fedora %define disttag rhfc %endif # %define version @VERSION@ %define distver %(release="`rpm -q --queryformat='%{VERSION}' %{dist}-release 2>/dev/null`" ; if test $? != 0 ; then release="" ; fi ; echo "$release") # Note: There is not yet a special symbol for the rpm release # version. We set it to one here. %define release 1.%{disttag}%{distver} Name: %{name} Summary: An anagram finding program Version: %{version} Release: %{release} Source: http://download.sourceforge.net/qanagram/%{name}-%{version}.tar.gz Group: Applications License: GPL Packager: Christian Stimming <sti...@tu...> URL: http://sourceforge.net/projects/qanagram BuildRoot: %{_tmppath}/%{name}-%{version}-root Prereq: /sbin/ldconfig Prefix: %{_prefix} %description A program which searches all possible anagrams for each word you like. %prep %setup -q %build %{configure} make %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig %postun /sbin/ldconfig %files %defattr(-,root,root) %doc AUTHORS README COPYING ChangeLog %{_bindir}/@PACKAGE@ %{_datadir}/@PACKAGE@/* --- NEW FILE: words.awl.bz2 --- BZh91AY&SY.WF9ÝiaÍUUU?ÿÿð 4Ð@@ ïqÅììU¢ö{Ùç½å<-3iµ}º»(ZÇ·Üi"öm\}]{³F¨m¾ÝßNR©G@:j "nº¸çêûçwžù®3µãíî¶Ñ×ß|{«´Ýºóé½t>ö «âÖf° ô4P¥÷¼îÀ½n ÞÞ¹Þãï¯-.Cï` T ]÷Þ÷µã¹ñd±`Ç8tsà)÷ÃÕ6ÛÝõ÷jù´th{µ÷Ýß}î^·××ÒWÓ[ï§z)ïo¾ø ëZ §ª!ëöj+¨fiâ×Ë¢Ð;üQ«Ã,æ0M´×¤¬1))ÜæøSq]àºq!,à±Éûîµ#^ti´ôA n ~òf¾/×Ë=PAJ_¨d©Ò?ª»md³wýSlÌH´õç%üßÈÞ^Ä67\³Ñ{ OÙâ[öÇ/ÕFÍß*çÖÿ¯õõuðîñï¸$3×âlHîOú$¤iú£¿4ú¼iYøtÞ&¢ñÙþñÞ4Z!~Ò&XRjÔ2¢BVUy÷;â·%¨+G[Üv«Éh}²ó¥í³FÃ&¿î|º1nÓ½:ÿ#,ïw]:{ä7ÂÆ7«zì( _)=¤]çôu:ÍòoQh"{_ÉÛ\çlÏw\5gÛù¥öÛßl_×]¥Åå"B~õ½^ZjÚ²<ßÙwÚÔÔp[ûIöþÔ@þàÛF/ÈÔþ$ò¿2Æ??¨/_÷cxÌj+ðìOpfCmò<w)H´á|©ÑÕwÕ;غúÕWI² û{h©È *÷+OA Ñ5ihGYÅ«fâ±!ŦÂI`zYnÒíf\²ötðLXÓsR³éUcÌÓ:[ÿ\¾=Åļhñï¼h·»÷ÝÜCcPoGæVGÛ¾Ëè·efÔöòf£Æ½VêÿZÃÅãZ·À¦þÄ+Å<.·çC·ZïGw<[Ü]¸àÓöê¬s8ÆUÎ~6â×ëïPÃV¿{06?-¼þêÐÒú¢ 2ÚÔD#i äGM ZǮݨ&ÃÓºg "ºíÖÇÅý ãáTl{¼dÑþd@³9Îôå\¸êÌ-cÈþ¸fá3LÁùãmÐnñ¸Û&-HâAc×tÃíÖT¾d~ªÃ¦ê'¢`CüLÑß/»W»P\iÔ+e#w|ýsˤ é²ý$ÅÿcWXw¦ttÈ¥´é>³«Ï}º¦·R0l>ñn×~:o9Ûw¬8íÆ·§Õv®¸v¢Ú(Îna¯òÏó÷ù¾¼¦Pí×eò·#«aãåþô/Í ×â¸Ç1X`ø|Ú¸ªµj¼Gvât1eÖÏ*g`+©sÏ ea!¬óÑò²¢:mv}5¤Ãøå>±${ñØ'N¢®0l^«:¢Ó='Ce°%¿%ªå6Ú¸¤%AÑ»O&¡Ü¸R] ÕREQÛÓ*ÛTç¬3K¡Üì>ni¡¶¼,-ÅqNOR\r¨hÌJé§Ý8RÃÖk jbóXêü¡}õwÉéÏëcú·]µá=oAwùsWT\åë.o 7ºiÓa´Ù9ÕX*·¿IaÁ¡ IÑ@.!U¿k@»çp®DÅ1qwKxVYHå5{½à -uP/!pãÔ Q¢mOºÿLdhÆ sÍ~û®î+ 6è¾iyçYk¨à©éKä·Z!låC¶`î0Ür'з ÂÓ3ÓQ[ vÍ;|©ëÛ`ôd7»2Dâ"áü©`t?´£(öõáÎmëF³´FêZxØQ°ÁÓkúÔx÷ypàÕÉ®¾SÊããI¾ÈE×zyþ!Á_ÆStÀ¿ßÔ]ÀíöÁ¤É Ýn¡LtX³/]:A|q!ܳ-T¢ÒûÏ{® jY×m¶e*ë?nl¶í»}»`N\ÛÈÍEÎÒ]ܨ5 R;XÕ!G:zS,KîÖÖzæ_,ò±ÊûËÙÓÈíôÊúU[ø#¶r*Ñ3] çÉÙg R³Na;a4táW ´| pÒ8^ôqzõ§°mí¶=8T»§HnnûÇB"LD:ðêù÷÷wÜ~°¯OsLo¯q¡þ¸".¼úÛ»ßT½*úY6áe®P³:Vl I÷(dYõiVPyÈsæþs8ç¯_mÙ£½:²ÔâÓ¶¸ò D,sÎêlÐ=Smêߧ?L`#jààa:µFà©¥®LtÆFªAZG|kâÕMÞîÔ~¡E.ã[¤#}59xs}m¦læj^ÜÛÞv¾k±?(fxÂ9«¤ñ¨Qõ½¥ýU´+RͶÔ2þ3]÷!(Zq¶jw:WÛ ãòÌÅg:ÐHø ÞEcEf¨R#ÓD7YªÜs[¸D.Î4Ëy{¶eÈ°¶VåÔá1djñIhÂ; 7Å"7ê6A(z<öð©DDy´5JÂe¯S}J¦cÙö×»¸Ü4lºÓ~?ZÔÂÖ¸ãÝÔ&¶d»A ÷_c'ùJöÚ ³¯ <Û_$KSgã·~Æ:ÿY÷Þ®ÇÝ÷ñðâã©×ç*ÁJRGÓ¨ÃJu9 [...1117 lines suppressed...] ¾6½|].îùÙ·2YI"-¿ý¢ßµfèêÏDÀi®h+ö+ é¦?´êXçZ8ÊoýµöÓÎ]µë±¾",èüT?(¡LµñE± å§K»CþÜÔª5È#R`¢webEÇÄWHàÉÿ6 yØ)Pâyf*àÅ T¾ð)}ZkG×ï{u>g·Q_ugy2WÚ'ÆrÉõÔÿãü¿¯QTO_é0!ÎÊI-^{CÂ)T@:#0 «÷®å1Õ4/÷wwOäñà9ù¼Os`D¤×Wö"Ýq´B(É@H TK)¾\Æ`Àï¡D!Ô)0Êj~7f8ÊͲû2l§EQuÁ0 ü¬ÂéVP²^ Öð$)ÒÊ°t.kþû´ÑÁp¨QÒáQ+ñ¦ÍqleWE,rº©²j`ìÃÇçþG=r°´jWcÚ wó<¦&È¥²*ìiFI2ú> ùC©Cí7*ÈSÏÄ1ÓÏ»m¥ÜKѤ÷Çk=oß ®ÜïФQ1Íñ3[! Gá4µJ~ú¾¦ `,A@dyK9ùnÓT#BÌ(B¡O6ì!·ÁmYÚÔò¬å.ɵ0Õ:òãò¢ëEGÙt2®Ñ<ò6[Ó×}Zê¾ÁHƹÒθ]4§ÛÿdsÈÒÛñ!9}YýÊx©Ð5õ{1覷¯£À¨LD{0>>êCë ;ßf>+´éNçNT@3 *`$õgº[ã¡ ú"ØêÓz%¥JVÅ^ã¯rßM0bWxL11(_ÛqC0\$'ó× &È6D®*å¢@G9ãzjC§3Nq2ôýéþ3>Ó?·mZqÎøÓTñÃÄ+MXuV1%:A{κ £0+^÷{a=ð:ß}ö¶C"£ÓÇ:3ìlȱøJÕ»¥Qe J((Ëþ&Òdle±é#úݤ Ù!R8~Z¨¢(¹ff @a" H*ÿök÷½7jóËúÍ}¤zOVû&#OZtò®ScT)_:\¶ÝÄFã|öµ±` iT£yM" oú{ÿpíYZñÖûÍ·Ò´½Çï|íþÃÚQÏòQ¶º^É/Ú*:õ²eü"le<ÜSº÷µzqø2%¶vf'lÆ2GóVqôÕ[4µë4Øj6kd$ßav?×òÚh¼ËÏöÊ*ÃÓùòáÒÐÂÒuÔíY;È0CK·¹8eRtÀù¯®4ë׸³ÁôÇ·Q$jÁ!R JúE04FWX#|ñ]·Ay`P£ùaÆEúÝTX'2i¶(qàÛ+dà!·×Ïyù{c Yý¾¼ýÊ÷ÜõàÜâÚèø^â<Ö¼¨¥Æ²ÿÁ÷òX¾ÖYª>OUSY)1FåjߥêÓÜðz¬xlâ÷¾ÇËkÍü´t·jƵ/%ÒئÝnV¿7Kp},U+«å ã¼±ê6ªú^¸ô+;&A0DÙaS 0ຠ¥?}¿?NôfCÀÛ ¯wîµCÆ`T$R¡çaCM|èÿí©k øOËjÛRïõÊiÈdm¥VL®.(ë©D$Í $b BX%ÈhMÛ^».²ÅÅ0 +ú²$À²ÒÈXÁ$DDFÂ$ecMlGÚu+NëÐÍ>ëeÇ_AÞõ®0- MZp·¯ùh7R^ÑUXµ¬ÌÔ_EJ}»ÅfIݤõÜL/®Øj9évTJhu稤õ5¬sÏwÀÅJW$ÛNV^6&ãf¢S|ÑBíϳûj¬|-êÝôwðq,·×èW±Ç]Z QXÜwdòF|æ0hp<é.u#:êVT)¿biÍ×îF¤Ã:"i=ÝÄKhÎù¥[gP Õdêd(òߥÕóµ;" }þ}¹û>v7(8(¬ÁPBfI}»z¶VC_Z´ã_ç]Ðê·ß½åãºäHí¸úkù¡£-Ï~Mhf»)&´H¶-ÛKµÅËj3>~~¼þ¾á¿=;5¾Dí¯½IÔ$ôÚ2e¶÷ö cM8BL.»/w¯½ùþ¿í÷Û`ÿW?ÔöÿTGÿH@ÓÒ%)©SACM TE D¨D4´ PR4)EA" ¥ )JEE R¡T©@©4%B@Ð +TP¨RB°P ´´%" Ð*R *¤¨J¨¨40Ê 4 "Ð ¢((# ªªÿ÷ ¨ ÿ¹"(H`¹ÉD Index: .cvsignore =================================================================== RCS file: /cvsroot/dtrag/qanagram/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsJX0CDx and /tmp/cvsQcblxM differ Index: ChangeLog =================================================================== RCS file: /cvsroot/dtrag/qanagram/ChangeLog,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsw3OpTA and /tmp/cvswdxJQP differ Index: Makefile.am =================================================================== RCS file: /cvsroot/dtrag/qanagram/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d --brief -r1.2 -r1.3 Files /tmp/cvsQUuLhJ and /tmp/cvsWXD4iY differ Index: configure.ac =================================================================== RCS file: /cvsroot/dtrag/qanagram/configure.ac,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvs7irPQM and /tmp/cvsI0B0V1 differ |
From: Christian S. <cs...@us...> - 2005-05-28 09:49:42
|
Update of /cvsroot/dtrag/qanagram/m4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23130/m4 Modified Files: Makefile.am Added Files: acx_windows_paths.m4 Log Message: 2005-05-28 Christian Stimming <sti...@tu...> * src/qanagramwidget.cpp (loadWordList): Add support for windows registry directory lookup in preparation of the free windows qt4. * src/anlistviewitem.cpp (compare): Fix sorting by switching from overriding the key() method to the compare() method. * src/Makefile.am: Add qt4 porting preparations. --- NEW FILE: acx_windows_paths.m4 --- # $Id: acx_windows_paths.m4,v 1.1 2005/05/28 09:49:30 cstim Exp $ # (c) 2004 Martin Preuss<ma...@li...> # These functions retrieve some important paths AC_DEFUN([AQ_WINDOZE_GETPATH], [ dnl IN: dnl - $1: type of path to get: dnl - windows: windows path dnl - system: windows/system directory dnl - home: users home directory dnl - $2: default value dnl OUT: dnl - aq_windoze_path: path retrieved dnl rm -f conf.winpath save_LIBS="${LIBS}" LIBS="${LIBS} -lshfolder" AC_TRY_RUN([ #include <windows.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <shlobj.h> int main (){ char buffer[260]; const char *choice = "$1"; FILE *f; buffer[0]=0; if (strlen("$2")) { if (strlen("$2")>=sizeof(buffer)) { printf("path is too long ($2)\n"); exit(1); } strcpy(buffer, "$2"); } else { if (strcasecmp(choice, "windows")==0) { GetWindowsDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "system")==0) { GetSystemDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "home")==0) { GetWindowsDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "program_files") == 0) { SHGetFolderPath(NULL, CSIDL_PROGRAM_FILES, NULL, 0, buffer); } else if (strcasecmp(choice, "common_appdata") == 0) { SHGetFolderPath(NULL, CSIDL_COMMON_APPDATA, NULL, 0, buffer); } else { printf("Unknown type \"$1\"\n"); exit(1); } } f=fopen("conf.winpath", "w+"); if (!f) { printf("Could not create file conf.winpath\n"); exit(1); } fprintf(f, "%s", buffer); if (fclose(f)) { printf("Could not close file.\n"); exit(1); } exit(0); } ], [aq_windoze_path="`cat conf.winpath`"], [AC_MSG_ERROR(Could not determine path for $1)], [aq_windoze_path="$2"; AC_MSG_RESULT([Crosscompiling, assuming $2])] ) LIBS="${save_LIBS}" rm -f conf.winpath ]) AC_DEFUN([AQ_WINDOZE_GETPATH_MINGW], [ dnl IN: dnl - $1: type of path to get: dnl - windows: windows path dnl - system: windows/system directory dnl - home: users home directory dnl - $2: default value dnl OUT: dnl - aq_windoze_path: path retrieved dnl rm -f conf.winpath LIBS="${LIBS} -lshfolder" AC_TRY_RUN([ #include <windows.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <shlobj.h> int main (){ char buffer[260]; char buffer2[260+2]; const char *choice = "$1"; char *p; char *tp; FILE *f; int lastWasSlash; buffer[0]=0; if (strlen("$2")) { if (strlen("$2")>=sizeof(buffer)) { printf("path is too long ($2)\n"); exit(1); } strcpy(buffer, "$2"); } else { if (strcasecmp(choice, "windows")==0) { GetWindowsDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "system")==0) { GetSystemDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "home")==0) { GetWindowsDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "program_files") == 0) { SHGetFolderPath(NULL, CSIDL_PROGRAM_FILES, NULL, 0, buffer); } else if (strcasecmp(choice, "common_appdata") == 0) { SHGetFolderPath(NULL, CSIDL_COMMON_APPDATA, NULL, 0, buffer); } else { printf("Unknown type \"$1\"\n"); exit(1); } } /* create mingw path */ tp=buffer2; p=buffer; if (strlen(buffer)>1) { if (buffer[1]==':') { *tp='/'; tp++; *tp=buffer[0]; tp++; p+=2; } } lastWasSlash=0; while(*p) { if (*p=='\\\\' || *p=='/') { if (!lastWasSlash) { *tp='/'; tp++; lastWasSlash=1; } } else { lastWasSlash=0; *tp=*p; tp++; } p++; } /* while */ *tp=0; f=fopen("conf.winpath", "w+"); if (!f) { printf("Could not create file conf.winpath\n"); exit(1); } fprintf(f, "%s", buffer2); if (fclose(f)) { printf("Could not close file.\n"); exit(1); } exit(0); } ], [aq_windoze_path=`cat conf.winpath`], [AC_MSG_ERROR(Could not determine path for $1)], [aq_windoze_path="$2"; AC_MSG_RESULT([Crosscompiling, assuming $2])] ) LIBS="${save_LIBS}" rm -f conf.winpath ]) AC_DEFUN([ACX_WINDOWS_PATHS],[ dnl IN: dnl - AC_CANONICAL_SYSTEM muste be called before dnl OUT: dnl Variables (subst): dnl WIN_PATH_HOME : path and name of the Windoze home folder dnl WIN_PATH_HOME_MINGW : path and name of the Windoze home folder dnl WIN_PATH_WINDOWS : path and name of the Windoze system folder dnl WIN_PATH_WINDOWS_MINGW : path and name of the Windoze system folder dnl WIN_PATH_SYSTEM : path and name of the Windoze folder dnl WIN_PATH_SYSTEM_MINGW : path and name of the Windoze folder dnl WIN_PATH_PROGRAM_FILES dnl WIN_PATH_PROGRAM_FILES_MINGW dnl WIN_PATH_COMMON_APPDATA dnl WIN_PATH_COMMON_APPDATA_MINGW dnl Defines: dnl WIN_PATH_HOME : path and name of the Windoze home folder dnl WIN_PATH_WINDOWS : path and name of the Windoze system folder dnl WIN_PATH_SYSTEM : path and name of the Windoze folder dnl WIN_PATH_PROGRAM_FILES : path of the program files folder dnl WIN_PATH_COMMON_APPDATA : The directory containing application data for all users # presets AC_ARG_WITH(home-path, [ --with-home-path=DIR specify the home directory for a user], [aq_windoze_path_home="$withval"]) AC_ARG_WITH(system-path, [ --with-system-path=DIR specify the system directory], [aq_windoze_path_system="$withval"]) AC_ARG_WITH(windows-path, [ --with-windows-path=DIR specify the windows directory], [aq_windoze_path_windows="$withval"]) # home directory AC_MSG_CHECKING([for windoze home path (program)]) AC_CACHE_VAL(gwenhywfar_cv_path_home, [ AQ_WINDOZE_GETPATH(home, [$aq_windoze_path_home]) gwenhywfar_cv_path_home="$aq_windoze_path" ]) WIN_PATH_HOME="$gwenhywfar_cv_path_home" AC_MSG_RESULT([$WIN_PATH_HOME]) AC_MSG_CHECKING([for windoze home path (mingw)]) AC_CACHE_VAL(gwenhywfar_cv_path_home_mingw, [ AQ_WINDOZE_GETPATH_MINGW(home, [$aq_windoze_path_home]) gwenhywfar_cv_path_home_mingw="$aq_windoze_path" ]) WIN_PATH_HOME_MINGW="$gwenhywfar_cv_path_home_mingw" AC_MSG_RESULT([$WIN_PATH_HOME_MINGW]) # windows directory AC_MSG_CHECKING([for windoze windows path (program)]) AC_CACHE_VAL(gwenhywfar_cv_path_windows, [ AQ_WINDOZE_GETPATH(windows, [$aq_windoze_path_windows]) gwenhywfar_cv_path_windows="$aq_windoze_path" ]) WIN_PATH_WINDOWS="$gwenhywfar_cv_path_windows" AC_MSG_RESULT([$WIN_PATH_WINDOWS]) AC_MSG_CHECKING([for windoze windows path (mingw)]) AC_CACHE_VAL(gwenhywfar_cv_path_windows_mingw, [ AQ_WINDOZE_GETPATH_MINGW(windows, [$aq_windoze_path_windows]) gwenhywfar_cv_path_windows_mingw="$aq_windoze_path" ]) WIN_PATH_WINDOWS_MINGW="$gwenhywfar_cv_path_windows_mingw" AC_MSG_RESULT([$WIN_PATH_WINDOWS_MINGW]) # windows system directory AC_MSG_CHECKING([for windoze system path (program)]) AC_CACHE_VAL(gwenhywfar_cv_path_system, [ AQ_WINDOZE_GETPATH(system, [$aq_windoze_path_system]) gwenhywfar_cv_path_system="$aq_windoze_path" ]) WIN_PATH_SYSTEM="$gwenhywfar_cv_path_system" AC_MSG_RESULT([$WIN_PATH_SYSTEM]) AC_MSG_CHECKING([for windoze system path (mingw)]) AC_CACHE_VAL(gwenhywfar_cv_path_system_mingw, [ AQ_WINDOZE_GETPATH_MINGW(system, [$aq_windoze_path_system]) gwenhywfar_cv_path_system_mingw="$aq_windoze_path" ]) WIN_PATH_SYSTEM_MINGW="$gwenhywfar_cv_path_system_mingw" AC_MSG_RESULT([$WIN_PATH_SYSTEM_MINGW]) # program files directory AC_MSG_CHECKING([for program files path (program)]) AC_CACHE_VAL(gwenhywfar_cv_path_programfiles, [ AQ_WINDOZE_GETPATH(program_files, [$aq_windoze_path_system]) gwenhywfar_cv_path_programfiles="$aq_windoze_path" ]) WIN_PATH_PROGRAM_FILES="$gwenhywfar_cv_path_programfiles" AC_MSG_RESULT([$WIN_PATH_PROGRAM_FILES]) AC_MSG_CHECKING([for program files path (mingw)]) AC_CACHE_VAL(gwenhywfar_cv_path_programfiles_mingw, [ AQ_WINDOZE_GETPATH_MINGW(program_files, [$aq_windoze_path_system]) gwenhywfar_cv_path_programfiles_mingw="$aq_windoze_path" ]) WIN_PATH_PROGRAM_FILES_MINGW="$gwenhywfar_cv_path_programfiles_mingw" AC_MSG_RESULT([$WIN_PATH_PROGRAM_FILES_MINGW]) # common application data directory AC_MSG_CHECKING([for common app data path (program)]) AC_CACHE_VAL(gwenhywfar_cv_path_commonappdata, [ AQ_WINDOZE_GETPATH(common_appdata, [$aq_windoze_path_system]) gwenhywfar_cv_path_commonappdata="$aq_windoze_path" ]) WIN_PATH_COMMON_APPDATA="$gwenhywfar_cv_path_commonappdata" AC_MSG_RESULT([$WIN_PATH_COMMON_APPDATA]) AC_MSG_CHECKING([for common app data path (mingw)]) AC_CACHE_VAL(gwenhywfar_cv_path_commonappdata_mingw, [ AQ_WINDOZE_GETPATH_MINGW(common_appdata, [$aq_windoze_path_system]) gwenhywfar_cv_path_commonappdata_mingw="$aq_windoze_path" ]) WIN_PATH_COMMON_APPDATA_MINGW="$gwenhywfar_cv_path_commonappdata_mingw" AC_MSG_RESULT([$WIN_PATH_COMMON_APPDATA_MINGW]) # finish variables AC_SUBST(WIN_PATH_HOME) AC_DEFINE_UNQUOTED(WIN_PATH_HOME, "$WIN_PATH_HOME", [home path]) AC_SUBST(WIN_PATH_HOME_MINGW) AC_SUBST(WIN_PATH_WINDOWS) AC_DEFINE_UNQUOTED(WIN_PATH_WINDOWS, "$WIN_PATH_WINDOWS", [windows path]) AC_SUBST(WIN_PATH_WINDOWS_MINGW) AC_SUBST(WIN_PATH_SYSTEM) AC_DEFINE_UNQUOTED(WIN_PATH_SYSTEM, "$WIN_PATH_SYSTEM", [system path]) AC_SUBST(WIN_PATH_SYSTEM_MINGW) AC_SUBST(WIN_PATH_PROGRAM_FILES) AC_DEFINE_UNQUOTED(WIN_PATH_PROGRAM_FILES, "$WIN_PATH_PROGRAM_FILES", [program files path]) AC_SUBST(WIN_PATH_PROGRAM_FILES_MINGW) AC_SUBST(WIN_PATH_COMMON_APPDATA) AC_DEFINE_UNQUOTED(WIN_PATH_COMMON_APPDATA, "$WIN_PATH_COMMON_APPDATA", [common app data path]) AC_SUBST(WIN_PATH_COMMON_APPDATA_MINGW) ]) Index: Makefile.am =================================================================== RCS file: /cvsroot/dtrag/qanagram/m4/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsoZHWqD and /tmp/cvs3ZVaqS differ |
From: Christian S. <cs...@us...> - 2005-05-28 09:49:42
|
Update of /cvsroot/dtrag/qanagram/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23130/src Modified Files: Makefile.am anlistviewitem.cpp anlistviewitem.h qanagramwidget.cpp Log Message: 2005-05-28 Christian Stimming <sti...@tu...> * src/qanagramwidget.cpp (loadWordList): Add support for windows registry directory lookup in preparation of the free windows qt4. * src/anlistviewitem.cpp (compare): Fix sorting by switching from overriding the key() method to the compare() method. * src/Makefile.am: Add qt4 porting preparations. Index: Makefile.am =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d --brief -r1.2 -r1.3 Files /tmp/cvskO4mGP and /tmp/cvsjbfnN4 differ Index: anlistviewitem.cpp =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/anlistviewitem.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsOfMd4X and /tmp/cvsxJDffd differ Index: anlistviewitem.h =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/anlistviewitem.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsXuTPbZ and /tmp/cvsw5d1oe differ Index: qanagramwidget.cpp =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/qanagramwidget.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsFgZf44 and /tmp/cvs1ohNjk differ |
From: Christian S. <cs...@us...> - 2005-05-26 15:39:48
|
Update of /cvsroot/dtrag/qanagram/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15366/src Modified Files: langstring.cpp Log Message: Qt4 porting preparations Index: langstring.cpp =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/langstring.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsM3KKAF and /tmp/cvskGt7HD differ |
From: Christian S. <cs...@us...> - 2005-05-26 15:34:05
|
Update of /cvsroot/dtrag/qanagram/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13893/src Modified Files: generalpage.h Log Message: Qt4 porting preparations Index: generalpage.h =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/generalpage.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d --brief -r1.2 -r1.3 Files /tmp/cvsJcPCpN and /tmp/cvsibGwxy differ |
From: Christian S. <cs...@us...> - 2005-05-26 15:30:21
|
Update of /cvsroot/dtrag/qanagram/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13025/src Modified Files: antmpstring.cpp generalpage.cpp Log Message: Qt4 porting preparations Index: antmpstring.cpp =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/antmpstring.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsXefYOA and /tmp/cvs1Bj6xC differ Index: generalpage.cpp =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/generalpage.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsHECQaD and /tmp/cvsUKPtVE differ |
From: Christian S. <cs...@us...> - 2005-05-26 15:24:33
|
Update of /cvsroot/dtrag/qanagram In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11460 Modified Files: Makefile.am Log Message: Add qt4 rule Index: Makefile.am =================================================================== RCS file: /cvsroot/dtrag/qanagram/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsdBQ7ai and /tmp/cvsu94I81 differ |
From: Christian S. <cs...@us...> - 2005-05-26 15:22:08
|
Update of /cvsroot/dtrag/qanagram/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10888/src Modified Files: generalpage.h main.cpp qanagram.cpp Log Message: Qt4 porting preparations Index: generalpage.h =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/generalpage.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsKZKLZ1 and /tmp/cvsKqD9A0 differ Index: main.cpp =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/main.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsUsd7E5 and /tmp/cvsUYatk4 differ Index: qanagram.cpp =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/qanagram.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsi6e3od and /tmp/cvscGfq9b differ |
From: Christian S. <cs...@us...> - 2005-05-26 15:10:31
|
Update of /cvsroot/dtrag/qanagram/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7824/src Modified Files: Makefile.am Log Message: more fixes Index: Makefile.am =================================================================== RCS file: /cvsroot/dtrag/qanagram/src/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d --brief -r1.1 -r1.2 Files /tmp/cvsv3sSp6 and /tmp/cvsAM2vIt differ |
From: Christian S. <cs...@us...> - 2005-05-26 15:10:26
|
Update of /cvsroot/dtrag/qanagram In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7824 Added Files: .cvsignore Log Message: more fixes --- NEW FILE: .cvsignore --- *.rpm *.tar.gz Doxyfile aclocal.m4 apidoc autom4te.cache config.guess config.h config.h.in config.sub configure depcomp i18nsources install-sh libtool ltmain.sh missing mkinstalldirs qanagram.spec stamp-h1 version.h |
From: Christian S. <cs...@us...> - 2005-05-26 15:01:03
|
Update of /cvsroot/dtrag/qanagram In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5179 Added Files: AUTHORS ChangeLog Makefile.am Makefile.cvs NEWS README TODO configure.ac Log Message: Again import, now correctly --- NEW FILE: AUTHORS --- Christian Stimming <sti...@tu...> --- NEW FILE: ChangeLog --- 2003-05-20 Christian Stimming <sti...@tu...> * acinclude.m4, configure.in: Adapted build system to qt3 libraries and current autotools. Nov 09 1999 - Christian Stimming <ch...@se...> o Release Version 0.9.3: - Container-Klassen von Qt (QList et al.) auf STL (vector) gewechselt. - Dadurch Beschleunigung von 100 sec. auf 15 sec. fuer 15000 Anagramme - yeah! Nov 07 1999 - Christian Stimming <ch...@se...> o Release Version 0.9.1: - Klassenkonzept gundlegend umgestaltet - neue Klassen AnCallback, LangStringAbstract, AnTmpString - Geschwindigkeitsgewinn leider gleich Null, daher hat die Motivation nicht zur Implementierung von neuen Funktionen gereicht. Sep 20 1999 - Christian Stimming <sti...@tu...> o Release Version 0.8.2: - Name ganz auf QAnagram geaendert - Dokumentation in doc/de bzw. doc/en begonnen - Benutzung von ./configure, automake etc. wieder eingefuehrt. Sep 05 1999 - Christian Stimming <sti...@tu...> o Release Version 0.8.1: - Neues Wortlisten-Format .awl> = anagram word list (also bitte das Woerterbuch nochmal neu mit runterladen) - Wortlisten koennen geladen und gespeichert werden (falls man z.B. die Wort-Bewertungen geaendert hat - Anagramme koennen gespeichert werden, entweder alle oder nur die markierten. Mon Aug 30 00:59:02 MEST 1999 - Christian Stimming <sti...@tu...> o Initial Creation --- NEW FILE: Makefile.am --- # These are the subdirectories that have Makefiles SUBDIRS = src m4 #ACLOCAL_AMFLAGS = $(ADD_ACLOCAL_FLAGS) -I m4 ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = Makefile.cvs --- NEW FILE: Makefile.cvs --- default: all all: libtoolize -f --automake @if test -r config.status; then \ prefix=`grep '@prefix@' config.status |cut -d , -f 3`; \ gwen_prefix=`grep '@GWEN_PREFIX@' config.status |cut -d , -f 3`; \ fi; \ for A in "$${gwen_prefix}/share/aclocal" "$${prefix}/share/aclocal" m4; do \ if test -d "$${A}"; then \ ACLOCAL_FLAGS="$${ACLOCAL_FLAGS} -I $${A}"; \ fi; \ done; \ echo "aclocal $${ACLOCAL_FLAGS}"; \ aclocal $${ACLOCAL_FLAGS} || (echo -e '***\n*** If the line above shows the error message "macro AC_GWENHYWFAR not \n*** found", you need to specify the environment variable ACLOCAL_FLAGS \n*** to be "-I GWENHYWFAR_PREFIX/share/aclocal". For example, do the following:\n***\n*** export ACLOCAL_FLAGS="-I ${HOME}/usr/share/aclocal"\n*** make -f Makefile.cvs\n***'; exit 1) autoheader automake --add-missing @echo "autoconf"; \ autoconf @echo "Now you can run ./configure --enable-maintainer-mode" --- NEW FILE: NEWS --- Version 0.9.3: - Container-Klassen von Qt (QList et al.) auf STL (vector) gewechselt. Dadurch Beschleunigung von 100 sec. auf 15 sec. fuer 15000 Anagramme - yeah! Version 0.9.1: - Klassenkonzept radikal umgestaltet, gerade in Hinsicht auf Java-Portierung und Multithreading; - Jeder LangString (vorher: AnString) enthaelt einen zusaetzlichen latin1() QCString der nur fuer den Vergleich via AnTmpString::inString() verwendet wird. Diese Komponente ist ausserdem alphabetisch geordnet, so dass sich die Laufzeit von AnTmpString::inString() von O(n^2) auf O(n) reduziert. - Neue Klassen: AnCallback (interface), LangStringAbstract (abstrakt), LangString, AnTmpString - Leider hat das Null Geschwindigkeitsgewinn gebracht. Frust. Version 0.8.2: - Name ganz auf QAnagram geaendert - Dokumentation in doc/de bzw. doc/en begonnen - Benutzung von ./configure, automake et al. wieder eingefuehrt. --- NEW FILE: README --- QAnagram v0.9 Christian Stimming <sti...@tu...> ---------------------------------------------------------------------- A program which searches all possible anagrams for each word you like. Up to now only a german dictionary is provided (in a seperate archive). The dictionary has to be in the directory from where the program is called. Documentation is in ./qanagram/doc/en . For compiling you need the Qt library version 2.0 or greater. Refer to README.QT for more details on where to get this. See http://www.tu-harburg.de/~secs2112/qanagram.html for more information and updates. --- NEW FILE: TODO --- * the normal QString part of each LangString should be case sensitive again, i.e. the nouns should be capitalized again * additional options: Usage of words twice yes/no; minimum/maximum length of each word in one anagram. Should be implemented via static members of class AnTmpString * Menu item "append Wordlist" * implement i18n ... but how? Not via KDE classes because they still use Qt 1.xx. Perhaps via QApp::tr() ...? * enable editing of Strings? Doubleclick on one word opens a QLineEdit? * enable inserting of Strings? The view where WordListView appears shold also contain a QLineEdit? * what about different kind of LangString's? Create classes Noun, Adjective, Verb, Preposition, Misc derived from LangString ...?? --- NEW FILE: configure.ac --- # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.57) AC_INIT AC_CANONICAL_TARGET([]) AC_CONFIG_SRCDIR([README]) AC_CONFIG_HEADER([config.h]) # # versions # QANAGRAM_VERSION_MAJOR=0 QANAGRAM_VERSION_MINOR=9 QANAGRAM_VERSION_PATCHLVEL=5 QANAGRAM_VERSION_STRING="$QANAGRAM_VERSION_MAJOR.$QANAGRAM_VERSION_MINOR.$QANAGRAM_VERSION_PATCHLEVEL" # # release string variables # AC_SUBST(QANAGRAM_VERSION_MAJOR) AC_SUBST(QANAGRAM_VERSION_MINOR) AC_SUBST(QANAGRAM_VERSION_PATCHLEVEL) AC_SUBST(QANAGRAM_VERSION_STRING) AC_DEFINE_UNQUOTED(QANAGRAM_VERSION_MAJOR,$QANAGRAM_VERSION_MAJOR, [major version]) AC_DEFINE_UNQUOTED(QANAGRAM_VERSION_MINOR,$QANAGRAM_VERSION_MINOR, [minor version]) AC_DEFINE_UNQUOTED(QANAGRAM_VERSION_PATCHLEVEL,$QANAGRAM_VERSION_PATCHLEVEL, [patchlevel]) AM_INIT_AUTOMAKE(qanagram, $QANAGRAM_VERSION_RELEASE_STRING) ###------------------------------------------------------------------------- # # static/shared handling # AC_ENABLE_STATIC(no) AC_ENABLE_SHARED(yes) ###------------------------------------------------------------------------- # Checks for programs. AC_PROG_CC AC_PROG_INSTALL AC_PROG_LIBTOOL ###------------------------------------------------------------------------- # Checks for libraries. ###------------------------------------------------------------------------- # Checks for header files. AC_HEADER_STDC ###------------------------------------------------------------------------- # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST ###------------------------------------------------------------------------- # Checks for library functions. #AC_FUNC_MALLOC ###------------------------------------------------------------------------- # Check for QT AQ_CHECK_QT3 if test "$have_qt3" != "yes"; then AC_MSG_ERROR([QT3 is required]) fi #all_includes="$all_includes $qt3_includes" # Define this macro to disable the cast from QString to const char # which implicitly uses latin1()! AC_DEFINE(QT_NO_ASCII_CAST,[1],[Disable the cast from QString to const char.]) dnl Check for Qts lupdate tools AC_PATH_PROG([LUPDATE], [lupdate], [NO], [$PATH:"` echo ${qt3_moc} | sed 's-/moc--' `"]) AC_PATH_PROG([LRELEASE], [lrelease], [NO], [$PATH:"` echo ${qt3_moc} | sed 's-/moc--' `"]) AM_CONDITIONAL([HAVE_LUPDATE], [test "$LUPDATE" != "NO"]) AM_CONDITIONAL([HAVE_LRELEASE], [test "$LRELEASE" != "NO"]) dnl Check for potential qt4 environment AC_PATH_PROGS([UIC3], [uic3 uic], [NO], [$PATH:"` echo ${qt3_moc} | sed 's-/moc--' `"]) AC_PATH_PROG([QT3TO4], [qt3to4], [NO], [$PATH:"` echo ${qt3_moc} | sed 's-/moc--' `"]) AM_CONDITIONAL([HAVE_QT3TO4], [test "$QT3TO4" != "NO"]) ###------------------------------------------------------------------------- ## Compile warnings ACX_COMPILE_WARN() ###------------------------------------------------------------------------- # output AC_CONFIG_FILES([ Makefile m4/Makefile src/Makefile ]) AC_OUTPUT |
From: Christian S. <cs...@us...> - 2005-05-26 15:01:03
|
Update of /cvsroot/dtrag/qanagram/m4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5179/m4 Added Files: Makefile.am acx_compile_warn.m4 as-scrub-include.m4 debugmode.m4 docpath.m4 os.m4 qt3.m4 searchfiles.m4 Log Message: Again import, now correctly --- NEW FILE: Makefile.am --- EXTRA_DIST=\ acx_compile_warn.m4 \ as-scrub-include.m4 \ debugmode.m4 \ docpath.m4 \ os.m4 \ qt3.m4 \ searchfiles.m4 --- NEW FILE: acx_compile_warn.m4 --- # Compile warning arguments to ./configure # by Christian Stimming <sti...@tu...> 2003-11-19 dnl ACX_COMPILE_WARN() dnl Add arguments for compile warnings and debug options to ./configure. dnl AC_DEFUN([ACX_COMPILE_WARN], [ dnl For enabling of debugging flags/code AC_ARG_ENABLE(debug, [ --enable-debug compile with debugging code enabled, default=no], [case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -g" CFLAGS="${CFLAGS} -g" LDFLAGS="${LDFLAGS} -g" AC_DEFINE(DEBUG,1,[Define if you want debugging code enabled.]) ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; esac ], [ # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ]) dnl If this is gcc, then ... if test ${GCC}x = yesx; then dnl Enable all warnings AC_ARG_ENABLE(warnings, [ --enable-warnings enable compilation warnings, default=yes], [case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Wall " CFLAGS="${CFLAGS} -Wall " ;; all) CXXFLAGS="${CXXFLAGS} -Wall -pedantic -ansi" CFLAGS="${CFLAGS} -Wall -pedantic -ansi" ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-warnings) ;; esac ], [ # Default value if the argument was not given CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" ]) dnl For enabling error on warnings AC_ARG_ENABLE(error-on-warning, [ --enable-error-on-warning treat all compile warnings as errors, default=no], [case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Werror" CFLAGS="${CFLAGS} -Werror" ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-error-on-warning) ;; esac ], [ # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" ]) fi ]) --- NEW FILE: as-scrub-include.m4 --- dnl as-scrub-include.m4 0.0.1 dnl autostars m4 macro for scrubbing CFLAGS of system include dirs dnl because gcc 3.x complains about including system including dirs dnl dnl th...@ap... dnl dnl This macro uses output of cpp -v and expects it to contain text that dnl looks a little bit like this: dnl #include <...> search starts here: dnl /usr/local/include dnl /usr/lib/gcc-lib/i386-redhat-linux/3.2/include dnl /usr/include dnl End of search list. dnl AS_SCRUB_INCLUDE(VAR) dnl example dnl AS_SCRUB_INCLUDE(CFLAGS) dnl will remove all system include dirs from the given CFLAGS AC_DEFUN([AS_SCRUB_INCLUDE], [ GIVEN_CFLAGS=$[$1] INCLUDE_DIRS=`echo | cpp -v 2>&1` dnl remove everything from this output between the "starts here" and "End of" dnl line INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done [$1]=$GIVEN_CFLAGS ]) --- NEW FILE: debugmode.m4 --- # $Id: debugmode.m4,v 1.1 2005/05/26 15:00:51 cstim Exp $ # (c) 2002 Martin Preuss<ma...@li...> # This function checks for the debugmode AC_DEFUN([AQ_DEBUGMODE],[ dnl IN: dnl nothing dnl OUT: dnl Variables: dnl DEBUGMODE: number of the debug level (subst) dnl Defines: dnl DEBUGMODE: number of the debug level (subst) dnl check for debugmode AC_MSG_CHECKING(for debug mode) AC_ARG_WITH(debug-mode, [ --with-debug-mode=MODE debug mode], [DEBUGMODE="$withval"], [DEBUGMODE="0"]) AC_SUBST(DEBUGMODE) AC_DEFINE_UNQUOTED(DEBUGMODE,$DEBUGMODE,[debug mode to be used]) AC_MSG_RESULT($DEBUGMODE) ]) --- NEW FILE: docpath.m4 --- # $Id: docpath.m4,v 1.1 2005/05/26 15:00:51 cstim Exp $ # (c) 2002 Martin Preuss<ma...@li...> # This function checks for the output path for the documentation AC_DEFUN([AQ_DOCPATH],[ dnl PREREQUISITES: dnl none dnl IN: dnl nothing dnl OUT: dnl Variables: dnl docpath: Output path for the documentation (subst) dnl Defines: # check for docpath AC_MSG_CHECKING(for docpath) AC_ARG_WITH(docpath, [ --with-docpath=DIR where to store the apidoc], [docpath="$withval"], [docpath="apidoc"]) AC_SUBST(docpath) AC_MSG_RESULT($docpath) ]) --- NEW FILE: os.m4 --- # $Id: os.m4,v 1.1 2005/05/26 15:00:51 cstim Exp $ # (c) 2002 Martin Preuss<ma...@li...> # These functions guess your operation system AC_DEFUN([AQ_CHECK_OS],[ dnl IN: dnl - AC_CANONICAL_SYSTEM muste be called before dnl OUT: dnl Variables: dnl OSYSTEM: Short name of your system (subst) dnl OS_TYPE: either "posix" or "windows" (subst) dnl MAKE_DLL_TARGET: under windows this is set to "dll" (subst) dnl INSTALL_DLL_TARGET: under Windows this is set to "dll-install" (subst) dnl Defines: dnl OS_NAME: full name of your system dnl OS_SHORTNAME: short name of your system dnl Depending on your system one of the following is defined in addition: dnl OS_LINUX, OS_OPENBSD, OS_FREEBSD, OS_BEOS, OS_WIN32 # check for OS AC_MSG_CHECKING([target system type]) OSYSTEM="" OS_TYPE="" MAKE_DLL_TARGET="" INSTALL_DLL_TARGET="" AC_DEFINE_UNQUOTED(OS_NAME,"$target", [target system]) case "$target" in *-linux*) OSYSTEM="linux" AC_DEFINE(OS_LINUX,1,[if linux is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-openbsd*) OSYSTEM="openbsd" AC_DEFINE(OS_OPENBSD,1,[if OpenBSD is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-freebsd*) OSYSTEM="freebsd" AC_DEFINE(OS_FREEBSD,1,[if FreeBSD is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-beos*) OSYSTEM="beos" AC_DEFINE(OS_BEOS,1,[if BeOS is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-win32*) OSYSTEM="windows" AC_DEFINE(OS_WIN32,1,[if WIN32 is used]) OS_TYPE="windows" AC_DEFINE_UNQUOTED(BUILDING_DLL,1,[if DLL is to be built]) MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-mingw32*) OSYSTEM="windows" AC_DEFINE(OS_WIN32,1,[if WIN32 is used]) OS_TYPE="windows" AC_DEFINE_UNQUOTED(BUILDING_DLL,1,[if DLL is to be built]) MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *) AC_MSG_WARN([Sorry, but target $target is not supported. Please report if it works anyway. We will assume that your system is a posix system and continue.]) OSYSTEM="unknown" OS_TYPE="posix" AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) ;; esac AC_SUBST(OSYSTEM) AC_DEFINE_UNQUOTED(OS_SHORTNAME,"$OSYSTEM",[target system]) AC_SUBST(OS_TYPE) AC_DEFINE_UNQUOTED(OS_TYPE,"$OS_TYPE",[system type]) AC_SUBST(MAKE_DLL_TARGET) AC_SUBST(INSTALL_DLL_TARGET) AC_MSG_RESULT($OS_TYPE) ]) --- NEW FILE: qt3.m4 --- # $Id: qt3.m4,v 1.1 2005/05/26 15:00:51 cstim Exp $ # (c) 2002 Martin Preuss<ma...@li...> # These functions search for QT 3 AC_DEFUN([AQ_CHECK_QT3],[ dnl PREREQUISITES: dnl AQ_CHECK_OS must be called before this dnl IN: dnl $1 = "yes" if QT3 is needed, "no" if QT3 is optional dnl $2 = subdirs to include when QT is available dnl You may preset the return variables. dnl All variables which already have a value will not be altered dnl OUT: dnl Variables: dnl have_qt3 - set to "yes" if QT3 exists dnl qt3_includes - path to includes dnl qt3_libs - path to libraries dnl qt3_app - kde apps given as the argument to this funtion dnl qt3_uic - name and path of the uic tool dnl qt3_moc - name and path of the moc tool dnl Defines: dnl HAVE_QT3 lforce="$1" lsd="$2" AC_MSG_CHECKING(if QT3 is allowed) AC_ARG_ENABLE(qt3, [ --enable-qt3 enable qt3 (default=yes)], enable_qt3="$enableval", enable_qt3="yes") AC_MSG_RESULT($enable_qt3) if test "$enable_qt3" = "no"; then qt3_libs="" qt3_includes="" qt3_app="" qt3_moc="" qt3_uic="" have_qt3="no" else dnl paths for qt3 includes AC_MSG_CHECKING(for qt3 includes) AC_ARG_WITH(qt3-includes, [ --with-qt3-includes=DIR uses qt3 includes from given dir], [local_qt3_includes="$withval"], [local_qt3_includes="\ $QTDIR/include \ /usr/include/qt3 \ /usr/local/include/qt3 \ /usr/lib/qt3/include \ /usr/local/lib/qt3/include \ /opt/qt3/include \ /usr/include/qt \ /usr/local/include/qt \ /usr/lib/qt/include \ /usr/local/lib/qt/include \ /usr/include \ /usr/local/include \ /opt/qt/include \ /usr/X11R6/include \ " ] ) if test -z "$qt3_includes"; then for i in $local_qt3_includes; do if test -z "$qt3_includes"; then if test -f "$i/qglobal.h"; then lv1=`grep -h "#define QT_VERSION_STR" $i/qglobal.h` case $lv1 in *3.*) qt3_includes="-I$i" break; ;; esac fi fi done fi if test -n "$qt3_includes"; then AC_MSG_RESULT($qt3_includes) else AC_MSG_RESULT(not found) fi AC_MSG_CHECKING(if threaded qt3 may be used) AC_ARG_ENABLE(qt3-threads, [ --enable-qt3-threads enable qt3-mt library (default=yes)], enable_qt3_threads="$enableval", enable_qt3_threads="yes") AC_MSG_RESULT($enable_qt3_threads) dnl paths for qt3 libs AC_MSG_CHECKING(for qt3 libraries) AC_ARG_WITH(qt3-libs, [ --with-qt3-libs=DIR uses qt3 libs from given dir], [local_qt3_libs="$withval"], [local_qt3_libs="\ $QTDIR/lib \ /usr/lib/qt3 \ /usr/local/lib/qt3 \ /usr/lib/qt3/lib \ /usr/local/lib/qt3/lib \ /opt/qt3/lib \ /usr/lib/qt \ /usr/local/lib/qt \ /usr/lib/qt/lib \ /usr/local/lib/qt/lib \ /usr/lib \ /usr/local/lib \ /opt/qt/lib \ /usr/X11R6/lib \ " ] ) if test "$enable_qt3_threads" != "no"; then if test -z "$qt3_libs"; then AQ_SEARCH_FOR_PATH([libqt-mt.so.3],[$local_qt3_libs]) if test -n "$found_dir" ; then qt3_libs="-L$found_dir -lqt-mt" test "$OSYSTEM" = "freebsd" && \ qt3_libs="$qt3_libs -lc_r" fi fi fi if test -z "$qt3_libs"; then AQ_SEARCH_FOR_PATH([libqt.so.3],[$local_qt3_libs]) if test -n "$found_dir" ; then qt3_libs="-L$found_dir -lqt" test "$OSYSTEM" = "freebsd" && \ qt3_libs="$qt3_libs -lc_r" fi fi if test -n "$qt3_libs"; then AC_MSG_RESULT($qt3_libs) else AC_MSG_RESULT(not found) fi dnl paths for qt3 moc AC_MSG_CHECKING(for qt3 moc) AC_ARG_WITH(qt3-moc, [ --with-qt3-moc=DIR uses given qt3 moc], [local_qt3_moc="$withval"], [local_qt3_moc="\ $QTDIR/bin \ /usr/lib/qt3/bin \ /usr/local/lib/qt3/bin \ /opt/qt3/bin \ /usr/lib/qt/bin \ /usr/local/lib/qt/bin \ /usr/bin \ /usr/local/bin \ /opt/qt/bin \ /usr/X11R6/bin \ " ] ) if test -z "$qt3_moc"; then AQ_SEARCH_FOR_PATH([moc],[$local_qt3_moc]) if test -n "$found_dir" ; then qt3_moc="$found_dir/moc" fi fi if test -n "$qt3_moc"; then AC_MSG_RESULT($qt3_moc) else AC_MSG_RESULT(not found) fi dnl paths for qt3 uic AC_MSG_CHECKING(for qt3 uic) AC_ARG_WITH(qt3-uic, [ --with-qt3-uic=DIR uses given qt3 uic], [local_qt3_uic="$withval"], [local_qt3_uic="\ $QTDIR/bin \ /usr/lib/qt3/bin \ /usr/local/lib/qt3/bin \ /opt/qt3/bin \ /usr/lib/qt/bin \ /usr/local/lib/qt/bin \ /usr/bin \ /usr/local/bin \ /opt/qt/bin \ /usr/X11R6/bin \ " ] ) if test -z "$qt3_uic"; then AQ_SEARCH_FOR_PATH([uic],[$local_qt3_uic]) if test -n "$found_dir" ; then qt3_uic="$found_dir/uic" fi fi if test -n "$qt3_uic"; then AC_MSG_RESULT($qt3_uic) else AC_MSG_RESULT(not found) fi # check if all necessary qt3 components where found if test -z "$qt3_includes" || \ test -z "$qt3_moc" || \ test -z "$qt3_uic" || \ test -z "$qt3_libs"; then qt3_libs="" qt3_moc="" qt3_uic="" qt3_includes="" qt3_app="" have_qt3="no" if test "$lforce" = "yes"; then AC_MSG_ERROR([ Compilation of QT applications is enabled but I could not find some QT components (see which are missing in messages above). If you don't want to compile KDE applications please use "--disable-qt3". ]) else AC_MSG_WARN([ QT3 is not explicitly disabled and I could not find some QT3 components (see which are missing in messages above). If you don't want to compile QT3 applications please use "--disable-qt3". ]) fi else dnl TODO: AC_TRY_RUN, check whether kdeversion.h has matching versions qt3_app="$lsd" have_qt3="yes" AC_DEFINE(HAVE_QT3, 1, [whether QT3 is available]) fi dnl end of if "$enable_qt3" fi AS_SCRUB_INCLUDE(qt3_includes) AC_SUBST(qt3_app) AC_SUBST(qt3_libs) AC_SUBST(qt3_includes) AC_SUBST(qt3_moc) AC_SUBST(qt3_uic) ]) --- NEW FILE: searchfiles.m4 --- # $Id: searchfiles.m4,v 1.1 2005/05/26 15:00:51 cstim Exp $ # (c) 2002 Martin Preuss<ma...@li...> # These functions search for files AC_DEFUN([AQ_SEARCH_FOR_PATH],[ dnl searches for a file in a path dnl $1 = file to search dnl $2 = paths to search in dnl returns the directory where the file is found (found_dir) found_dir="" ls=$1 ld="$2" for li in $ld; do if test -r "$li/$ls"; then found_dir="$li" break fi done ]) AC_DEFUN([AQ_SEARCH_FILES],[ dnl searches a dir for some files dnl $1 = path where to search dnl $2 = files to find dnl returns the name of the file found (found_file) found_file="" ls="$1" ld="$2" lf="" for li in $ld; do lf2="`ls -d ${ls}/${li} 2>/dev/null`" lf="$lf $lf2" done for li in $lf; do if test -r "$li"; then found_file=`basename "$li"` break fi done ]) |
Update of /cvsroot/dtrag/qanagram/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5179/src Added Files: .cvsignore Makefile.am anagr.cpp anagr.h ancallback.h anlistview.cpp anlistview.h anlistviewitem.cpp anlistviewitem.h anstring.cpp anstring.h antmpstring.cpp antmpstring.h generalpage.cpp generalpage.h langstring.cpp langstring.h langstringabstract.cpp langstringabstract.h main.cpp myconfig.h qanagram.cpp qanagram.h qanagramwidget.cpp qanagramwidget.h wordlistview.cpp wordlistview.h wordlistviewitem.cpp wordlistviewitem.h xpms.h Log Message: Again import, now correctly --- NEW FILE: .cvsignore --- *.moc.cpp qanagram --- NEW FILE: Makefile.am --- # this 10 paths are KDE specific. Use them: # kde_htmldir Where your docs should go to. (contains lang subdirs) # kde_appsdir Where your application file (.kdelnk) should go to. # kde_icondir Where your icon should go to. # kde_sounddir Where system sounds should go to. # kde_datadir Where you install application data. (Use a subdir) # kde_locale Where translation files should go to.(contains lang subdirs) # kde_cgidir Where cgi-bin executables should go to. # kde_confdir Where config files should go to. # kde_mimedir Where mimetypes should go to. # kde_toolbardir Where general toolbar icons should go to. # kde_wallpaperdir Where general wallpapers should go to. # this is where the kdelnk file will go APPSDIR = $(kde_appsdir)/Utilities # set the include path for X, qt and KDE INCLUDES = $(qt3_includes) # this has all of the subdirectories that make will recurse into. if # there are none, comment this out SUBDIRS = doc pics # this is where the source documentation will be installed ### changed by chs SRCDOC_DEST=doc/src ####### This part is very qanagram specific # this is the program that gets installed bin_PROGRAMS = qanagram # Which sources should be compiled for qanagram. qanagram_SOURCES = qanagram.cpp qanagramwidget.cpp main.cpp \ anstring.cpp antmpstring.cpp anagr.cpp anlistview.cpp anlistviewitem.cpp \ wordlistview.cpp wordlistviewitem.cpp generalpage.cpp \ langstringabstract.cpp langstring.cpp # let automoc handle all of the meta source files (moc) qanagram_METASOURCES = USE_AUTOMOC ### changed by chs # the library search path. qanagram_LDFLAGS = $(all_libraries) $(QT_LDFLAGS) ### changed by chs # the libraries to link against. Be aware of the order. First the libraries, # that depend on the following ones. qanagram_LDADD = $(qt3_libs) # these are the headers for your project noinst_HEADERS = qanagram.h qanagramwidget.h anstring.h antmpstring.h anagr.h \ anlistview.h anlistviewitem.h wordlistview.h \ wordlistviewitem.h generalpage.h ancallback.h \ langstringabstract.h langstring.h myconfig.h xpms.h nodist_qanagram_SOURCES = anlistview.moc.cpp \ anlistviewitem.moc.cpp \ generalpage.moc.cpp \ qanagram.moc.cpp \ qanagramwidget.moc.cpp \ wordlistview.moc.cpp \ wordlistviewitem.moc.cpp %.moc.cpp: %.h $(qt3_moc) -o $@ $< SUFFIXES = .moc.cpp # if you "make distclean", this files get removed. If you want to remove # them while "make clean", use CLEANFILES CLEANFILES = $(qanagram_METASOURCES) $(nodist_qanagram_SOURCES) # make messages.po. Move this one to ../po/ and "make merge" in po # the -x is for skipping messages already translated in kdelibs messages: $(XGETTEXT) -C -ki18n -x $(includedir)/kde.pot $(qanagram_SOURCES) && mv messages.po ../po/qanagram.pot # generate source documentation srcdoc: $(mkinstalldirs) $(SRCDOC_DEST) kdoc -H -d $(SRCDOC_DEST) qanagram $(noinst_HEADERS) -lqt # just install datas here. Use install-exec-local for scripts and etc. # the binary itself is already installed from automake # use mkinstalldirs, not "install -d" # don't install a list of file. Just one file per install. # if you have more of them, create a subdirectory with an extra Makefile install-data-local: $(mkinstalldirs) $(APPSDIR) $(INSTALL_DATA) qanagram.kdelnk $(APPSDIR) $(mkinstalldirs) $(kde_icondir) $(INSTALL_DATA) qanagram.xpm $(kde_icondir) $(mkinstalldirs) $(kde_minidir) $(INSTALL_DATA) mini-qanagram.xpm $(kde_minidir)/qanagram.xpm # remove ALL you have installed in install-data-local or install-exec-local uninstall-local: -rm -f $(APPSDIR)/qanagram.kdelnk -rm -f $(kde_icondir)/qanagram.xpm -rm -f $(kde_minidir)/qanagram.xpm --- NEW FILE: anagr.cpp --- /* anagr.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include <anagr.h> Anagr::Anagr() : LangStringAbstractList() { unread=TRUE; marked=FALSE; } Anagr::Anagr(LangStringAbstract *s) : LangStringAbstractList() { push_back(s); unread=TRUE; marked=FALSE; } Anagr::~Anagr() {} QTextStream & operator<< (QTextStream & s, Anagr & a) { // simply write each word in latin-1-characters, delimit each word // by a whitespace, force an end-of-line afterwards const char *c; for( LangStringAbstractListIter iter = a.begin(); iter != a.end() ; iter++ ) { c = (*iter)->latin1(); s << c << " "; }; return s << endl; }; int Anagr::getWorth() { int i=0; for(LangStringAbstractListIter str = begin(); str != end(); str++ ) i += (*str)->getWorth() * (*str)->length(); return i; }; void Anagr::setUnread(bool b) { unread=b; } void Anagr::setMarked(bool b) { marked=b; } --- NEW FILE: anagr.h --- #ifndef ANAGR_H #define ANAGR_H #ifdef HAVE_CONFIG_H #include <config.h> #endif /* anagr.h QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ class Anagr; #include <qtextstream.h> #include "langstringabstract.h" /** A class that represents an anagram. It is a list of words, a list of AnString's. */ class Anagr : public LangStringAbstractList { /** Writes an anagram to a text stream. */ friend QTextStream & operator<< (QTextStream & s, Anagr & a); public: /** default constructor */ Anagr(); /** Constructor which takes the first AnString which belongs to the anagram. */ Anagr(LangStringAbstract *); /** Default destructor. */ virtual ~Anagr(); /** True, if this anagram hasn't been read. */ bool getUnread() { return unread; }; /** True, if the user has marked this anagram. */ bool getMarked() { return marked; }; /** Allows to set the value of getUnread(). */ void setUnread(bool b); /** Allows to set the value of getMarked(). */ void setMarked(bool b); /** Returns the worth which was calculated from the word's values. This value is calculated on-the-fly. */ int getWorth(); inline void append( LangStringAbstract *a) { push_back( a ); }; inline LangStringAbstract * at( uint i ) { return operator[]( i ); }; inline uint count() { return size(); }; private: bool marked; bool unread; }; #endif // ANAGR_H --- NEW FILE: ancallback.h --- #ifndef ANCALLBACK_H #define ANCALLBACK_H #ifdef HAVE_CONFIG_H #include <config.h> #endif /* ancallback.h QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include "anagr.h" /** @short Callback function interface for a new anagram This is the interface which contains the callback function which is to be called each time a new anagram is found. */ class AnCallback { public: /** This abstract function is called from within AnString each time a new anagram is found. */ virtual void newAnagr( Anagr *a ) = 0; }; #endif // ANCALLBACK_H --- NEW FILE: anlistview.cpp --- /* anlistview.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include <anlistview.h> #include "xpms.h" const int AnListView::worthZeroIndex=100; AnListView::AnListView(QWidget *parent, int numberWordColumns, const char *name) : QListView(parent, name) { pm_read = new QPixmap(read_xpm); pm_unread = new QPixmap(unread_xpm); pm_unmarked = pm_read; pm_marked = new QPixmap(marked_xpm); // watch out that the column order fits with the column constants // in AnListView!!!! addColumn(*pm_unread, ""); addColumn("Wert"); addColumn(*pm_marked, ""); for (int i=0; i<numberWordColumns; i++) addColumn("Wort"); setSorting(AnListViewItem::worthColumn, TRUE); // focus is shown in all columns setAllColumnsShowFocus(TRUE); // if the focus in the list view has changed, our appropriate slot // should be called. connect(this, SIGNAL(currentChanged(QListViewItem *)), SLOT(mySelection(QListViewItem *)) ); connect(this, SIGNAL(returnPressed(QListViewItem *)), SLOT(returnPressed(QListViewItem *)) ); connect(this, SIGNAL(rightButtonPressed(QListViewItem *, const QPoint &, int)), SLOT(rightClickOnItem(QListViewItem *, const QPoint &, int)) ); valuePopupMenu = new QPopupMenu(this); valuePopupMenu->insertItem( "5", worthZeroIndex+5 ); valuePopupMenu->insertItem( "4", worthZeroIndex+4 ); valuePopupMenu->insertItem( "3", worthZeroIndex+3 ); valuePopupMenu->insertItem( "2", worthZeroIndex+2 ); valuePopupMenu->insertItem( "1", worthZeroIndex+1 ); valuePopupMenu->insertItem( "0", worthZeroIndex ); valuePopupMenu->insertItem( "-1", worthZeroIndex-1 ); valuePopupMenu->insertItem( "-2", worthZeroIndex-2 ); valuePopupMenu->insertItem( "-3", worthZeroIndex-3 ); valuePopupMenu->insertItem( "-4", worthZeroIndex-4 ); valuePopupMenu->insertItem( "-5", worthZeroIndex-5 ); } AnListView::~AnListView() { } void AnListView::disableSorting() { setSorting(-1); } void AnListView::enableSorting() { // sort after the last set column. setSorting(sortColumn, TRUE); } void AnListView::newAnagr(Anagr *a) { new AnListViewItem( a, this); } void AnListView::mySelection(QListViewItem *i) { if (i!=0l) ((AnListViewItem *)i)->anagr->setUnread(FALSE); } void AnListView::deleteAnList() { this->clear(); } void AnListView::rightClickOnItem(QListViewItem *it, const QPoint &p, int col) { if (!it) return; setSelected(it, TRUE); AnListViewItem *item= (AnListViewItem *)it; if ( (col >= AnListViewItem::firstWordColumn) && (col < AnListViewItem::firstWordColumn + (int)item->anagr->count() ) ) { QRect myrect = itemRect(item); QHeader *h = header(); int colPos=0; for ( int i=0; i<h->mapToActual(col); i++) colPos+=h->cellSize(i); int result = valuePopupMenu-> exec(mapToGlobal(myrect.bottomLeft() + QPoint(colPos,0)), valuePopupMenu-> indexOf( worthZeroIndex + item->anagr-> at(col - AnListViewItem::firstWordColumn)->getWorth() ) ); if (result>0) item->anagr-> at(col - AnListViewItem::firstWordColumn)-> setWorth(result - worthZeroIndex); triggerUpdate(); }; } void AnListView::returnPressed(QListViewItem *it) { if (!it) return; AnListViewItem *i= (AnListViewItem *)it; // return pressed on any item? toggle the marker. i->anagr->setMarked( !i->anagr->getMarked() ); triggerUpdate(); } void AnListView::setSorting ( int column, bool increasing ) { sortColumn = column; QListView::setSorting( column, increasing ); } void AnListView::contentsMousePressEvent( QMouseEvent * e ) { // all copied from qlistview.cpp, lines 2552 following if (!e) return; QPoint vp = contentsToViewport(e->pos()); QHeader *h = header(); AnListViewItem * i; if ( viewport()->rect().contains( vp ) ) i = (AnListViewItem *) itemAt( vp ); else i = (AnListViewItem *) selectedItem(); if (i) { int c = h->mapToLogical( h->cellAt( vp.x() ) ); if (c==AnListViewItem::unreadColumn) { // any button pressed on unread column? toggle the marker. i->anagr->setUnread( !i->anagr->getUnread() ); triggerUpdate(); } else if (c==AnListViewItem::markedColumn) { // any button pressed on mark column? toggle the marker. i->anagr->setMarked( !i->anagr->getMarked() ); triggerUpdate(); }; }; QListView::contentsMousePressEvent( e ); } --- NEW FILE: anlistview.h --- #ifndef ANLISTVIEW_H #define ANLISTVIEW_H #ifdef HAVE_CONFIG_H #include <config.h> #endif /* anlistview.h QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ class AnListView; //#include <kapp.h> #include <qwidget.h> #include <qlistview.h> #include <qfile.h> #include <qdatastream.h> #include <qmessagebox.h> #include <qpopupmenu.h> #include <qheader.h> //#include <qmouseevent.h> #include "anlistviewitem.h" #include "ancallback.h" /** Shows the list of all resulted anagrams. Derived from Qt's QListView. Each anagram is shown by an AnListViewItem object. */ class AnListView : public QListView, public AnCallback { Q_OBJECT friend class AnListViewItem; public: /** Default constructor */ AnListView(QWidget *parent = 0, int numberWordColumns = 4, const char *name = 0); /** Default destructor */ virtual ~AnListView(); /** Set the list view to be sorted by column. Different from the original implementation the bool parameter is simply ignored! Sorting happens only ascending. If column is -1, sorting is disabled. */ virtual void setSorting ( int column, bool increasing = TRUE ); /** Inserts a new anagram. A new AnListViewItem will be created each time this method is called. This is the implementation for the method defined in the interface AnCallback. */ virtual void newAnagr(Anagr *a); public slots: /** Ought to be called each time a new item is selected. It (the given item) will then be marked as *read*. */ void mySelection(QListViewItem *); /** Cleans this anagram list, i.e. calls clean(), i.e. deletes all the items. */ void deleteAnList(); /** Guess what this one does. */ void disableSorting(); void enableSorting(); /** This is to be called when the right button is pressed. The arguments are the relevant QListViewItem (may be 0), the point in global coordinates and the relevant column. */ void rightClickOnItem(QListViewItem *, const QPoint &, int); /** To be called when return was pressed during an item was selected. */ void returnPressed(QListViewItem *); protected: /** Processes mouse move events on behalf of the viewed widget. Reimplemented from @ref QListView. */ virtual void contentsMousePressEvent ( QMouseEvent * e ); private: /** These are the pixmaps which are to appear in the items, for the corresponding states... */ QPixmap *pm_read; QPixmap *pm_unread; QPixmap *pm_marked; QPixmap *pm_unmarked; /** The popup menu which is used to change one word's worthvalue. */ QPopupMenu *valuePopupMenu; /** Needed for the implementation of the popup menu. */ static const int worthZeroIndex; /** The column number this list is sorted after. */ int sortColumn; }; #endif // ANLISTVIEW_H --- NEW FILE: anlistviewitem.cpp --- /* anlistviewitem.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include <anlistviewitem.h> const int AnListViewItem::unreadColumn=0; const int AnListViewItem::worthColumn=1; const int AnListViewItem::markedColumn=2; const int AnListViewItem::firstWordColumn=3; AnListViewItem::AnListViewItem(AnListView * parent) : QListViewItem(parent) {} AnListViewItem::AnListViewItem(Anagr * a, AnListView * parent) : QListViewItem(parent) { anagr=a; pm_unread=parent->pm_unread; pm_read=parent->pm_read; pm_unmarked=parent->pm_unmarked; pm_marked=parent->pm_marked; } AnListViewItem::~AnListViewItem() { delete anagr; } QString AnListViewItem::key(int column, bool ascending) const { switch (column) { case unreadColumn : // unread anagrams to be shown before read ones return anagr->getUnread() ? QString("a") : QString("b"); case worthColumn : { return QString( QChar(128 - anagr->getWorth()) ); case markedColumn : // marked anagrams to be shown before unmarked ones return anagr->getMarked() ? QString("a") : QString("b"); } default: tmpString.setNum(anagr->count() ); tmpString.append( (char)(128 - anagr->getWorth()) ); tmpString.append(text(column)); return tmpString; }; }; QString AnListViewItem::tmpString=QString(); QString AnListViewItem::text(int column) const { if (anagr!=0l) switch (column) { case unreadColumn : return ""; case worthColumn : { tmpString.setNum(anagr->getWorth() ); return tmpString; } case markedColumn : return ""; default: if ( (int)anagr->count() > column - firstWordColumn) return *(anagr->at(column - firstWordColumn)); else return ""; } else return QString(); }; const QPixmap * AnListViewItem::pixmap( int col ) const { if (anagr!=0l) switch (col) { case unreadColumn : return (anagr->getUnread() ) ? pm_unread : pm_read; case markedColumn : return (anagr->getMarked() ) ? pm_marked : pm_unmarked; default: return 0l; } else return 0l; } // void // AnListViewItem::startDragging() // { // QString result; // for (LangStringAbstractListIter i = anagr->begin(); // i != anagr->end() ; i++ ) // result+=" "+*(*i); // QDragObject *d = new QTextDrag( result ); // d->dragCopy(); // // do NOT delete d. // } --- NEW FILE: anlistviewitem.h --- #ifndef ANLISTVIEWITEM_H #define ANLISTVIEWITEM_H #ifdef HAVE_CONFIG_H #include <config.h> #endif /* anlistviewitem.h QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include <qlistview.h> #include <qmessagebox.h> #include <qpixmap.h> //#include <qdragobject.h> #include "anlistview.h" #include "anagr.h" /** The items which show a single anagram in the AnListView. Here it is defined how they are shown... */ class AnListViewItem : public QListViewItem { //Q_OBJECT friend class AnListView; public: /** Default Constructor */ AnListViewItem(AnListView *parent = 0); /** Constructor which already gets the anagram which this item should show. */ AnListViewItem(Anagr *a, AnListView *parent = 0); /** default destructor */ virtual ~AnListViewItem(); /** Returns a key that can be used for sorting by column column. Overrides the default implementation...*/ virtual QString key( int column, bool ascending=FALSE ) const; /** Returns the text which belongs to column column - this is not necessarily an existing QString, e.g. the worth-value will be converted on-the-fly to a string. */ virtual QString text( int column ) const; /** Returns a pointer to the pixmap for column, or a null pointer if there is no pixmap for column. */ virtual const QPixmap * pixmap( int ) const; /** Is this anagram marked? */ bool getMarked() { return anagr->getMarked(); }; /** Returns a pointer to the anagram this Item shows. */ Anagr * getAnagr() { return anagr; }; // public slots: //void startDragging(); private: /** The anagram this item should show. */ Anagr *anagr; /** This constant is the index of the column which shows the first word. The other constants are the indexes of the corresponding columns. */ static const int firstWordColumn; static const int unreadColumn; static const int worthColumn; static const int markedColumn; /** a temporary string when a numeric value is returned by key(). */ static QString tmpString; const QPixmap *pm_unread; const QPixmap *pm_read; const QPixmap *pm_unmarked; const QPixmap *pm_marked; }; #endif // ANLISTVIEWITEM_H --- NEW FILE: anstring.cpp --- /* anstring.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include <anstring.h> AnString::AnString() : LangString() { myCharString = new AnTmpString(); } AnString::AnString( const QString s ): LangString(s) { myCharString = new AnTmpString( charString ); } AnString::~AnString() { delete myCharString; } void AnString::runAnagrs( LangStringList *dict, AnCallback *p, int recursLeft, int minRecurs, long int linesLeft) { // build one of these temporary strings from the 8bit representation // call the derived method from AnAbstract myCharString->anagrs( dict->begin(), dict->end(), p, recursLeft, minRecurs, linesLeft); }; bool AnString::inString( const LangString * check ) { return myCharString->inString( check ); }; --- NEW FILE: anstring.h --- #ifndef ANSTRING_H #define ANSTRING_H #ifdef HAVE_CONFIG_H #include <config.h> #endif /* anstring.h QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include <qlist.h> #include "langstring.h" #include "ancallback.h" #include "antmpstring.h" /** @short The representation of the search word The Searchword is one single real language's word, so it *is* an LangWord which lead me to deriving it from LangWord. The only addition is that it provides the method runAnagrs() which invokes the anagram search for this word. */ class AnString : public LangString { // for access to the charString; friend class AnTmpString; public: /** Constructs a null string. */ AnString(); /** Constructs an implicitly-shared copy of s. */ AnString( const QString s ); virtual ~AnString(); /** Searches for all the anagrams which can be built from this string. This ought to be called in a seperate thread. Each new Anagram calls the function newAnagr() in the AnCallback object *p. It recursivly calls the method @ref anagrs () which is derived from class AnAbstract. @param dict Iterator for the Wordlist from the dictionary. The iterator is left unchanged. @param p The callback object in which the method newAnagr() is to be called. @param recursLeft That many words may appear in the anagram as maximum. @param minRecurs That many word should appear in the anagram as minimum. @param linesLeft Go on only for that many anagrams in total. */ void runAnagrs( LangStringList *dict, AnCallback *p, int recursLeft=0, int minRecurs=0, long int linesLeft=0); /** checks the characters of *check whether they can be found in this object. Returns FALSE if not all letters in *check appear in this object. */ bool inString( const LangString * check); protected: AnTmpString * myCharString; }; #endif // ANSTRING_H --- NEW FILE: antmpstring.cpp --- /* antmpstring.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include "antmpstring.h" #include <time.h> long int AnTmpString::prof1=0; long int AnTmpString::prof2=0; long int AnTmpString::prof3=0; long int AnTmpString::prof4=0; long int AnTmpString::prof5=0; long int AnTmpString::prof6=0; long int AnTmpString::prof7=0; long int AnTmpString::prof8=0; long int AnTmpString::prof9=0; long int AnTmpString::prof10=0; char * AnTmpString::profileInfo() { QCString a(255); // a.sprintf("1:%ld; 2:%ld; 3:%ld; 4:%ld; 5:%ld; 6:%ld; 7:%ld; 8:%ld; 9:%ld; 10:%ld;", // prof1, prof2, prof3, prof4, prof5, prof6, prof7, prof8, // prof9, prof10); a.sprintf("1:%ld; 2:%ld; 3:%ld; 8: %ld; 9:%ld; 10:%ld; 4:%.2lf; 5:%.2lf; 6:%.2lf; 7:%.2lf;", prof1, prof2, prof3, prof8, prof9, prof10, ((double)prof4)/CLOCKS_PER_SEC, ((double)prof5)/CLOCKS_PER_SEC, ((double)prof6)/CLOCKS_PER_SEC, ((double)prof7)/CLOCKS_PER_SEC); return a.data(); }; char AnTmpString::rest_CharBuf[128]; AnTmpString::AnTmpString() : QCString() { // AFAIK this one is not used } AnTmpString::AnTmpString( const QString s ): QCString(s.latin1()) { // AFAIK this one is not used buildMyIntMask(); } AnTmpString::AnTmpString( const QCString &s ): QCString(s) { // AFAIK this one is not used buildMyIntMask(); } AnTmpString::AnTmpString( const char *str ): QCString(str) { buildMyIntMask(); } inline AnTmpString & AnTmpString::operator=( const char *str ) { return (AnTmpString&)duplicate( str, strlen(str)+1 ); } AnTmpString::~AnTmpString() { } long int AnTmpString::anagrs( const LangStringListIter & dictS, const LangStringListIter & dictE, AnCallback *p, int recursLeft, int minRecurs, long int linesLeft) { // the computing time is consumed approximately // * 20% in the inString()-calls // * 20% in the rest()-calls clock_t start4C = clock(), end4C; long int linesFound=0; callbackPointer = p; AnTmpString *restchars = 0l; // new iterator for the one given as parameter; this means that the // given one is left unchanged LangStringListIter it = dictS; LangString * myLookup; // march through dict for ( ; ( it != dictE ) && (linesLeft>0) ; it++ ) { myLookup = *it; // found one matching word? if ( ( (myLookup->bitmask & bitmask) == myLookup->bitmask ) && inString( myLookup ) ) { // any more chars left? restchars = rest( myLookup, restchars ); if ( restchars->isEmpty() ) { // if not, emit this "signal" that we found an anagram. // but only if we want an anagram with a single word if (minRecurs<=1) { p->newAnagr( new Anagr(myLookup) ); linesLeft--; linesFound++; }; } else if ( recursLeft>1 ) { // if yes, continue the search recursivly lookup = myLookup; end4C = clock(); long int i= restchars->anagrs(it, dictE, this, recursLeft-1, minRecurs-1, linesLeft); start4C += clock() - end4C; linesLeft -= i; linesFound += i; }; // recursLeft>1 //restchars->isEmpty() } // inString(lookup) } // iteration through dict AND linesLeft>0 clock_t start5C = clock(); delete(restchars); prof5 += clock() - start5C; prof4 += (clock() - start4C); return linesFound; } // anagrs() void AnTmpString::newAnagr( Anagr *a ) { a->push_back( lookup ); callbackPointer->newAnagr( a ); }; bool AnTmpString::inString( const LangString * check ) { if ( (check->bitmask & bitmask) != check->bitmask ) return FALSE; char *thisCnt = data(), *checkCnt = check->charString.data(); const char *stopThisCnt = thisCnt + length(), *stopCheckCnt = checkCnt + check->charString.length(); if ( stopCheckCnt-checkCnt > stopThisCnt-thisCnt ) return FALSE; char checkChar, thisChar; // search every char out of *check* in *this* do { checkChar = *checkCnt; thisChar = *thisCnt; if ( checkChar == thisChar ) { checkCnt++; thisCnt++; } else if ( checkChar > thisChar ) { thisCnt++; } else { // *check has a letter which is not in *this return( FALSE ); } } while ( ( thisCnt < stopThisCnt ) && ( checkCnt < stopCheckCnt ) ); // if we checked all letters in *check then all letters have been // in *this ! return( checkCnt == stopCheckCnt ); }; AnTmpString * AnTmpString::rest( const LangString *check, AnTmpString * res ) { // The returned String is empty (isEmpty()==true), if and only if // *check and *this consist of the same letters // If, on the other hand, *check has a letter which is not in // *this, then the result is undefined!! Be careful to call // inString() before! char *thisCnt = data(), *checkCnt = check->charString.data(); const char *stopThisCnt = thisCnt + length(), *stopCheckCnt = checkCnt + check->charString.length(); char thisChar, checkChar, *storedChars = rest_CharBuf; do { checkChar = *checkCnt; thisChar = *thisCnt; if ( checkChar == thisChar ) { // This *checkChar seems to exist in *this, so don't store // it in the rest. // approx. 60% of all cases checkCnt++; } else if ( checkChar > thisChar ) { // this *checkChar is not in *this because in *check there // is a greater letter. Store it as rest. // approx. 40% of all cases *storedChars = thisChar; storedChars++; }; thisCnt++; } while ( ( thisCnt < stopThisCnt ) && ( checkCnt < stopCheckCnt ) ); if ( checkCnt == stopCheckCnt ) { // 70% of all while ( thisCnt < stopThisCnt ) { *storedChars = *thisCnt; storedChars++; thisCnt++; } }; *storedChars='\0'; if ( res == 0l ) { res = new AnTmpString( rest_CharBuf ); } else { *res = rest_CharBuf; res->buildMyIntMask(); }; return res; }; void AnTmpString::buildMyIntMask() { char chr; const char *cnt=0, *thislength=data()+length(); FOURBYTE mask=0; for (cnt=data(); cnt<thislength ; cnt++) { chr=*cnt; if ((chr >= 'a') && (chr <= 'z')) mask |= 1 << (FOURBYTE) (chr - 'a'); }; bitmask=mask; }; --- NEW FILE: antmpstring.h --- #ifndef ANTMPSTRING_H #define ANTMPSTRING_H #ifdef HAVE_CONFIG_H #include <config.h> #endif /* antmpstring.h QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ class AnTmpString; #include <qstring.h> #include <qregexp.h> #include <qcstring.h> #include "myconfig.h" #include "ancallback.h" #include "langstring.h" /** @short The representation of temporary words The representation of the temporary words, e.g., collations of those letters which remain when one language's word was found in the searchword. This contains all anagram-relevant functions as members. */ class AnTmpString : public QCString, public AnCallback { friend class LangString; public: /** Constructs a null string. */ AnTmpString(); /** Constructs a shared (?) copy of s. */ AnTmpString( const QString s ); AnTmpString( const QCString &s ); AnTmpString( const char * str ); AnTmpString &operator=( const char *str ); // deep copy virtual ~AnTmpString(); /** This invokes the recursive search for anagrams. It returns *only* the number of found anagrams. The anagrams itself are returned via the newAnagr() method of the AnCallback interface. According to the values of recursLeft and linesLeft, this can really take a *long* time. @param dictS Iterator for the Wordlist from the dictionary, pointing to the start of it. The iterator is left unchanged. @param dictE Iterator for the Wordlist from the dictionary, pointing to the end of it. The iterator is left unchanged. @param p The pointer to the object which wants to be notified that I found a new anagram @param recursLeft That many words may appear in the anagram as maximum. @param minRecurs That many word should appear in the anagram as minimum. @param linesLeft Go on only for that many anagrams in total. */ long int anagrs( const LangStringListIter & dictS, const LangStringListIter & dictE, AnCallback *p, int recursLeft=0, int minRecurs=0, long int linesLeft=0); /** checks the characters of *check whether they can be found in this object. Returns FALSE if not all letters in *check appear in this object. */ bool inString( const LangString * check); /** Returns a new AnTmpString which consists of the letters of this object minus the ones of *check. If not all letters of *check appear in this string, the result is not exactly defined, so use it only if inString() returns TRUE! If all letters of *check appear in this one it returns a string of zero length. If any char of *check does NOT appear in *this, it returns NULL - so be aware to catch this exceptional case. @param check The String whose characters should be "subtracted" from this object. @param res If you already have an AnTmpString object which may be overridden, then we could save really a lot of time in using this instead of creating a new one. */ AnTmpString *rest( const LangString * check, AnTmpString * res = 0l ); /** This is the callback function which is called by the recursivly invoked anagram search. To be implemented in the derived classes */ virtual void newAnagr( Anagr *a ); static long int prof1; static long int prof2; static long int prof3; static long int prof4; static long int prof5; static long int prof6; static long int prof7; static long int prof8; static long int prof9; static long int prof10; static char * profileInfo(); protected: /** The language's word which, in case there was recursivly found any anagram, is added to this anagram. */ LangString *lookup; /** The pointer to the object which wants to get notified whether I found a new angram. */ AnCallback *callbackPointer; /** Taken from wordplay-7.22 by Evans A Criswell Builds a bitmask; a 1 for each character of the alphabet found in the word. Builds this for the actual object. */ void buildMyIntMask(); FOURBYTE bitmask; private: // the buffer for the rest() method static char rest_CharBuf[]; }; #endif // ANTMPSTRING_H --- NEW FILE: generalpage.cpp --- /* generalpage.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include <generalpage.h> //#include <generalpage.moc> GeneralPage::GeneralPage(QWidget *parent, const char *name) : QWidget(parent, name) { // no edits yet wasEdited=FALSE; // 8 Rows, 3 Columns, Border=16 Pixel QGridLayout *grid = new QGridLayout(this,8,3,16); // a label for the title QLabel *l = new QLabel("Anagramm-Suchmaschine", this); l->setMinimumSize(l->sizeHint()); // void addMultiCellWidget ( QWidget *, int fromRow, int toRow, int // fromCol, int toCol, int align = 0 ) grid->addMultiCellWidget(l,0,0,0,2,AlignCenter); QFrame *sep = new QFrame(this); sep->setFrameStyle(QFrame::HLine | QFrame::Raised); grid->addMultiCellWidget(sep,1,1,0,2); // create a line edit field, add it to this page searchEdit = new QLineEdit(this); // addWidget(QWidget *, int row, int col, int align = 0) grid->addWidget(searchEdit, 2, 1); l = new QLabel(searchEdit, "Suchwort:", this); l->setMinimumSize(l->sizeHint()); grid->addWidget(l,2,0); sep = new QFrame(this); sep->setFrameStyle(QFrame::HLine | QFrame::Raised); grid->addMultiCellWidget(sep,3,3,0,2); // The maximum amount of words in one anagram // int minValue, int maxValue, int step = 1, QWidget * parent QSpinBox *mWords = new QSpinBox(1, 4, 1, this); mWords->setValue(3); maxWords = mWords; grid->addWidget(mWords, 4, 1); l = new QLabel(mWords, "Max. Worte", this); l->setMinimumSize(l->sizeHint()); grid->addWidget(l,4,0); connect(mWords, SIGNAL(valueChanged( int )), SLOT(valueChanged( int )) ); // The maximum amount of words in one anagram QSpinBox *mAnagrs = new QSpinBox(1, 1000000, 500, this); mAnagrs->setValue(10000); maxAnagrs = mAnagrs; grid->addWidget(mAnagrs, 5, 1); l = new QLabel(mAnagrs, "Max. Anagramme", this); l->setMinimumSize(l->sizeHint()); grid->addWidget(l,5,0); connect(mAnagrs, SIGNAL(valueChanged( int )), SLOT(valueChanged( int )) ); grid->setColStretch(0,1); grid->setColStretch(1,2); grid->setColStretch(2,1); grid->setRowStretch(7,1); grid->activate(); } GeneralPage::~GeneralPage() { } bool GeneralPage::edited() { return wasEdited || searchEdit->edited(); } void GeneralPage::valueChanged(int value) { wasEdited=TRUE; }; void GeneralPage::setEdited(bool b) { wasEdited=b; searchEdit->setEdited(b); } --- NEW FILE: generalpage.h --- #ifndef GENERALPAGE_H #define GENERALPAGE_H #ifdef HAVE_CONFIG_H #include <config.h> #endif /* generalpage.h QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ class GeneralPage; #include <qwidget.h> #include <qlayout.h> #include <qlineedit.h> #include <qlabel.h> #include <qspinbox.h> #include <qframe.h> /** Contains the main dialog, where the searchword is entered and the options (how many anagrams) are set. */ class GeneralPage : public QWidget { Q_OBJECT public: /** Default constructor */ GeneralPage(QWidget *parent = 0, const char *name = 0); /** Default destructor */ virtual ~GeneralPage(); /** The edit field for the searchword */ QLineEdit *searchEdit; /** Maximum number of words in one anagram */ QRangeControl *maxWords; /** Number of maximum anagrams */ QRangeControl *maxAnagrs; /** True, if anything in this widget has been edited */ bool edited(); void setEdited( bool b ); public slots: void valueChanged( int value ); private: bool wasEdited; }; #endif // GENERALPAGE_H --- NEW FILE: langstring.cpp --- /* langstring.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include "langstring.h" LangString::LangString() : LangStringAbstract() { worthValue = 0; bitmask = 0; charString = QCString(); } LangString::LangString( const QString s, int w ): LangStringAbstract(s) { worthValue=w; buildCharString(); } LangString::LangString( const QCString &s, int w ): LangStringAbstract(s) { worthValue=w; buildCharString(); } LangString::~LangString() {} LangStringList * LangString::expand() { LangStringList *x=new LangStringList; x->push_back(this); return x; }; QDataStream & operator<< (QDataStream & s, const LangString & str) { // write this string. Format: [ int worthValue, int length(), // (Q_INT32) data... ] return s << str.getWorth() << QString(str); }; QTextStream & operator<< (QTextStream & s, const LangString & str) { // simply write the word in latin-1-characters, force an // end-of-line afterwards. The worthValue is silently discarded! const char *c = str.latin1(); //char i = (char) str.getWorth(); //i+='A'; return s << c << endl; //return s << i << c << endl; }; LangString * LangString::readDataStream( QDataStream &s ) { QString tmp = ""; int i; s >> i; s >> tmp; LangString * result = new LangString( tmp, i ); return result; }; LangString * LangString::readTextStream( QTextStream &s ) { //char i; //s >> i; //i -= 'A'; //LangString * result = new LangString( s.readLine(), i ); LangString * result = new LangString( s.readLine() ); result->lower(). replace( QRegExp("\\s+"), "" ). replace( QRegExp("ä"), "ae" ). replace( QRegExp("ö"), "oe" ). replace( QRegExp("ü"), "ue" ). replace( QRegExp("ß"), "ss" ); return result; }; void LangString::buildCharString() { QCString tmp = local8Bit(); sort_QCString( tmp ); charString = tmp; buildMyIntMask(); } void LangString::buildMyIntMask() { char chr; const char *cnt=0, *thislength=charString.data()+charString.length();; FOURBYTE mask=0; for (cnt=charString.data(); cnt<thislength ; cnt++) { chr=*cnt; if ((chr >= 'a') && (chr <= 'z')) mask |= 1 << (FOURBYTE) (chr - 'a'); }; bitmask=mask; }; void LangString::sort_QCString( QCString & c ) { int n = c.length(); for( int i = n/2 - 1; i>=0; i-- ) sort_QCString_reheap( c, i, n-1 ); for( int i = n-1; i>0; i-- ) { char swap = c.at(0); c.at(0) = c.at(i); c.at(i) = swap; sort_QCString_reheap( c, 0, i-1 ); }; }; void LangString::sort_QCString_reheap( QCString & c, int i, int k ) { int j = i; bool done = FALSE; while (!done) { int son =0; if ( 2*j+1 > k) done = TRUE; if (!done) { if (2*j+2 <= k ) if ( c.at(2*j+1) < c.at(2*j+2) ) son = 2*j+2; else son = 2*j+1; else son = 2*j+1; // swap with c.at(son) if ( c.at(j) < c.at(son) ) { char swap = c.at(j); c.at(j) = c.at(son); c.at(son) = swap; j = son; } else done = TRUE; } } }; --- NEW FILE: langstring.h --- #ifndef LANGSTRING_H #define LANGSTRING_H #ifdef HAVE_CONFIG_H #include <config.h> #endif /* anstring.h QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ class LangString; //#include <pthread.h> #include <qstring.h> #include <qcstring.h> #include <qdatastream.h> #include <qtextstream.h> #include <qregexp.h> #include <vector> using namespace std; //#include <qmessagebox.h> #include "myconfig.h" #include "langstringabstract.h" #include "anagr.h" //#include "anabstract.h" //#include "ancallback.h" //#include "antmpstring.h" typedef vector<LangString*> LangStringList; typedef LangStringList::iterator LangStringListIter; /** @short The representation of the dictionary words The representation of the dictionary words. The interface is given in LangStringAbstract so this is the corresponding implementation. */ class LangString : public LangStringAbstract { // for access to the charString; friend class AnTmpString; /** Writes a string to a data stream. */ friend QDataStream & operator<< (QDataStream & s, const LangString & str); /** Writes a string to a text stream. */ friend QTextStream & operator<< (QTextStream & s, const LangString & str); public: /** Constructs a null string. */ LangString(); /** Constructs an implicitly-shared copy of s. @param w The worth value @param sorted TRUE, if this word's letters are already alphabetically sorted. */ LangString( const QString s, int w=0 ); LangString( const QCString &s, int w=0 ); virtual ~LangString(); /** Reads a new LangString from a DataStream and returns the reference to it. */ static LangString * readDataStream( QDataStream & s); /** Reads a new LangString from a TextStream and returns the reference to it. */ static LangString * readTextStream( QTextStream & s); /** True, if this word can be expanded via ispell-macros. Not yet implemented. */ virtual bool isExpandable() { return FALSE; }; /** Return a List of all Strings this one can be expanded to. Not yet implemented. */ virtual LangStringList *expand(); /** True, if this word matches the given one (e.g., female noun to female adjective). Not yet implemented. @param a the word to check against the current object. */ virtual bool matchWith( LangString *a ) { return TRUE; }; /** True, if this word matches all given ones (e.g., female noun to female adjective). Not yet implemented. @param a the wordlist to check against the current object. */ virtual bool matchAll( LangStringList * a) { return TRUE; }; /** True, if this word matches at least one of the given ones. (e.g., female noun to female adjective). Not yet implemented. @param a the wordlist to check against the current object. */ virtual bool matchOne( LangStringList * a) { return TRUE; }; protected: /** For the inString() function, consideration of the unicode characters is far too slow. So we built a 8 bit representation via this function. This method also calls buildMyIntMask(). */ void buildCharString(); /** The above mentioned 8 bit representation. */ QCString charString; /** Taken from wordplay-7.22 by Evans A Criswell Builds a bitmask; a 1 for each character of the alphabet found in the word. Builds this for the actual object. */ void buildMyIntMask(); FOURBYTE bitmask; /** A heapsort implementation, working only on QCString's. */ static void sort_QCString( QCString & c ); static void sort_QCString_reheap( QCString & c, int i, int k); }; #endif // LANGSTRING_H --- NEW FILE: langstringabstract.cpp --- /* langstringabstract.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include "langstringabstract.h" LangStringAbstract::LangStringAbstract() {}; LangStringAbstract::LangStringAbstract( const QString s ) : QString(s) {}; LangStringAbstract::~LangStringAbstract() {}; --- NEW FILE: langstringabstract.h --- #ifndef LANGSTRINGABSTRACT_H #define LANGSTRINGABSTRACT_H #ifdef HAVE_CONFIG_H #include <config.h> #endif /* langstringabstract.h QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include <qstring.h> #include <qdatastream.h> #include <qtextstream.h> #include <vector> using namespace std; /** @short The interface of the dictionary words The interface part of the dictionary words which represent that they are a real language's word. For usage this class is derived together with the one that contains the methods needed for anagram search. */ class LangStringAbstract : public QString { public: /** Constructs a null string. */ LangStringAbstract(); LangStringAbstract( const QString s ); virtual ~LangStringAbstract(); /** Reads a new AnString from a DataStream and returns the reference to it. */ static LangStringAbstract * readDataStream( QDataStream & s); /** Reads a new AnString from a TextStream and returns the reference to it. */ static LangStringAbstract * readTextStream( QTextStream & s); /** Returns the value which indicates the good words */ int getWorth() const { return worthValue; }; /** sets the value which indicates the good words. @param i the new value */ void setWorth( int i ) { worthValue=i; }; protected: int worthValue; }; typedef vector<LangStringAbstract*> LangStringAbstractList; typedef LangStringAbstractList::iterator LangStringAbstractListIter; #endif // LANGSTRINGABSTRACT_H --- NEW FILE: main.cpp --- /* main.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include"qanagram.h" #include<qapp.h> int main(int argc, char *argv[]) { // verify FOURBYTE-length used for charmask if ( (8*sizeof(FOURBYTE)) < 32) { fprintf( stderr, "Compilerfehler! Sizeof(FOURBYTE)=%d ist zu klein.\n", sizeof(FOURBYTE)); exit(1); }; QApplication app(argc, argv); QAnagram widget; app.setMainWidget(&widget); //app.setTopWidget(&widget); widget.show(); return app.exec(); } --- NEW FILE: myconfig.h --- /** All the global definitions */ #ifndef __MYCONFIG_H__ #define __MYCONFIG_H__ /** This type has to have at least 4 bytes, otherwise this programm will refuse to work. */ #define FOURBYTE long int #endif --- NEW FILE: qanagram.cpp --- /* qanagram.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include "qanagram.h" //#include "qanagram.moc" #include <qkeycode.h> //#include <kfm.h> //#include <kiconloader.h> QAnagram::QAnagram() : QMainWindow() { QAnagramWidget * view=new QAnagramWidget(this); // tell the KTMainWindow that this is indeed the main widget //setView(view); setCentralWidget(view); //setGeometry(400, 600, 0, 0); // create a DropZone over the entire window and connect it // to the slotDropEvent //connect(new KDNDDropZone(this, DndURL), // SIGNAL(dropAction(KDNDDropZone *)), // SLOT(slotDropEvent(KDNDDropZone *))); // create a popup menu -- in this case, the File menu QPopupMenu* p = new QPopupMenu(this); p->insertItem("Wortliste öffnen", view, SLOT(loadWordListDialog()), CTRL+Key_O); p->insertItem("Wortliste speichern", view, SLOT(saveWordListDialog()) ); p->insertItem("Markierte Anagramme speichern", view, SLOT(saveAnListDialog()), CTRL+Key_S); p->insertItem("Alle Anagramme speichern", view, SLOT(saveAllAnListDialog()) ); p->insertSeparator(); p->insertItem("Schließen", qApp, SLOT(quit()), CTRL+Key_Q); // put our newly created menu into the main menu bar menuBar()->insertItem("Datei", p); menuBar()->insertSeparator(); // KDE will generate a short help menu automagically //p = kapp->getHelpMenu(TRUE, // tr("QAnagram --- Short Description\n\n" // "(c) 1999 Christian Stimming \n" // "Long Description")); //menuBar()->insertItem(i18n("&Help"), p); // insert a quit button. the icon is the standard one in KDE // toolBar()->insertButton(Icon("exit.xpm"), // icon // 0, // button id // SIGNAL(clicked()), // action // kapp, SLOT(quit()), // result // i18n("Exit")); // tooltip text // we do want a status bar //enableStatusBar(); statusBar(); } QAnagram::~QAnagram() { } /*void QAnagram::slotDropEvent(KDNDDropZone *zone) { // the user dropped something on our window. QString url, temp_file; // get the URL pointing to the dropped file url = zone->getURLList().first(); // let KFM grab the file if (KFM::download(url, temp_file)) { // 'temp_file' now contains the absolute path to a temp file // with the contents of the the dropped file. You would presumably // handle it right now. // after you are done handling it, let KFM delete the temp file KFM::removeTempFile(temp_file); } } void QAnagram::saveProperties(KConfig *config) { // the 'config' object points to the session managed // config file. anything you write here will be available // later when this app is restored // e.g., config->writeEntry("key", var); } void QAnagram::readProperties(KConfig *config) { // the 'config' object points to the session managed // config file. this function is automatically called whenever // the app is being restored. read in here whatever you wrote // in 'saveProperties' // e.g., var = config->readEntry("key"); }*/ --- NEW FILE: qanagram.h --- #ifndef QANAGRAM_H #define QANAGRAM_H #ifdef HAVE_CONFIG_H #include <config.h> #endif /* qanagram.h QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ //#include <kapp.h> //#include <ktmainwindow.h> #include <qapplication.h> #include <qmainwindow.h> #include <qmenubar.h> #include "qanagramwidget.h" /** * This class serves as the main window for QAnagram. It handles the * menus, toolbars, and status bars. * * @short Main window class * @author Christian Stimming <sti...@tu...> * @version 0.2 */ class QAnagram : public QMainWindow { Q_OBJECT public: /** * Default Constructor */ QAnagram(); /** * Default Destructor */ virtual ~QAnagram(); private: QAnagramWidget *view; }; #endif // QANAGRAM_H --- NEW FILE: qanagramwidget.cpp --- /* qanagramwidget.cpp QAnagram - an anagram seach engine Copyright (C) 1999 Christian Stimming <sti...@tu...> See file COPYING for copyright information. */ #include <qanagramwidget.h> //#include <qanagramwidget.moc> int QAnagramWidget::maxWordsInAnagr=6; // Use this as filename for the wordlist. QString QAnagramWidget::wordListFileName=QString("./words.awl"); QAnagramWidget::QAnagramWidget(QWidget *parent, const char *name) : QWidget(parent, name) { // main layoutmanager is a vertical box layout QVBoxLayout * mainLayout = new QVBoxLayout(this); // main content is a stack of widgets widgetStack = new QWidgetStack(this); mainLayout->addWidget(widgetStack, 100); // create the view of anagrams, add it to widget stack anagrList = new AnListView(widgetStack, maxWordsInAnagr); widgetStack->addWidget(anagrList, anagrID); connect(this, SIGNAL(cleanAnList()), anagrList, SLOT(deleteAnList()) ); // create the view of words, add it to the widget stack WordListView *wordList = new WordListView(widgetStack); widgetStack->addWidget(wordList, wordID); connect(this, SIGNAL(cleanWordList()), wordList, SLOT(deleteWordList()) ); connect(this, SIGNAL(appendWordList(LangStringAbstract *)), wordList, SLOT(appendWordList(LangStringAbstract *)) ); // create a new widget from our own page widget and add it to the // widget stack generalPage = new GeneralPage(this); widgetStack->addWidget(generalPage, editID); widgetStack->raiseWidget(editID); connect(generalPage->searchEdit, SIGNAL(returnPressed()), SLOT(editFinished()) ); // Adjust the maximum number of anagrams generalPage->maxWords->setRange(1, maxWordsInAnagr); // the lower part of the main window should be a horizontal box layout mainLayout->addSpacing(3); mainLayout->addStretch(5); QHBoxLayout * bLayout = new QHBoxLayout(mainLayout); // for each action, add an appropriate button in the horizontal layout QPushButton * bSearch = new QPushButton("Suchwort", this); bLayout->addWidget(bSearch); bLayout->addSpacing(5); connect(bSearch, SIGNAL(pressed()), SLOT(editPressed()) ); QPushButton * bWList = new QPushButton("Wortliste", this); connect(bWList, SIGNAL(pressed()), SLOT(wListPressed()) ); bLayout->addWidget(bWList); bLayout->addSpacing(5); QPushButton * bAnagr = new QPushButton("Anagramme", this); connect(bAnagr, SIGNAL(pressed()), SLOT(anagrPressed()) ); bLayout->addWidget(bAnagr); // activate the main layout manager. mainLayout->activate(); connect(this, SIGNAL(raiseWidget(int)), widgetStack, SLOT(raiseWidget(int)) ); connect(this, SIGNAL(raiseWidget(int)), SLOT(widgetRaised(int)) ); // No searchword yet. searchword=0l; // load the word list loadWordList(wordListFileName); parent->adjustSize(); } QAnagramWidget::~QAnagramWidget() { if (!allDict.empty()) { for(LangStringListIter j = allDict.begin(); j != allDict.end(); j++) delete *j; }; } void QAnagramWidget::loadWordListDialog() { QString s( QFileDialog::getOpenFileName(wordListFileName) ); if ( s.isNull() ) return; wordListFileName = s; loadWordList(wordListFileName); } void QAnagramWidget::loadWordList(const QString &s) { if (!allDict.empty()) { emit(raiseWidget(editID)); emit(cleanAnList()); emit(cleanWordList()); generalPage->setEdited(TRUE); //allDict.clear(); for(LangStringListIter j = allDict.begin(); j != allDict.end(); j++) delete *j; }; // read the dictionary from disk QFile f( s ); if (! f.open( IO_ReadOnly ) ) { //return TRUE if successful QMessageBox::information( this, "QAnagram", "Unable to find the file \"" + s + "\".\n" "Nothing will happen." ); } else { // open file for reading if ( s.find( QRegExp("\\.awl$") ) != -1 ) { // our anagram-word-list format? yes, use data stream QDataStream stream( &f ); while( !stream.atEnd() ) { allDict.push_back( LangString::readDataStream(stream) ); }; } else { // no, only ascii-text, use text stream QTextStream stream( &f ); while( !stream.atEnd() ) { allDict.push_back( LangString::readTextStream(stream) ); }; } f.close(); } } void QAnagramWidget::saveWordListDialog() { QString s( QFileDialog::getSaveFileName(wordListFileName) ); if ( s.isNull() ) return; saveWordList( s ); } void QAnagramWidget::saveWordList(const QString &s) { if ( allDict.empty() ) return; // save the dictionary to disk QFile f( s ); if (! f.open( IO_WriteOnly ) ) { //return TRUE if successful QMessageBox::information( this, "QAnagram", "Couldn't open the file \"" + s + "\" for writing.\nNothing will happen." ); } else { // open file for reading if ( s.find( QRegExp("\\.awl$") ) != -1 ) { // our anagram-word-list format? yes, use data stream QDataStream stream( &f ); // march through dict for ( LangStringListIter it = allDict.begin(); it != allDict.end() ; it++ ) stream << *(*it); } else { // no, only ascii-text, use text stream QTextStream stream( &f ); // march through dict for ( LangStringListIter it = allDict.begin(); it != allDict.end() ; it++ ) stream << *(*it); } f.close(); } } void QAnagramWidget::saveAnListDialog() { QString s( QFileDialog::getSaveFileName() ); if ( s.isNull() ) return; saveAnList( s ); } void QAnagramWidget::saveAllAnListDialog() { QString s( QFileDialog::getSaveFileName() ); if ( s.isNull() ) return; saveAnList( s, FALSE ); } void QAnagramWidget::saveAnList(const QString &s, bool onlyMarked) { if ( (!anagrList) || (anagrList->childCount()==0) ) return; QFile f( s ); if (! f.open( IO_WriteOnly ) ) { //return TRUE if successful QMessageBox::information( this, "QAnagram", "Couldn't open the file \"" + s + "\" for writing.\nNothing will happen." ); } else { // open file for writing QTextStream stream( &f ); // serialize using f stream << "Anagramme für: " << *searchword << endl; // Create an iterator and give the listview as argument QListViewItemIterator it( anagrList ); // iterate through all items of the listview for ( ; it.current(); ++it ) if ( (!onlyMarked) || ((AnListViewItem*) it.current())->getMarked() ) stream << *( (AnListViewItem*) it.current())->getAnagr(); f.close(); } } void QAnagramWidget::statusMessage(const QString &s) { ((QAnagram *)parent())->statusBar()->message(s); } void QAnagramWidget::editFinished() { if (generalPage->edited()) { newSearch(); generalPage->setEdited(FALSE); } emit(raiseWidget(anagrID)); } void QAnagramWidget::wListPressed() { if ( generalPage->edited()) editFinished(); emit(raiseWidget(wordID)); } void QAnagramWidget::editPressed() { emit(raiseWidget(editID)); } void QAnagramWidget::anagrPressed() { if ( generalPage->edited()) editFinished(); else emit(raiseWidget(anagrID)); } void QAnagramWidget::widgetRaised(int id) { switch (id) { case wordID: { QString tmp; tmp.setNum(wordDict.size()); if (searchword!=0l) statusMessage(*searchword + " - "+tmp+" Wort... [truncated message content] |
From: Christian S. <cs...@us...> - 2005-05-26 14:58:42
|
Update of /cvsroot/dtrag/qanagram/src/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4450/src/doc Log Message: Directory /cvsroot/dtrag/qanagram/src/doc added to the repository |
From: Christian S. <cs...@us...> - 2005-05-26 14:58:41
|
Update of /cvsroot/dtrag/qanagram/src/pics In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4450/src/pics Log Message: Directory /cvsroot/dtrag/qanagram/src/pics added to the repository |
From: Christian S. <cs...@us...> - 2005-05-26 14:58:12
|
Update of /cvsroot/dtrag/qanagram/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4237/src Log Message: Directory /cvsroot/dtrag/qanagram/src added to the repository |
From: Christian S. <cs...@us...> - 2005-05-26 14:58:07
|
Update of /cvsroot/dtrag/qanagram/m4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4237/m4 Log Message: Directory /cvsroot/dtrag/qanagram/m4 added to the repository |
From: Christian S. <cs...@us...> - 2005-05-26 14:54:54
|
Update of /cvsroot/dtrag/qanagram/qanagram/src/doc/en In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3324/qanagram/src/doc/en Removed Files: Makefile.am Log Message: Remove errornous duplicate --- Makefile.am DELETED --- |
From: Christian S. <cs...@us...> - 2005-05-26 14:54:54
|
Update of /cvsroot/dtrag/qanagram/qanagram/src/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3324/qanagram/src/doc Removed Files: Makefile.am Log Message: Remove errornous duplicate --- Makefile.am DELETED --- |
Update of /cvsroot/dtrag/qanagram/qanagram/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3324/qanagram/src Removed Files: .cvsignore Makefile.am anagr.cpp anagr.h ancallback.h anlistview.cpp anlistview.h anlistviewitem.cpp anlistviewitem.h anstring.cpp anstring.h antmpstring.cpp antmpstring.h generalpage.cpp generalpage.h langstring.cpp langstring.h langstringabstract.cpp langstringabstract.h main.cpp myconfig.h qanagram.cpp qanagram.h qanagramwidget.cpp qanagramwidget.h wordlistview.cpp wordlistview.h wordlistviewitem.cpp wordlistviewitem.h xpms.h Log Message: Remove errornous duplicate --- .cvsignore DELETED --- --- Makefile.am DELETED --- --- anagr.cpp DELETED --- --- anagr.h DELETED --- --- ancallback.h DELETED --- --- anlistview.cpp DELETED --- --- anlistview.h DELETED --- --- anlistviewitem.cpp DELETED --- --- anlistviewitem.h DELETED --- --- anstring.cpp DELETED --- --- anstring.h DELETED --- --- antmpstring.cpp DELETED --- --- antmpstring.h DELETED --- --- generalpage.cpp DELETED --- --- generalpage.h DELETED --- --- langstring.cpp DELETED --- --- langstring.h DELETED --- --- langstringabstract.cpp DELETED --- --- langstringabstract.h DELETED --- --- main.cpp DELETED --- --- myconfig.h DELETED --- --- qanagram.cpp DELETED --- --- qanagram.h DELETED --- --- qanagramwidget.cpp DELETED --- --- qanagramwidget.h DELETED --- --- wordlistview.cpp DELETED --- --- wordlistview.h DELETED --- --- wordlistviewitem.cpp DELETED --- --- wordlistviewitem.h DELETED --- --- xpms.h DELETED --- |
From: Christian S. <cs...@us...> - 2005-05-26 14:54:54
|
Update of /cvsroot/dtrag/qanagram/qanagram/m4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3324/qanagram/m4 Removed Files: Makefile.am acx_compile_warn.m4 as-scrub-include.m4 debugmode.m4 docpath.m4 os.m4 qt3.m4 searchfiles.m4 Log Message: Remove errornous duplicate --- Makefile.am DELETED --- --- acx_compile_warn.m4 DELETED --- --- as-scrub-include.m4 DELETED --- --- debugmode.m4 DELETED --- --- docpath.m4 DELETED --- --- os.m4 DELETED --- --- qt3.m4 DELETED --- --- searchfiles.m4 DELETED --- |
From: Christian S. <cs...@us...> - 2005-05-26 14:54:54
|
Update of /cvsroot/dtrag/qanagram/qanagram/src/pics In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3324/qanagram/src/pics Removed Files: Makefile.am Log Message: Remove errornous duplicate --- Makefile.am DELETED --- |
From: Christian S. <cs...@us...> - 2005-05-26 14:54:50
|
Update of /cvsroot/dtrag/qanagram/qanagram/src/doc/de In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3324/qanagram/src/doc/de Removed Files: Makefile.am Log Message: Remove errornous duplicate --- Makefile.am DELETED --- |
From: Christian S. <cs...@us...> - 2005-05-26 14:54:40
|
Update of /cvsroot/dtrag/qanagram/qanagram In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3324/qanagram Removed Files: .cvsignore AUTHORS ChangeLog Makefile.am Makefile.cvs NEWS README TODO configure.ac Log Message: Remove errornous duplicate --- .cvsignore DELETED --- --- AUTHORS DELETED --- --- ChangeLog DELETED --- --- Makefile.am DELETED --- --- Makefile.cvs DELETED --- --- NEWS DELETED --- --- README DELETED --- --- TODO DELETED --- --- configure.ac DELETED --- |
Update of /cvsroot/dtrag/qanagram/dtrag/src/node In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2639/dtrag/src/node Removed Files: .cvsignore DEClock.cpp DEClock.h DEImpulse.cpp DEImpulse.h DEMyXhist.cpp DEMyXhist.h DEPoisson.cpp DEPoisson.h DERepeatStar.cpp DERepeatStar.h DEStatistics.cpp DEStatistics.h DESupFRP.cpp DESupFRP.h MyHist.cpp MyHist.h MyHist_stub.cpp MyHist_stub.h NegExp.h Random.h SupFRP.out abstractnode.cpp abstractnode.h ace_nodedescr.cpp ace_nodedescr.h ace_textui.h countsink.cpp countsink.h main.cpp node.dsp node.mak node.vcproj nodefactory.cpp nodefactory.h nodethread.cpp nodethread.h sinkthread.cpp sinkthread.h sourcethread.cpp sourcethread.h testnode.cpp testnode.dsp testnode.vcproj trafficsrv.idl trafficsrv_impl.cpp trafficsrv_impl.h trafficsrvfactory.idl trafficsrvfactory_impl.cpp trafficsrvfactory_impl.h vec_func.cpp vec_func.h Log Message: Remove errornous duplicate --- .cvsignore DELETED --- --- DEClock.cpp DELETED --- --- DEClock.h DELETED --- --- DEImpulse.cpp DELETED --- --- DEImpulse.h DELETED --- --- DEMyXhist.cpp DELETED --- --- DEMyXhist.h DELETED --- --- DEPoisson.cpp DELETED --- --- DEPoisson.h DELETED --- --- DERepeatStar.cpp DELETED --- --- DERepeatStar.h DELETED --- --- DEStatistics.cpp DELETED --- --- DEStatistics.h DELETED --- --- DESupFRP.cpp DELETED --- --- DESupFRP.h DELETED --- --- MyHist.cpp DELETED --- --- MyHist.h DELETED --- --- MyHist_stub.cpp DELETED --- --- MyHist_stub.h DELETED --- --- NegExp.h DELETED --- --- Random.h DELETED --- --- SupFRP.out DELETED --- --- abstractnode.cpp DELETED --- --- abstractnode.h DELETED --- --- ace_nodedescr.cpp DELETED --- --- ace_nodedescr.h DELETED --- --- ace_textui.h DELETED --- --- countsink.cpp DELETED --- --- countsink.h DELETED --- --- main.cpp DELETED --- --- node.dsp DELETED --- --- node.mak DELETED --- --- node.vcproj DELETED --- --- nodefactory.cpp DELETED --- --- nodefactory.h DELETED --- --- nodethread.cpp DELETED --- --- nodethread.h DELETED --- --- sinkthread.cpp DELETED --- --- sinkthread.h DELETED --- --- sourcethread.cpp DELETED --- --- sourcethread.h DELETED --- --- testnode.cpp DELETED --- --- testnode.dsp DELETED --- --- testnode.vcproj DELETED --- --- trafficsrv.idl DELETED --- --- trafficsrv_impl.cpp DELETED --- --- trafficsrv_impl.h DELETED --- --- trafficsrvfactory.idl DELETED --- --- trafficsrvfactory_impl.cpp DELETED --- --- trafficsrvfactory_impl.h DELETED --- --- vec_func.cpp DELETED --- --- vec_func.h DELETED --- |