summaryrefslogtreecommitdiffstats
BranchCommit messageAuthorAge
masterdrop useless commentThierry Vignaud11 years
distro/mga3apply forgotten patch for drakfirewallJosé Jorge12 years
distro/mga2SVN_SILENT Ukrainian translation updateYuri Chornoivan12 years
distro/mga1Ukrainian translation updateYuri Chornoivan12 years
distro/mes5-2.6.33Revert as it breaks auto_instNicolas Lécureuil12 years
distro/mes6fix unused-but-set-variableAntoine Ginies14 years
distro/mes5fix installing from hard drive on cciss (#57973)Antoine Ginies14 years
distro/mdv2009.0increase versionPascal Terjan15 years
distro/mdv2010.0- detect_devices:Olivier Blin15 years
distro/mdv2008.0run_program: set XAUTHORITY and HOME for the user we will drop privileges toPascal Terjan15 years
distro/mdv2008.1run_program: set XAUTHORITY and HOME for the user we will drop privileges toPascal Terjan15 years
distro/mdv2009.1run_program: set XAUTHORITY and HOME for the user we will drop privileges toPascal Terjan15 years
topic/switching_to_urpmi(rpmDbOpen) make it more readableThierry Vignaud16 years
topic/before_matchbox_wm2009.0 beta 1 logoThierry Vignaud17 years
topic/MDK-2006_0-updateAdd stex and e1000_ngPascal Terjan17 years
distro/mdv2007.1- fix range max value >2TB when creating a partition (useful for LVs >2TB)Pascal Rigaux18 years
topic/mlcd4copy 2007.1 as mlcd4 branch (for drakauth changes)Olivier Blin18 years
topic/MDK-10-updateBetter (and fix) SMP detection, aka. also check for populated & enabled CPUGwenolé Beauchesne19 years
topic/MDK-10_2-updatepackage lsb is requiring many locales though we don't want it to be installedPascal Rigaux19 years
topic/MDK-10_1-updateFix mis-sorted progress barsStew Benedict19 years
topic/aThis commit was manufactured by cvs2svn to create branch 'a'.Mystery Man20 years
topic/mandrakesoftThis commit was manufactured by cvs2svn to create branch 'mandrakesoft'.Mystery Man21 years
topic/MDK92-branchworkaround anthil bug #369Thierry Vignaud21 years
topic/Corpo_2_1Corporate Server 2.1.1 releaseNicolas Planel21 years
topic/KA9_0Removing sundanceErwan Velu21 years
topic/R9_0-64bit-branchno imm/ppa on ia64Gwenolé Beauchesne21 years
topic/MDKC_1_0This commit was manufactured by cvs2svn to create branch 'MDKC_1_0'.Mystery Man22 years
topic/R9_1_HP-branchThis commit was manufactured by cvs2svn to create branchMystery Man22 years
topic/x86_64-branchMore xf86 modules for x86-64Gwenolé Beauchesne22 years
topic/gdk-pixbuf-0-branch- lots of cleanupsThierry Vignaud22 years
topic/ia64-8_1- Don't forget to link the initrd to the real image in /boot/efi/ tooGwenolé Beauchesne23 years
topic/PCMCIA_CS_DISTROThis commit was manufactured by cvs2svn to create branchMystery Man23 years
topic/v_webmin_0_87This commit was manufactured by cvs2svn to create branchMystery Man24 years
topic/gi-ppcThis commit was manufactured by cvs2svn to create branch 'gi-ppc'.Mystery Man24 years
topic/rp-pppoeThis commit was manufactured by cvs2svn to create branch 'rp-pppoe'.Mystery Man24 years
topic/pppThis commit was manufactured by cvs2svn to create branch 'ppp'.Mystery Man24 years
topic/dietlibcThis commit was manufactured by cvs2svn to create branch 'dietlibc'.Mystery Man24 years
topic/firewallreadded passwd. Must verify that it's secure vs msec.damien24 years
topic/unlabeled-1.1.1branch to build the firewall install.damien24 years
 
TagDownloadAuthorAge
before_matchbox_wmdrakx-backup-do-not-use-before_matchbox_wm.tar  drakx-backup-do-not-use-before_matchbox_wm.tar.gz  drakx-backup-do-not-use-before_matchbox_wm.tar.bz2  drakx-backup-do-not-use-before_matchbox_wm.tar.xz  drakx-backup-do-not-use-before_matchbox_wm.zip  Thierry Vignaud17 years
V10_4_6_1mdkdrakx-backup-do-not-use-10_4_6_1mdk.tar  drakx-backup-do-not-use-10_4_6_1mdk.tar.gz  drakx-backup-do-not-use-10_4_6_1mdk.tar.bz2  drakx-backup-do-not-use-10_4_6_1mdk.tar.xz  drakx-backup-do-not-use-10_4_6_1mdk.zip  Mystery Man19 years
V10_34_11_100mdkdrakx-backup-do-not-use-10_34_11_100mdk.tar  drakx-backup-do-not-use-10_34_11_100mdk.tar.gz  drakx-backup-do-not-use-10_34_11_100mdk.tar.bz2  drakx-backup-do-not-use-10_34_11_100mdk.tar.xz  drakx-backup-do-not-use-10_34_11_100mdk.zip  Mystery Man19 years
MDK-2006_0drakx-backup-do-not-use-MDK-2006_0.tar  drakx-backup-do-not-use-MDK-2006_0.tar.gz  drakx-backup-do-not-use-MDK-2006_0.tar.bz2  drakx-backup-do-not-use-MDK-2006_0.tar.xz  drakx-backup-do-not-use-MDK-2006_0.zip  Mystery Man19 years
V10_3_0_53mdkdrakx-backup-do-not-use-10_3_0_53mdk.tar  drakx-backup-do-not-use-10_3_0_53mdk.tar.gz  drakx-backup-do-not-use-10_3_0_53mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_53mdk.tar.xz  drakx-backup-do-not-use-10_3_0_53mdk.zip  Mystery Man19 years
V10_3_0_52mdkdrakx-backup-do-not-use-10_3_0_52mdk.tar  drakx-backup-do-not-use-10_3_0_52mdk.tar.gz  drakx-backup-do-not-use-10_3_0_52mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_52mdk.tar.xz  drakx-backup-do-not-use-10_3_0_52mdk.zip  Mystery Man19 years
V10_3_0_51mdkdrakx-backup-do-not-use-10_3_0_51mdk.tar  drakx-backup-do-not-use-10_3_0_51mdk.tar.gz  drakx-backup-do-not-use-10_3_0_51mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_51mdk.tar.xz  drakx-backup-do-not-use-10_3_0_51mdk.zip  Mystery Man19 years
V10_3_0_50mdkdrakx-backup-do-not-use-10_3_0_50mdk.tar  drakx-backup-do-not-use-10_3_0_50mdk.tar.gz  drakx-backup-do-not-use-10_3_0_50mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_50mdk.tar.xz  drakx-backup-do-not-use-10_3_0_50mdk.zip  Mystery Man19 years
V10_3_0_48mdkdrakx-backup-do-not-use-10_3_0_48mdk.tar  drakx-backup-do-not-use-10_3_0_48mdk.tar.gz  drakx-backup-do-not-use-10_3_0_48mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_48mdk.tar.xz  drakx-backup-do-not-use-10_3_0_48mdk.zip  Mystery Man19 years
V10_3_0_47mdkdrakx-backup-do-not-use-10_3_0_47mdk.tar  drakx-backup-do-not-use-10_3_0_47mdk.tar.gz  drakx-backup-do-not-use-10_3_0_47mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_47mdk.tar.xz  drakx-backup-do-not-use-10_3_0_47mdk.zip  Mystery Man20 years
V10_3_0_35mdkdrakx-backup-do-not-use-10_3_0_35mdk.tar  drakx-backup-do-not-use-10_3_0_35mdk.tar.gz  drakx-backup-do-not-use-10_3_0_35mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_35mdk.tar.xz  drakx-backup-do-not-use-10_3_0_35mdk.zip  Mystery Man20 years
V10_3_0_34mdkdrakx-backup-do-not-use-10_3_0_34mdk.tar  drakx-backup-do-not-use-10_3_0_34mdk.tar.gz  drakx-backup-do-not-use-10_3_0_34mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_34mdk.tar.xz  drakx-backup-do-not-use-10_3_0_34mdk.zip  Mystery Man20 years
V10_3_0_24mdkdrakx-backup-do-not-use-10_3_0_24mdk.tar  drakx-backup-do-not-use-10_3_0_24mdk.tar.gz  drakx-backup-do-not-use-10_3_0_24mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_24mdk.tar.xz  drakx-backup-do-not-use-10_3_0_24mdk.zip  Mystery Man20 years
MDK10-LACIEdrakx-backup-do-not-use-MDK10-LACIE.tar  drakx-backup-do-not-use-MDK10-LACIE.tar.gz  drakx-backup-do-not-use-MDK10-LACIE.tar.bz2  drakx-backup-do-not-use-MDK10-LACIE.tar.xz  drakx-backup-do-not-use-MDK10-LACIE.zip  Mystery Man20 years
MDK10-LACIE-restoredrakx-backup-do-not-use-MDK10-LACIE-restore.tar  drakx-backup-do-not-use-MDK10-LACIE-restore.tar.gz  drakx-backup-do-not-use-MDK10-LACIE-restore.tar.bz2  drakx-backup-do-not-use-MDK10-LACIE-restore.tar.xz  drakx-backup-do-not-use-MDK10-LACIE-restore.zip  Mystery Man20 years
MDK-10_2drakx-backup-do-not-use-MDK-10_2.tar  drakx-backup-do-not-use-MDK-10_2.tar.gz  drakx-backup-do-not-use-MDK-10_2.tar.bz2  drakx-backup-do-not-use-MDK-10_2.tar.xz  drakx-backup-do-not-use-MDK-10_2.zip  Mystery Man20 years
MDK10-LACIE-restore-2drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar  drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar.gz  drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar.bz2  drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar.xz  drakx-backup-do-not-use-MDK10-LACIE-restore-2.zip  Mystery Man20 years
V10_2_20mdkdrakx-backup-do-not-use-10_2_20mdk.tar  drakx-backup-do-not-use-10_2_20mdk.tar.gz  drakx-backup-do-not-use-10_2_20mdk.tar.bz2  drakx-backup-do-not-use-10_2_20mdk.tar.xz  drakx-backup-do-not-use-10_2_20mdk.zip  Mystery Man20 years
V10_2_19mdkdrakx-backup-do-not-use-10_2_19mdk.tar  drakx-backup-do-not-use-10_2_19mdk.tar.gz  drakx-backup-do-not-use-10_2_19mdk.tar.bz2  drakx-backup-do-not-use-10_2_19mdk.tar.xz  drakx-backup-do-not-use-10_2_19mdk.zip  Mystery Man20 years
MDK-10_1drakx-backup-do-not-use-MDK-10_1.tar  drakx-backup-do-not-use-MDK-10_1.tar.gz  drakx-backup-do-not-use-MDK-10_1.tar.bz2  drakx-backup-do-not-use-MDK-10_1.tar.xz  drakx-backup-do-not-use-MDK-10_1.zip  Mystery Man20 years
V10_54mdkdrakx-backup-do-not-use-10_54mdk.tar  drakx-backup-do-not-use-10_54mdk.tar.gz  drakx-backup-do-not-use-10_54mdk.tar.bz2  drakx-backup-do-not-use-10_54mdk.tar.xz  drakx-backup-do-not-use-10_54mdk.zip  Mystery Man21 years
MDK10_0drakx-backup-do-not-use-MDK10_0.tar  drakx-backup-do-not-use-MDK10_0.tar.gz  drakx-backup-do-not-use-MDK10_0.tar.bz2  drakx-backup-do-not-use-MDK10_0.tar.xz  drakx-backup-do-not-use-MDK10_0.zip  Mystery Man21 years
MDK-10_0drakx-backup-do-not-use-MDK-10_0.tar  drakx-backup-do-not-use-MDK-10_0.tar.gz  drakx-backup-do-not-use-MDK-10_0.tar.bz2  drakx-backup-do-not-use-MDK-10_0.tar.xz  drakx-backup-do-not-use-MDK-10_0.zip  Mystery Man21 years
V10_0_21mdkdrakx-backup-do-not-use-10_0_21mdk.tar  drakx-backup-do-not-use-10_0_21mdk.tar.gz  drakx-backup-do-not-use-10_0_21mdk.tar.bz2  drakx-backup-do-not-use-10_0_21mdk.tar.xz  drakx-backup-do-not-use-10_0_21mdk.zip  Mystery Man21 years
V9_3_15mdkdrakx-backup-do-not-use-9_3_15mdk.tar  drakx-backup-do-not-use-9_3_15mdk.tar.gz  drakx-backup-do-not-use-9_3_15mdk.tar.bz2  drakx-backup-do-not-use-9_3_15mdk.tar.xz  drakx-backup-do-not-use-9_3_15mdk.zip  Mystery Man21 years
move_1drakx-backup-do-not-use-move_1.tar  drakx-backup-do-not-use-move_1.tar.gz  drakx-backup-do-not-use-move_1.tar.bz2  drakx-backup-do-not-use-move_1.tar.xz  drakx-backup-do-not-use-move_1.zip  Mystery Man21 years
MDK92-AMD64drakx-backup-do-not-use-MDK92-AMD64.tar  drakx-backup-do-not-use-MDK92-AMD64.tar.gz  drakx-backup-do-not-use-MDK92-AMD64.tar.bz2  drakx-backup-do-not-use-MDK92-AMD64.tar.xz  drakx-backup-do-not-use-MDK92-AMD64.zip  Mystery Man21 years
Corpo_2_1_1drakx-backup-do-not-use-Corpo_2_1_1.tar  drakx-backup-do-not-use-Corpo_2_1_1.tar.gz  drakx-backup-do-not-use-Corpo_2_1_1.tar.bz2  drakx-backup-do-not-use-Corpo_2_1_1.tar.xz  drakx-backup-do-not-use-Corpo_2_1_1.zip  Mystery Man21 years
MDK92drakx-backup-do-not-use-MDK92.tar  drakx-backup-do-not-use-MDK92.tar.gz  drakx-backup-do-not-use-MDK92.tar.bz2  drakx-backup-do-not-use-MDK92.tar.xz  drakx-backup-do-not-use-MDK92.zip  Mystery Man21 years
V9_2_11mdkdrakx-backup-do-not-use-9_2_11mdk.tar  drakx-backup-do-not-use-9_2_11mdk.tar.gz  drakx-backup-do-not-use-9_2_11mdk.tar.bz2  drakx-backup-do-not-use-9_2_11mdk.tar.xz  drakx-backup-do-not-use-9_2_11mdk.zip  Mystery Man21 years
V9_2_0_29mdkdrakx-backup-do-not-use-9_2_0_29mdk.tar  drakx-backup-do-not-use-9_2_0_29mdk.tar.gz  drakx-backup-do-not-use-9_2_0_29mdk.tar.bz2  drakx-backup-do-not-use-9_2_0_29mdk.tar.xz  drakx-backup-do-not-use-9_2_0_29mdk.zip  Mystery Man22 years
ka9_0drakx-backup-do-not-use-ka9_0.tar  drakx-backup-do-not-use-ka9_0.tar.gz  drakx-backup-do-not-use-ka9_0.tar.bz2  drakx-backup-do-not-use-ka9_0.tar.xz  drakx-backup-do-not-use-ka9_0.zip  Mystery Man22 years
V9_2_0_1mdkdrakx-backup-do-not-use-9_2_0_1mdk.tar  drakx-backup-do-not-use-9_2_0_1mdk.tar.gz  drakx-backup-do-not-use-9_2_0_1mdk.tar.bz2  drakx-backup-do-not-use-9_2_0_1mdk.tar.xz  drakx-backup-do-not-use-9_2_0_1mdk.zip  Mystery Man22 years
V9_1_38mdkdrakx-backup-do-not-use-9_1_38mdk.tar  drakx-backup-do-not-use-9_1_38mdk.tar.gz  drakx-backup-do-not-use-9_1_38mdk.tar.bz2  drakx-backup-do-not-use-9_1_38mdk.tar.xz  drakx-backup-do-not-use-9_1_38mdk.zip  Mystery Man22 years
R9_0-AMD64drakx-backup-do-not-use-R9_0-AMD64.tar  drakx-backup-do-not-use-R9_0-AMD64.tar.gz  drakx-backup-do-not-use-R9_0-AMD64.tar.bz2  drakx-backup-do-not-use-R9_0-AMD64.tar.xz  drakx-backup-do-not-use-R9_0-AMD64.zip  Mystery Man22 years
V1_1_9_56mdkdrakx-backup-do-not-use-1_1_9_56mdk.tar  drakx-backup-do-not-use-1_1_9_56mdk.tar.gz  drakx-backup-do-not-use-1_1_9_56mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_56mdk.tar.xz  drakx-backup-do-not-use-1_1_9_56mdk.zip  Mystery Man22 years
V1_1_9_55mdkdrakx-backup-do-not-use-1_1_9_55mdk.tar  drakx-backup-do-not-use-1_1_9_55mdk.tar.gz  drakx-backup-do-not-use-1_1_9_55mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_55mdk.tar.xz  drakx-backup-do-not-use-1_1_9_55mdk.zip  Mystery Man22 years
V1_1_9_54mdkdrakx-backup-do-not-use-1_1_9_54mdk.tar  drakx-backup-do-not-use-1_1_9_54mdk.tar.gz  drakx-backup-do-not-use-1_1_9_54mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_54mdk.tar.xz  drakx-backup-do-not-use-1_1_9_54mdk.zip  Mystery Man22 years
V9_1_29mdkdrakx-backup-do-not-use-9_1_29mdk.tar  drakx-backup-do-not-use-9_1_29mdk.tar.gz  drakx-backup-do-not-use-9_1_29mdk.tar.bz2  drakx-backup-do-not-use-9_1_29mdk.tar.xz  drakx-backup-do-not-use-9_1_29mdk.zip  Mystery Man22 years
R9_1drakx-backup-do-not-use-R9_1.tar  drakx-backup-do-not-use-R9_1.tar.gz  drakx-backup-do-not-use-R9_1.tar.bz2  drakx-backup-do-not-use-R9_1.tar.xz  drakx-backup-do-not-use-R9_1.zip  Mystery Man22 years
V9_1_26mdkdrakx-backup-do-not-use-9_1_26mdk.tar  drakx-backup-do-not-use-9_1_26mdk.tar.gz  drakx-backup-do-not-use-9_1_26mdk.tar.bz2  drakx-backup-do-not-use-9_1_26mdk.tar.xz  drakx-backup-do-not-use-9_1_26mdk.zip  Mystery Man22 years
V9_1_25mdkdrakx-backup-do-not-use-9_1_25mdk.tar  drakx-backup-do-not-use-9_1_25mdk.tar.gz  drakx-backup-do-not-use-9_1_25mdk.tar.bz2  drakx-backup-do-not-use-9_1_25mdk.tar.xz  drakx-backup-do-not-use-9_1_25mdk.zip  Mystery Man22 years
V9_1_24mdkdrakx-backup-do-not-use-9_1_24mdk.tar  drakx-backup-do-not-use-9_1_24mdk.tar.gz  drakx-backup-do-not-use-9_1_24mdk.tar.bz2  drakx-backup-do-not-use-9_1_24mdk.tar.xz  drakx-backup-do-not-use-9_1_24mdk.zip  Mystery Man22 years
V9_1_23mdkdrakx-backup-do-not-use-9_1_23mdk.tar  drakx-backup-do-not-use-9_1_23mdk.tar.gz  drakx-backup-do-not-use-9_1_23mdk.tar.bz2  drakx-backup-do-not-use-9_1_23mdk.tar.xz  drakx-backup-do-not-use-9_1_23mdk.zip  Mystery Man22 years
V9_1_19mdkdrakx-backup-do-not-use-9_1_19mdk.tar  drakx-backup-do-not-use-9_1_19mdk.tar.gz  drakx-backup-do-not-use-9_1_19mdk.tar.bz2  drakx-backup-do-not-use-9_1_19mdk.tar.xz  drakx-backup-do-not-use-9_1_19mdk.zip  Mystery Man22 years
V9_1_18mdkdrakx-backup-do-not-use-9_1_18mdk.tar  drakx-backup-do-not-use-9_1_18mdk.tar.gz  drakx-backup-do-not-use-9_1_18mdk.tar.bz2  drakx-backup-do-not-use-9_1_18mdk.tar.xz  drakx-backup-do-not-use-9_1_18mdk.zip  Mystery Man22 years
V9_1_17mdkdrakx-backup-do-not-use-9_1_17mdk.tar  drakx-backup-do-not-use-9_1_17mdk.tar.gz  drakx-backup-do-not-use-9_1_17mdk.tar.bz2  drakx-backup-do-not-use-9_1_17mdk.tar.xz  drakx-backup-do-not-use-9_1_17mdk.zip  Mystery Man22 years
V9_1_11mdkdrakx-backup-do-not-use-9_1_11mdk.tar  drakx-backup-do-not-use-9_1_11mdk.tar.gz  drakx-backup-do-not-use-9_1_11mdk.tar.bz2  drakx-backup-do-not-use-9_1_11mdk.tar.xz  drakx-backup-do-not-use-9_1_11mdk.zip  Mystery Man22 years
V9_1_6mdkdrakx-backup-do-not-use-9_1_6mdk.tar  drakx-backup-do-not-use-9_1_6mdk.tar.gz  drakx-backup-do-not-use-9_1_6mdk.tar.bz2  drakx-backup-do-not-use-9_1_6mdk.tar.xz  drakx-backup-do-not-use-9_1_6mdk.zip  Mystery Man22 years
V9_1_0_34mdkdrakx-backup-do-not-use-9_1_0_34mdk.tar  drakx-backup-do-not-use-9_1_0_34mdk.tar.gz  drakx-backup-do-not-use-9_1_0_34mdk.tar.bz2  drakx-backup-do-not-use-9_1_0_34mdk.tar.xz  drakx-backup-do-not-use-9_1_0_34mdk.zip  Mystery Man22 years
KA9_0_noscsidrakx-backup-do-not-use-KA9_0_noscsi.tar  drakx-backup-do-not-use-KA9_0_noscsi.tar.gz  drakx-backup-do-not-use-KA9_0_noscsi.tar.bz2  drakx-backup-do-not-use-KA9_0_noscsi.tar.xz  drakx-backup-do-not-use-KA9_0_noscsi.zip  Mystery Man22 years
R9_0drakx-backup-do-not-use-R9_0.tar  drakx-backup-do-not-use-R9_0.tar.gz  drakx-backup-do-not-use-R9_0.tar.bz2  drakx-backup-do-not-use-R9_0.tar.xz  drakx-backup-do-not-use-R9_0.zip  Mystery Man22 years
V1_1_9_53mdkdrakx-backup-do-not-use-1_1_9_53mdk.tar  drakx-backup-do-not-use-1_1_9_53mdk.tar.gz  drakx-backup-do-not-use-1_1_9_53mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_53mdk.tar.xz  drakx-backup-do-not-use-1_1_9_53mdk.zip  Mystery Man22 years
V1_1_9_51mdkdrakx-backup-do-not-use-1_1_9_51mdk.tar  drakx-backup-do-not-use-1_1_9_51mdk.tar.gz  drakx-backup-do-not-use-1_1_9_51mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_51mdk.tar.xz  drakx-backup-do-not-use-1_1_9_51mdk.zip  Mystery Man22 years
V1_1_9_52mdkdrakx-backup-do-not-use-1_1_9_52mdk.tar  drakx-backup-do-not-use-1_1_9_52mdk.tar.gz  drakx-backup-do-not-use-1_1_9_52mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_52mdk.tar.xz  drakx-backup-do-not-use-1_1_9_52mdk.zip  Mystery Man22 years
R9_0_rc3drakx-backup-do-not-use-R9_0_rc3.tar  drakx-backup-do-not-use-R9_0_rc3.tar.gz  drakx-backup-do-not-use-R9_0_rc3.tar.bz2  drakx-backup-do-not-use-R9_0_rc3.tar.xz  drakx-backup-do-not-use-R9_0_rc3.zip  Mystery Man22 years
V1_1_9_49mdkdrakx-backup-do-not-use-1_1_9_49mdk.tar  drakx-backup-do-not-use-1_1_9_49mdk.tar.gz  drakx-backup-do-not-use-1_1_9_49mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_49mdk.tar.xz  drakx-backup-do-not-use-1_1_9_49mdk.zip  Mystery Man22 years
V1_1_9_48mdkdrakx-backup-do-not-use-1_1_9_48mdk.tar  drakx-backup-do-not-use-1_1_9_48mdk.tar.gz  drakx-backup-do-not-use-1_1_9_48mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_48mdk.tar.xz  drakx-backup-do-not-use-1_1_9_48mdk.zip  Mystery Man22 years
V1_1_9_46mdkdrakx-backup-do-not-use-1_1_9_46mdk.tar  drakx-backup-do-not-use-1_1_9_46mdk.tar.gz  drakx-backup-do-not-use-1_1_9_46mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_46mdk.tar.xz  drakx-backup-do-not-use-1_1_9_46mdk.zip  Mystery Man22 years
V1_1_9_45mdkdrakx-backup-do-not-use-1_1_9_45mdk.tar  drakx-backup-do-not-use-1_1_9_45mdk.tar.gz  drakx-backup-do-not-use-1_1_9_45mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_45mdk.tar.xz  drakx-backup-do-not-use-1_1_9_45mdk.zip  Mystery Man22 years
V1_1_9_42mdkdrakx-backup-do-not-use-1_1_9_42mdk.tar  drakx-backup-do-not-use-1_1_9_42mdk.tar.gz  drakx-backup-do-not-use-1_1_9_42mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_42mdk.tar.xz  drakx-backup-do-not-use-1_1_9_42mdk.zip  Mystery Man22 years
V1_1_9_35mdkdrakx-backup-do-not-use-1_1_9_35mdk.tar  drakx-backup-do-not-use-1_1_9_35mdk.tar.gz  drakx-backup-do-not-use-1_1_9_35mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_35mdk.tar.xz  drakx-backup-do-not-use-1_1_9_35mdk.zip  Mystery Man22 years
V1_1_9_31mdkdrakx-backup-do-not-use-1_1_9_31mdk.tar  drakx-backup-do-not-use-1_1_9_31mdk.tar.gz  drakx-backup-do-not-use-1_1_9_31mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_31mdk.tar.xz  drakx-backup-do-not-use-1_1_9_31mdk.zip  Mystery Man22 years
V1_1_9_25mdkdrakx-backup-do-not-use-1_1_9_25mdk.tar  drakx-backup-do-not-use-1_1_9_25mdk.tar.gz  drakx-backup-do-not-use-1_1_9_25mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_25mdk.tar.xz  drakx-backup-do-not-use-1_1_9_25mdk.zip  Mystery Man22 years
V1_1_9_16mdkdrakx-backup-do-not-use-1_1_9_16mdk.tar  drakx-backup-do-not-use-1_1_9_16mdk.tar.gz  drakx-backup-do-not-use-1_1_9_16mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_16mdk.tar.xz  drakx-backup-do-not-use-1_1_9_16mdk.zip  Mystery Man22 years
V1_1_9_9mdkdrakx-backup-do-not-use-1_1_9_9mdk.tar  drakx-backup-do-not-use-1_1_9_9mdk.tar.gz  drakx-backup-do-not-use-1_1_9_9mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_9mdk.tar.xz  drakx-backup-do-not-use-1_1_9_9mdk.zip  Mystery Man23 years
V1_1_9_5mdkdrakx-backup-do-not-use-1_1_9_5mdk.tar  drakx-backup-do-not-use-1_1_9_5mdk.tar.gz  drakx-backup-do-not-use-1_1_9_5mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_5mdk.tar.xz  drakx-backup-do-not-use-1_1_9_5mdk.zip  Mystery Man23 years
V1_1_9_2mdkdrakx-backup-do-not-use-1_1_9_2mdk.tar  drakx-backup-do-not-use-1_1_9_2mdk.tar.gz  drakx-backup-do-not-use-1_1_9_2mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_2mdk.tar.xz  drakx-backup-do-not-use-1_1_9_2mdk.zip  Mystery Man23 years
V1_1_9_4mdkdrakx-backup-do-not-use-1_1_9_4mdk.tar  drakx-backup-do-not-use-1_1_9_4mdk.tar.gz  drakx-backup-do-not-use-1_1_9_4mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_4mdk.tar.xz  drakx-backup-do-not-use-1_1_9_4mdk.zip  Mystery Man23 years
V1_1_9_1mdkdrakx-backup-do-not-use-1_1_9_1mdk.tar  drakx-backup-do-not-use-1_1_9_1mdk.tar.gz  drakx-backup-do-not-use-1_1_9_1mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_1mdk.tar.xz  drakx-backup-do-not-use-1_1_9_1mdk.zip  Mystery Man23 years
V1_1_8_16mdkdrakx-backup-do-not-use-1_1_8_16mdk.tar  drakx-backup-do-not-use-1_1_8_16mdk.tar.gz  drakx-backup-do-not-use-1_1_8_16mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_16mdk.tar.xz  drakx-backup-do-not-use-1_1_8_16mdk.zip  Mystery Man23 years
V1_1_8_10mdkdrakx-backup-do-not-use-1_1_8_10mdk.tar  drakx-backup-do-not-use-1_1_8_10mdk.tar.gz  drakx-backup-do-not-use-1_1_8_10mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_10mdk.tar.xz  drakx-backup-do-not-use-1_1_8_10mdk.zip  Mystery Man23 years
V1_1_8_11mdkdrakx-backup-do-not-use-1_1_8_11mdk.tar  drakx-backup-do-not-use-1_1_8_11mdk.tar.gz  drakx-backup-do-not-use-1_1_8_11mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_11mdk.tar.xz  drakx-backup-do-not-use-1_1_8_11mdk.zip  Mystery Man23 years
V1_1_8_12mdkdrakx-backup-do-not-use-1_1_8_12mdk.tar  drakx-backup-do-not-use-1_1_8_12mdk.tar.gz  drakx-backup-do-not-use-1_1_8_12mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_12mdk.tar.xz  drakx-backup-do-not-use-1_1_8_12mdk.zip  Mystery Man23 years
V1_1_8_13mdkdrakx-backup-do-not-use-1_1_8_13mdk.tar  drakx-backup-do-not-use-1_1_8_13mdk.tar.gz  drakx-backup-do-not-use-1_1_8_13mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_13mdk.tar.xz  drakx-backup-do-not-use-1_1_8_13mdk.zip  Mystery Man23 years
V1_1_8_14mdkdrakx-backup-do-not-use-1_1_8_14mdk.tar  drakx-backup-do-not-use-1_1_8_14mdk.tar.gz  drakx-backup-do-not-use-1_1_8_14mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_14mdk.tar.xz  drakx-backup-do-not-use-1_1_8_14mdk.zip  Mystery Man23 years
V1_1_8_9mdkdrakx-backup-do-not-use-1_1_8_9mdk.tar  drakx-backup-do-not-use-1_1_8_9mdk.tar.gz  drakx-backup-do-not-use-1_1_8_9mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_9mdk.tar.xz  drakx-backup-do-not-use-1_1_8_9mdk.zip  Mystery Man23 years
V1_1_8_8mdkdrakx-backup-do-not-use-1_1_8_8mdk.tar  drakx-backup-do-not-use-1_1_8_8mdk.tar.gz  drakx-backup-do-not-use-1_1_8_8mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_8mdk.tar.xz  drakx-backup-do-not-use-1_1_8_8mdk.zip  Mystery Man23 years
V1_1_8_7mdkdrakx-backup-do-not-use-1_1_8_7mdk.tar  drakx-backup-do-not-use-1_1_8_7mdk.tar.gz  drakx-backup-do-not-use-1_1_8_7mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_7mdk.tar.xz  drakx-backup-do-not-use-1_1_8_7mdk.zip  Mystery Man23 years
V1_1_8_6mdkdrakx-backup-do-not-use-1_1_8_6mdk.tar  drakx-backup-do-not-use-1_1_8_6mdk.tar.gz  drakx-backup-do-not-use-1_1_8_6mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_6mdk.tar.xz  drakx-backup-do-not-use-1_1_8_6mdk.zip  Mystery Man23 years
V1_1_8_5mdkdrakx-backup-do-not-use-1_1_8_5mdk.tar  drakx-backup-do-not-use-1_1_8_5mdk.tar.gz  drakx-backup-do-not-use-1_1_8_5mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_5mdk.tar.xz  drakx-backup-do-not-use-1_1_8_5mdk.zip  Mystery Man23 years
V1_1_8_3mdkdrakx-backup-do-not-use-1_1_8_3mdk.tar  drakx-backup-do-not-use-1_1_8_3mdk.tar.gz  drakx-backup-do-not-use-1_1_8_3mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_3mdk.tar.xz  drakx-backup-do-not-use-1_1_8_3mdk.zip  Mystery Man23 years
V1_1_8_4mdkdrakx-backup-do-not-use-1_1_8_4mdk.tar  drakx-backup-do-not-use-1_1_8_4mdk.tar.gz  drakx-backup-do-not-use-1_1_8_4mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_4mdk.tar.xz  drakx-backup-do-not-use-1_1_8_4mdk.zip  Mystery Man23 years
V1_1_8_1mdkdrakx-backup-do-not-use-1_1_8_1mdk.tar  drakx-backup-do-not-use-1_1_8_1mdk.tar.gz  drakx-backup-do-not-use-1_1_8_1mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_1mdk.tar.xz  drakx-backup-do-not-use-1_1_8_1mdk.zip  Mystery Man23 years
V1_1_8_2mdkdrakx-backup-do-not-use-1_1_8_2mdk.tar  drakx-backup-do-not-use-1_1_8_2mdk.tar.gz  drakx-backup-do-not-use-1_1_8_2mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_2mdk.tar.xz  drakx-backup-do-not-use-1_1_8_2mdk.zip  Mystery Man23 years
V1_1_7_99mdkdrakx-backup-do-not-use-1_1_7_99mdk.tar  drakx-backup-do-not-use-1_1_7_99mdk.tar.gz  drakx-backup-do-not-use-1_1_7_99mdk.tar.bz2  drakx-backup-do-not-use-1_1_7_99mdk.tar.xz  drakx-backup-do-not-use-1_1_7_99mdk.zip  Mystery Man23 years
R8_2drakx-backup-do-not-use-R8_2.tar  drakx-backup-do-not-use-R8_2.tar.gz  drakx-backup-do-not-use-R8_2.tar.bz2  drakx-backup-do-not-use-R8_2.tar.xz  drakx-backup-do-not-use-R8_2.zip  Mystery Man23 years
V3_1_29drakx-backup-do-not-use-3_1_29.tar  drakx-backup-do-not-use-3_1_29.tar.gz  drakx-backup-do-not-use-3_1_29.tar.bz2  drakx-backup-do-not-use-3_1_29.tar.xz  drakx-backup-do-not-use-3_1_29.zip  Mystery Man23 years
OEM8_1drakx-backup-do-not-use-OEM8_1.tar  drakx-backup-do-not-use-OEM8_1.tar.gz  drakx-backup-do-not-use-OEM8_1.tar.bz2  drakx-backup-do-not-use-OEM8_1.tar.xz  drakx-backup-do-not-use-OEM8_1.zip  Mystery Man23 years
R8_1drakx-backup-do-not-use-R8_1.tar  drakx-backup-do-not-use-R8_1.tar.gz  drakx-backup-do-not-use-R8_1.tar.bz2  drakx-backup-do-not-use-R8_1.tar.xz  drakx-backup-do-not-use-R8_1.zip  Mystery Man23 years
V_9mdkdrakx-backup-do-not-use-V_9mdk.tar  drakx-backup-do-not-use-V_9mdk.tar.gz  drakx-backup-do-not-use-V_9mdk.tar.bz2  drakx-backup-do-not-use-V_9mdk.tar.xz  drakx-backup-do-not-use-V_9mdk.zip  Mystery Man23 years
v0_8drakx-backup-do-not-use-0_8.tar  drakx-backup-do-not-use-0_8.tar.gz  drakx-backup-do-not-use-0_8.tar.bz2  drakx-backup-do-not-use-0_8.tar.xz  drakx-backup-do-not-use-0_8.zip  Mystery Man24 years
v8_0drakx-backup-do-not-use-8_0.tar  drakx-backup-do-not-use-8_0.tar.gz  drakx-backup-do-not-use-8_0.tar.bz2  drakx-backup-do-not-use-8_0.tar.xz  drakx-backup-do-not-use-8_0.zip  Mystery Man24 years
before_rpm4drakx-backup-do-not-use-before_rpm4.tar  drakx-backup-do-not-use-before_rpm4.tar.gz  drakx-backup-do-not-use-before_rpm4.tar.bz2  drakx-backup-do-not-use-before_rpm4.tar.xz  drakx-backup-do-not-use-before_rpm4.zip  Mystery Man24 years
rc1_fixeddrakx-backup-do-not-use-rc1_fixed.tar  drakx-backup-do-not-use-rc1_fixed.tar.gz  drakx-backup-do-not-use-rc1_fixed.tar.bz2  drakx-backup-do-not-use-rc1_fixed.tar.xz  drakx-backup-do-not-use-rc1_fixed.zip  Mystery Man24 years
odysseydrakx-backup-do-not-use-odyssey.tar  drakx-backup-do-not-use-odyssey.tar.gz  drakx-backup-do-not-use-odyssey.tar.bz2  drakx-backup-do-not-use-odyssey.tar.xz  drakx-backup-do-not-use-odyssey.zip  Mystery Man24 years
helium_sparc_rc1drakx-backup-do-not-use-helium_sparc_rc1.tar  drakx-backup-do-not-use-helium_sparc_rc1.tar.gz  drakx-backup-do-not-use-helium_sparc_rc1.tar.bz2  drakx-backup-do-not-use-helium_sparc_rc1.tar.xz  drakx-backup-do-not-use-helium_sparc_rc1.zip  Mystery Man25 years
heliumdrakx-backup-do-not-use-helium.tar  drakx-backup-do-not-use-helium.tar.gz  drakx-backup-do-not-use-helium.tar.bz2  drakx-backup-do-not-use-helium.tar.xz  drakx-backup-do-not-use-helium.zip  Mystery Man25 years
oemdrakx-backup-do-not-use-oem.tar  drakx-backup-do-not-use-oem.tar.gz  drakx-backup-do-not-use-oem.tar.bz2  drakx-backup-do-not-use-oem.tar.xz  drakx-backup-do-not-use-oem.zip  Mystery Man25 years
airdrakx-backup-do-not-use-air.tar  drakx-backup-do-not-use-air.tar.gz  drakx-backup-do-not-use-air.tar.bz2  drakx-backup-do-not-use-air.tar.xz  drakx-backup-do-not-use-air.zip  Mystery Man25 years
V1_0drakx-backup-do-not-use-1_0.tar  drakx-backup-do-not-use-1_0.tar.gz  drakx-backup-do-not-use-1_0.tar.bz2  drakx-backup-do-not-use-1_0.tar.xz  drakx-backup-do-not-use-1_0.zip  Mystery Man25 years
') { ($w, $set, $size) = create_ctree(@para, $e->{tree_expanded}); } else { ($w, $set, $focus_w) = $use_boxradio ? create_boxradio(@para) : create_clist(@para); } if (@{$e->{list}} > (@$l == 1 ? 10 : 4)) { $has_scroll = 1; $expand = 1; $real_w = createScrolledWindow($w); $size = (@$l == 1 ? 10 : 4); } else { $size ||= @{$e->{list}}; } $width = max(map { length } @{$e->{list}}); } else { if ($e->{type} eq "combo") { $w = new Gtk::Combo; $w->set_use_arrows_always(1); $w->entry->set_editable(!$e->{not_edit}); $w->set_popdown_strings(@{$e->{list}}); $w->disable_activate; ($real_w, $w) = ($w, $w->entry); my @l = sort { $b <=> $a } map { length } @{$e->{list}}; $has_horiz_scroll = 1; $width = $l[@l / 16]; # take the third octile (think quartile) } else { $w = new Gtk::Entry; $w->signal_connect(focus_in_event => sub { $w->select_region }); $w->signal_connect(focus_out_event => sub { $w->select_region(0,0) }); } $w->signal_connect(key_press_event => $may_go_to_next); $w->signal_connect(changed => $changed); $w->set_visibility(0) if $e->{hidden}; $set = sub { $w->set_text($_[0]) if $_[0] ne $w->get_text }; $get = sub { $w->get_text }; } $w->signal_connect(focus_out_event => sub { $update->(sub { $common->{callbacks}{focus_out}($ind) }); }); $tooltips->set_tip($w, $e->{help}) if $e->{help} && !ref($e->{help}); $max_width = max($max_width, $width); $total_size += $size || 1; { e => $e, w => $w, real_w => $real_w || $w, focus_w => $focus_w || $w, expand => $expand, get => $get || sub { ${$e->{val}} }, set => $set || sub {}, icon_w => -e $e->{icon} ? gtkpng($e->{icon}) : '' }; }; @widgets_always = map_index { $create_widget->($_, $::i ) } @$l; my $always_total_size = $total_size; @widgets_advanced = map_index { $create_widget->($_, $::i + @$l) } @$l2; my $advanced_total_size = $total_size - $always_total_size; my $pack = create_box_with_title($mainw, @{$common->{messages}}); my ($totalheight, $totalwidth) = ($mainw->{box_size}, 0); my $set_default_size = sub { if (!$::isEmbedded && !$::isWizard || $my_gtk::pop_it) { if ($has_scroll || $has_horiz_scroll) { $mainw->{rwindow}->set_default_size($totalwidth+6+$my_gtk::shape_width, $has_scroll ? $totalheight+6+3+$my_gtk::shape_width : 0); } } }; my $set_advanced = sub { ($advanced) = @_; $set_default_size->() if $advanced; $advanced ? $advanced_pack->show : $advanced_pack->hide; @widgets = (@widgets_always, $advanced ? @widgets_advanced : ()); $mainw->sync; #- for $set_all below (mainly for the set of clist) $set_all->(); #- must be done when showing advanced lists (to center selected value) }; my $advanced_button = [ $common->{advanced_label}, sub { my ($w) = @_; $set_advanced->(!$advanced); $w->child->set($advanced ? $common->{advanced_label_close} : $common->{advanced_label}); } ]; my $create_widgets = sub { my ($size, @widgets) = @_; my $w = create_packtable({}, map { [($_->{icon_w}, $_->{e}{label}, $_->{real_w})]} @widgets); $size && $total_size or return $w; #- do not bother computing stupid/bad things my $ratio = max($size / $total_size, 0.2); my ($possibleheight, $possiblewidth) = $::isEmbedded && !$my_gtk::pop_it ? (450, 380) : ($::windowheight * 0.8, $::windowwidth * 0.8); $possibleheight -= $mainw->{box_size}; my $wantedwidth = max(250, $max_width * 5); my $width = min($possiblewidth, $wantedwidth); my $wantedheight = my_gtk::n_line_size($size, 'various', $mainw->{rwindow}); my $height = min($possibleheight * $ratio, max(200, $wantedheight)); $totalheight += $height; $totalwidth = max($width, $totalwidth); my $has = $wantedwidth > $width || $wantedheight > $height; $has_scroll ||= $has; $has ? createScrolledWindow($w) : $w; }; gtkpack_($pack, 1, $create_widgets->($always_total_size, @widgets_always), if_($common->{ok} || $::isWizard, 0, $mainw->create_okcancel($common->{ok}, $common->{cancel}, '', if_(@$l2, $advanced_button)))); my $has_scroll_always = $has_scroll; my @adv = map { warp_text($_) } @{$common->{advanced_messages}}; $advanced_pack = gtkpack_(new Gtk::VBox(0,0), 0, '', (map {; 0, new Gtk::Label($_) } @adv), 0, new Gtk::HSeparator, 1, $create_widgets->($advanced_total_size, @widgets_advanced)); $pack->pack_start($advanced_pack, 1, 1, 0); gtkadd($mainw->{window}, $pack); $set_default_size->() if $has_scroll_always; $set_advanced->(0); (@widgets ? $widgets[0]{focus_w} : $common->{focus_cancel} ? $mainw->{cancel} : $mainw->{ok})->grab_focus(); my $check = sub { my ($f) = @_; sub { $get_all->(); my ($error, $focus) = $f->(); if ($error) { $set_all->(); $widgets[$focus || 0]{focus_w}->grab_focus(); } !$error; } }; $mainw->main(map { $check->($common->{callbacks}{$_}) } 'complete', 'canceled'); } sub ask_browse_tree_info_refW { my ($o, $common) = @_; my ($curr, $parent, $info_widget, $w_size, $prev_label, $go, $idle); my (%wtree, %ptree, %pix); my $w = my_gtk->new($common->{title}); my $details = new Gtk::VBox(0,0); my $tree = Gtk::CTree->new(3, 0); $tree->set_selection_mode('browse'); $tree->set_column_width(0, 200); $tree->set_column_auto_resize($_, 1) foreach 1..2; gtkadd($w->{window}, gtkpack_(new Gtk::VBox(0,5), 0, $common->{message}, 1, gtkpack(new Gtk::HBox(0,0), createScrolledWindow($tree), gtkadd(gtkset_usize(new Gtk::Frame(_("Info")), $::windowwidth - 490, 0), createScrolledWindow($info_widget = new Gtk::Text), )), 0, my $l = new Gtk::HBox(0,15), 0, gtkpack(new Gtk::HBox(0,10), $go = gtksignal_connect(new Gtk::Button($common->{ok}), "clicked" => sub { $w->{retval} = 1; Gtk->main_quit }), $common->{cancel} ? (gtksignal_connect(new Gtk::Button($common->{cancel}), "clicked" => sub { $w->{retval} = 0; Gtk->main_quit })) : (), ) )); gtkpack__($l, my $toolbar = new Gtk::Toolbar('horizontal', 'icons')); if ($common->{auto_deps}) { gtkpack__($l, gtksignal_connect(gtkset_active(new Gtk::CheckButton($common->{auto_deps}), $common->{state}{auto_deps}), clicked => sub { invbool \$common->{state}{auto_deps} })); } $l->pack_end($w_size = new Gtk::Label($prev_label = $common->{state}{status_label}), 0, 1, 20); $w->{window}->set_usize(map { $_ - 2 * $my_gtk::border - 4 } $::windowwidth, $::windowheight); $go->grab_focus; $w->{rwindow}->show_all; my $update_size = sub { my $new_label = $common->{get_status}(); $prev_label ne $new_label and $w_size->set($prev_label = $new_label); }; my $set_node_state_flat = sub { my ($node, $state) = @_; unless ($pix{$state}) { foreach ("$ENV{SHARE_PATH}/$state.png", "$ENV{SHARE_PATH}/rpm-$state.png") { if (-e $_) { $pix{$state} = [ gtkcreate_png($_) ]; last; } } $pix{$state} or die "unable to find a pixmap for state $state"; } $tree->node_set_pixmap($node, 1, $pix{$state}[0], $pix{$state}[1]); }; my $set_node_state_tree; $set_node_state_tree = sub { my ($node, $state) = @_; unless ($pix{$state}) { foreach ("$ENV{SHARE_PATH}/$state.png", "$ENV{SHARE_PATH}/rpm-$state.png") { if (-e $_) { $pix{$state} = [ gtkcreate_png($_) ]; last; } } $pix{$state} or die "unable to find a pixmap for state $state"; } if ($node->{state} ne $state) { if ($node->row->is_leaf) { my $parent = $node->row->parent; my $stats = $parent->{state_stats} ||= {}; --$stats->{$node->{state}}; ++$stats->{$state}; my @list = grep { $stats->{$_} > 0 } keys %$stats; my $new_state = @list == 1 ? $list[0] : 'semiselected'; $parent->{state} ne $new_state and $set_node_state_tree->($parent, $new_state); } $tree->node_set_pixmap($node, 1, $pix{$state}[0], $pix{$state}[1]); $node->{state} = $state; #- hack to to get this features efficiently. } }; my $set_node_state = $common->{state}{flat} ? $set_node_state_flat : $set_node_state_tree; my $set_leaf_state = sub { my ($leaf, $state) = @_; $set_node_state->($_, $state) foreach @{$ptree{$leaf}}; }; my $add_parent; $add_parent = sub { my ($root, $state) = @_; $root or return undef; if (my $w = $wtree{$root}) { return $w } my $s; foreach (split '\|', $root) { my $s2 = $s ? "$s|$_" : $_; $wtree{$s2} ||= do { my $n = $tree->insert_node($s ? $add_parent->($s, $state) : undef, undef, [$_, '', ''], 5, (undef) x 4, 0, 0); $n; }; $s = $s2; } $set_node_state->($wtree{$s}, $state); #- use this state by default as tree is building. $wtree{$s}; }; my $add_node = sub { my ($leaf, $root) = @_; my $state = $common->{node_state}($leaf) or return; my $node = $tree->insert_node($add_parent->($root, $state), undef, [$leaf, '', ''], 5, (undef) x 4, 1, 0); $set_node_state->($node, $state); push @{$ptree{$leaf}}, $node; }; my $add_nodes = sub { foreach (values %ptree) { delete $_->{state} foreach @$_; } foreach (values %wtree) { delete $_->{state}; delete $_->{state_stats}; } %ptree = %wtree = (); $tree->freeze; while (1) { $tree->remove_node($tree->node_nth(0) || last) } $common->{state}{flat} = $_[0]; $set_node_state = $common->{state}{flat} ? $set_node_state_flat : $set_node_state_tree; $common->{build_tree}($add_node, $common->{state}{flat}); $tree->thaw; &$update_size; }; $add_nodes->($common->{state}{flat}); my @toolbar = (ftout => [ _("Expand Tree") , sub { $tree->expand_recursive(undef) } ], ftin => [ _("Collapse Tree") , sub { $tree->collapse_recursive(undef) } ], reload => [ _("Toggle between flat and group sorted"), sub { $add_nodes->(!$common->{state}{flat}) } ]); foreach my $ic (@{$common->{icons} || []}) { push @toolbar, ( $ic->{icon} => [ $ic->{help}, sub { if ($ic->{code}) { my $w = $ic->{wait_message} && $o->wait_message('', $ic->{wait_message}); $ic->{code}(); $add_nodes->($common->{state}{flat}); } } ]); } my %toolbar = @toolbar; $toolbar->set_button_relief("none"); foreach (grep_index { $::i % 2 == 0 } @toolbar) { gtksignal_connect($toolbar->append_item(undef, $toolbar{$_}[0], undef, gtkpng("$ENV{SHARE_PATH}/$_.png")), clicked => $toolbar{$_}[1]); } $toolbar->set_style("icons"); my $display_info = sub { gtktext_insert($info_widget, $common->{get_info}($curr)); 0 }; my $children = sub { map { ($tree->node_get_pixtext($_, 0))[0] } gtkctree_children($_[0]) }; my $toggle = sub { if (ref $curr && ! $_[0]) { $tree->toggle_expansion($curr); } else { if (ref $curr) { my @l = $common->{grep_allowed_to_toggle}($children->($curr)) or return; my @unsel = $common->{grep_unselected}(@l); my @p = @unsel ? @unsel : # not all is selected, select all @l; $common->{toggle_nodes}($set_leaf_state, @p); &$update_size; $parent = $curr; } else { $common->{check_interactive_to_toggle}($curr) and $common->{toggle_nodes}($set_leaf_state, $curr); &$update_size; } } }; $tree->signal_connect(key_press_event => sub { my ($w, $e) = @_; my $c = chr($e->{keyval} & 0xff); $toggle->(0) if $e->{keyval} >= 0x100 ? $c eq "\r" || $c eq "\x8d" : $c eq ' '; 1; }); $tree->signal_connect(tree_select_row => sub { Gtk->timeout_remove($idle) if $idle; if ($_[1]->row->is_leaf) { ($curr) = $tree->node_get_pixtext($_[1], 0); $parent = $_[1]->row->parent; $idle = Gtk->timeout_add(100, $display_info); } else { $curr = $_[1]; } $toggle->(1) if $_[2] == 1; }); &$update_size; my $b = before_leaving { #- ensure cleaning here. foreach (values %ptree) { delete $_->{state} foreach @$_; } foreach (values %wtree) { delete $_->{state}; delete $_->{state_stats}; } }; $w->main; } sub wait_messageW($$$) { my ($o, $title, $messages) = @_; local $my_gtk::pop_it = 1; my $w = my_gtk->new($title, %$o, grab => 1); gtkadd($w->{window}, my $hbox = new Gtk::HBox(0,0)); $hbox->pack_start(my $box = new Gtk::VBox(0,0), 1, 1, 10); $box->pack_start($_, 1, 1, 4) foreach my @l = map { new Gtk::Label(warp_text($_)) } @$messages; ($w->{wait_messageW} = $l[$#l])->signal_connect(expose_event => sub { $w->{displayed} = 1 }); $w->{rwindow}->set_position('center') if ($::isStandalone && (!$::isEmbedded && !$::isWizard || $my_gtk::pop_it)); $w->{window}->show_all; $w->sync until $w->{displayed}; $w; } sub wait_message_nextW { my ($o, $messages, $w) = @_; my $msg = warp_text(join "\n", @$messages); return if $msg eq $w->{wait_messageW}->get; #- needed otherwise no expose_event :( $w->{displayed} = 0; $w->{wait_messageW}->set($msg); $w->flush until $w->{displayed}; } sub wait_message_endW { my ($o, $w) = @_; $w->destroy; } sub kill { my ($o) = @_; $o->{before_killing} ||= 0; while (my $e = shift @tempory::objects) { $e->destroy } while (@interactive::objects > $o->{before_killing}) { my $w = pop @interactive::objects; $w->destroy; } $o->{before_killing} = @interactive::objects; } 1;