summaryrefslogtreecommitdiffstats
path: root/perl-install/share/po
diff options
context:
space:
mode:
authorPablo Saratxaga <pablo@mandriva.com>1999-12-10 14:24:59 +0000
committerPablo Saratxaga <pablo@mandriva.com>1999-12-10 14:24:59 +0000
commite985b03712ca89383694001c236b68a9c742d8d4 (patch)
tree9d39655e54db559f1c43cdffa8b6a2b5b95749a3 /perl-install/share/po
parenta1a79a5b13725de2691279a59df28fc7e942538e (diff)
downloaddrakx-e985b03712ca89383694001c236b68a9c742d8d4.tar
drakx-e985b03712ca89383694001c236b68a9c742d8d4.tar.gz
drakx-e985b03712ca89383694001c236b68a9c742d8d4.tar.bz2
drakx-e985b03712ca89383694001c236b68a9c742d8d4.tar.xz
drakx-e985b03712ca89383694001c236b68a9c742d8d4.zip
update-po
Diffstat (limited to 'perl-install/share/po')
-rw-r--r--perl-install/share/po/DrakX.pot523
-rw-r--r--perl-install/share/po/no.po525
2 files changed, 550 insertions, 498 deletions
diff --git a/perl-install/share/po/DrakX.pot b/perl-install/share/po/DrakX.pot
index 690fe3743..20b2598c1 100644
--- a/perl-install/share/po/DrakX.pot
+++ b/perl-install/share/po/DrakX.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1999-12-06 12:50+0100\n"
+"POT-Creation-Date: 1999-12-10 14:50+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -342,19 +342,15 @@ msgstr ""
msgid "Format"
msgstr ""
-#: ../diskdrake.pm_.c:18 ../diskdrake.pm_.c:431
-msgid "Move"
-msgstr ""
-
-#: ../diskdrake.pm_.c:18 ../diskdrake.pm_.c:490
+#: ../diskdrake.pm_.c:18 ../diskdrake.pm_.c:496
msgid "Resize"
msgstr ""
-#: ../diskdrake.pm_.c:18 ../diskdrake.pm_.c:371
+#: ../diskdrake.pm_.c:18 ../diskdrake.pm_.c:377
msgid "Type"
msgstr ""
-#: ../diskdrake.pm_.c:19 ../diskdrake.pm_.c:393
+#: ../diskdrake.pm_.c:19 ../diskdrake.pm_.c:399
msgid "Mount point"
msgstr ""
@@ -386,8 +382,8 @@ msgstr ""
msgid "Save on floppy"
msgstr ""
-#: ../diskdrake.pm_.c:40 ../install_steps_interactive.pm_.c:506
-#: ../install_steps_interactive.pm_.c:624
+#: ../diskdrake.pm_.c:40 ../install_steps_interactive.pm_.c:515
+#: ../install_steps_interactive.pm_.c:633
msgid "Done"
msgstr ""
@@ -465,135 +461,142 @@ msgstr ""
msgid "Details"
msgstr ""
-#: ../diskdrake.pm_.c:134
+#: ../diskdrake.pm_.c:124
+msgid ""
+"You have one big fat partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on ``Resize''"
+msgstr ""
+
+#: ../diskdrake.pm_.c:140
#, c-format
msgid "After %s partition %s,"
msgstr ""
-#: ../diskdrake.pm_.c:134 ../diskdrake.pm_.c:421 ../diskdrake.pm_.c:450
+#: ../diskdrake.pm_.c:140 ../diskdrake.pm_.c:427 ../diskdrake.pm_.c:456
msgid "Read carefully!"
msgstr ""
-#: ../diskdrake.pm_.c:134
+#: ../diskdrake.pm_.c:140
msgid "all data on this partition will be lost"
msgstr ""
-#: ../diskdrake.pm_.c:153 ../install_any.pm_.c:179 ../install_steps.pm_.c:67
+#: ../diskdrake.pm_.c:159 ../install_any.pm_.c:179 ../install_steps.pm_.c:67
#: ../install_steps_interactive.pm_.c:36
msgid "Error"
msgstr ""
-#: ../diskdrake.pm_.c:177 ../diskdrake.pm_.c:571
+#: ../diskdrake.pm_.c:183 ../diskdrake.pm_.c:577
msgid "Mount point: "
msgstr ""
-#: ../diskdrake.pm_.c:178 ../diskdrake.pm_.c:210
+#: ../diskdrake.pm_.c:184 ../diskdrake.pm_.c:216
msgid "Device: "
msgstr ""
-#: ../diskdrake.pm_.c:179
+#: ../diskdrake.pm_.c:185
#, c-format
msgid "DOS drive letter: %s (just a guess)\n"
msgstr ""
-#: ../diskdrake.pm_.c:180 ../diskdrake.pm_.c:213
+#: ../diskdrake.pm_.c:186 ../diskdrake.pm_.c:219
msgid "Type: "
msgstr ""
-#: ../diskdrake.pm_.c:181
+#: ../diskdrake.pm_.c:187
#, c-format
msgid "Start: sector %s\n"
msgstr ""
-#: ../diskdrake.pm_.c:182
+#: ../diskdrake.pm_.c:188
#, c-format
msgid "Size: %s MB"
msgstr ""
-#: ../diskdrake.pm_.c:184
+#: ../diskdrake.pm_.c:190
#, c-format
msgid ", %s sectors"
msgstr ""
-#: ../diskdrake.pm_.c:186
+#: ../diskdrake.pm_.c:192
#, c-format
msgid "Cylinder %d to cylinder %d\n"
msgstr ""
-#: ../diskdrake.pm_.c:187
+#: ../diskdrake.pm_.c:193
msgid "Formatted\n"
msgstr ""
-#: ../diskdrake.pm_.c:188
+#: ../diskdrake.pm_.c:194
msgid "Not formatted\n"
msgstr ""
-#: ../diskdrake.pm_.c:189
+#: ../diskdrake.pm_.c:195
msgid "Mounted\n"
msgstr ""
-#: ../diskdrake.pm_.c:190
+#: ../diskdrake.pm_.c:196
#, c-format
msgid "RAID md%s\n"
msgstr ""
-#: ../diskdrake.pm_.c:191
+#: ../diskdrake.pm_.c:197
msgid ""
"Partition booted by default\n"
" (for MS-DOS boot, not for lilo)\n"
msgstr ""
-#: ../diskdrake.pm_.c:193
+#: ../diskdrake.pm_.c:199
#, c-format
msgid "Level %s\n"
msgstr ""
-#: ../diskdrake.pm_.c:194
+#: ../diskdrake.pm_.c:200
#, c-format
msgid "Chunk size %s\n"
msgstr ""
-#: ../diskdrake.pm_.c:195
+#: ../diskdrake.pm_.c:201
#, c-format
msgid "RAID-disks %s\n"
msgstr ""
-#: ../diskdrake.pm_.c:211
+#: ../diskdrake.pm_.c:217
#, c-format
msgid "Size: %d MB\n"
msgstr ""
-#: ../diskdrake.pm_.c:212
+#: ../diskdrake.pm_.c:218
#, c-format
msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
msgstr ""
-#: ../diskdrake.pm_.c:214
+#: ../diskdrake.pm_.c:220
#, c-format
msgid "on bus %d id %d\n"
msgstr ""
-#: ../diskdrake.pm_.c:226
+#: ../diskdrake.pm_.c:232
msgid "Mount"
msgstr ""
-#: ../diskdrake.pm_.c:228
+#: ../diskdrake.pm_.c:234
msgid "Active"
msgstr ""
-#: ../diskdrake.pm_.c:229
+#: ../diskdrake.pm_.c:235
msgid "Add to RAID"
msgstr ""
-#: ../diskdrake.pm_.c:230
+#: ../diskdrake.pm_.c:236
msgid "Remove from RAID"
msgstr ""
-#: ../diskdrake.pm_.c:231
+#: ../diskdrake.pm_.c:237
msgid "Modify RAID"
msgstr ""
-#: ../diskdrake.pm_.c:327
+#: ../diskdrake.pm_.c:333
msgid ""
"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
"1024).\n"
@@ -601,7 +604,7 @@ msgid ""
"need /boot"
msgstr ""
-#: ../diskdrake.pm_.c:331
+#: ../diskdrake.pm_.c:337
msgid ""
"The partition you've selected to add as root (/) is physically located "
"beyond\n"
@@ -609,168 +612,173 @@ msgid ""
"If you plan to use the LILO boot manager, be careful to add a /boot partition"
msgstr ""
-#: ../diskdrake.pm_.c:345
+#: ../diskdrake.pm_.c:351
msgid "Continue anyway?"
msgstr ""
-#: ../diskdrake.pm_.c:350
+#: ../diskdrake.pm_.c:356
msgid "Quit without saving"
msgstr ""
-#: ../diskdrake.pm_.c:350
+#: ../diskdrake.pm_.c:356
msgid "Quit without writing the partition table?"
msgstr ""
-#: ../diskdrake.pm_.c:366
+#: ../diskdrake.pm_.c:372
msgid "changing type of"
msgstr ""
-#: ../diskdrake.pm_.c:369
+#: ../diskdrake.pm_.c:375
msgid "Change partition type"
msgstr ""
-#: ../diskdrake.pm_.c:370
+#: ../diskdrake.pm_.c:376
msgid "Which partition type do you want?"
msgstr ""
-#: ../diskdrake.pm_.c:392
+#: ../diskdrake.pm_.c:398
#, c-format
msgid "Where do you want to mount device %s?"
msgstr ""
-#: ../diskdrake.pm_.c:414
+#: ../diskdrake.pm_.c:420
msgid "formatting"
msgstr ""
-#: ../diskdrake.pm_.c:416
+#: ../diskdrake.pm_.c:422
msgid "Formatting"
msgstr ""
-#: ../diskdrake.pm_.c:416 ../install_steps_interactive.pm_.c:210
+#: ../diskdrake.pm_.c:422 ../install_steps_interactive.pm_.c:210
#, c-format
msgid "Formatting partition %s"
msgstr ""
-#: ../diskdrake.pm_.c:421
+#: ../diskdrake.pm_.c:427
msgid "After formatting all partitions,"
msgstr ""
-#: ../diskdrake.pm_.c:421
+#: ../diskdrake.pm_.c:427
msgid "all data on these partitions will be lost"
msgstr ""
-#: ../diskdrake.pm_.c:432
+#: ../diskdrake.pm_.c:437
+msgid "Move"
+msgstr ""
+
+#: ../diskdrake.pm_.c:438
msgid "Which disk do you want to move to?"
msgstr ""
-#: ../diskdrake.pm_.c:436
+#: ../diskdrake.pm_.c:442
msgid "Sector"
msgstr ""
-#: ../diskdrake.pm_.c:437
+#: ../diskdrake.pm_.c:443
msgid "Which sector do you want to move to?"
msgstr ""
-#: ../diskdrake.pm_.c:440
+#: ../diskdrake.pm_.c:446
msgid "Moving"
msgstr ""
-#: ../diskdrake.pm_.c:440
+#: ../diskdrake.pm_.c:446
msgid "Moving partition..."
msgstr ""
-#: ../diskdrake.pm_.c:450
+#: ../diskdrake.pm_.c:456
#, c-format
msgid "Partition table of drive %s is going to be written to disk!"
msgstr ""
-#: ../diskdrake.pm_.c:452
+#: ../diskdrake.pm_.c:458
msgid "You'll need to reboot before the modification can take place"
msgstr ""
-#: ../diskdrake.pm_.c:473
+#: ../diskdrake.pm_.c:479 ../install_steps_gtk.pm_.c:254
msgid "Computing fat filesystem bounds"
msgstr ""
-#: ../diskdrake.pm_.c:473 ../diskdrake.pm_.c:518
+#: ../diskdrake.pm_.c:479 ../diskdrake.pm_.c:524
+#: ../install_steps_gtk.pm_.c:254
msgid "Resizing"
msgstr ""
-#: ../diskdrake.pm_.c:487
+#: ../diskdrake.pm_.c:493
msgid "resizing"
msgstr ""
-#: ../diskdrake.pm_.c:497
+#: ../diskdrake.pm_.c:503
msgid "Choose the new size"
msgstr ""
-#: ../diskdrake.pm_.c:497 ../install_steps_graphical.pm_.c:287
-#: ../install_steps_graphical.pm_.c:334 ../install_steps_gtk.pm_.c:287
-#: ../install_steps_gtk.pm_.c:336
+#: ../diskdrake.pm_.c:503 ../install_steps_graphical.pm_.c:287
+#: ../install_steps_graphical.pm_.c:334 ../install_steps_gtk.pm_.c:319
+#: ../install_steps_gtk.pm_.c:368
msgid "MB"
msgstr ""
-#: ../diskdrake.pm_.c:548
+#: ../diskdrake.pm_.c:554
msgid "Create a new partition"
msgstr ""
-#: ../diskdrake.pm_.c:564
+#: ../diskdrake.pm_.c:570
msgid "Start sector: "
msgstr ""
-#: ../diskdrake.pm_.c:567
+#: ../diskdrake.pm_.c:573
msgid "Size in MB: "
msgstr ""
-#: ../diskdrake.pm_.c:570
+#: ../diskdrake.pm_.c:576
msgid "Filesystem type: "
msgstr ""
-#: ../diskdrake.pm_.c:572
+#: ../diskdrake.pm_.c:578
msgid "Preference: "
msgstr ""
-#: ../diskdrake.pm_.c:616 ../diskdrake.pm_.c:632
+#: ../diskdrake.pm_.c:622 ../diskdrake.pm_.c:638
msgid "Select file"
msgstr ""
-#: ../diskdrake.pm_.c:625
+#: ../diskdrake.pm_.c:631
msgid ""
"The backup partition table has not the same size\n"
"Still continue?"
msgstr ""
-#: ../diskdrake.pm_.c:633
+#: ../diskdrake.pm_.c:639
msgid "Warning"
msgstr ""
-#: ../diskdrake.pm_.c:634
+#: ../diskdrake.pm_.c:640
msgid ""
"Insert a floppy in drive\n"
"All data on this floppy will be lost"
msgstr ""
-#: ../diskdrake.pm_.c:648
+#: ../diskdrake.pm_.c:654
msgid "Trying to rescue partition table"
msgstr ""
-#: ../diskdrake.pm_.c:659
+#: ../diskdrake.pm_.c:665
msgid "device"
msgstr ""
-#: ../diskdrake.pm_.c:660
+#: ../diskdrake.pm_.c:666
msgid "level"
msgstr ""
-#: ../diskdrake.pm_.c:661
+#: ../diskdrake.pm_.c:667
msgid "chunk size"
msgstr ""
-#: ../diskdrake.pm_.c:673
+#: ../diskdrake.pm_.c:679
msgid "Choose an existing RAID to add to"
msgstr ""
-#: ../diskdrake.pm_.c:674
+#: ../diskdrake.pm_.c:680
msgid "new"
msgstr ""
@@ -797,27 +805,27 @@ msgstr ""
msgid "error unmounting %s: %s"
msgstr ""
-#: ../fsedit.pm_.c:185
+#: ../fsedit.pm_.c:218
msgid "Mount points must begin with a leading /"
msgstr ""
-#: ../fsedit.pm_.c:188
+#: ../fsedit.pm_.c:221
#, c-format
msgid "There is already a partition with mount point %s"
msgstr ""
-#: ../fsedit.pm_.c:272
+#: ../fsedit.pm_.c:305
#, c-format
msgid "Error opening %s for writing: %s"
msgstr ""
-#: ../fsedit.pm_.c:344
+#: ../fsedit.pm_.c:377
msgid ""
"An error has occurred - no valid devices were found on which to create new "
"filesystems. Please check your hardware for the cause of this problem"
msgstr ""
-#: ../fsedit.pm_.c:359
+#: ../fsedit.pm_.c:392
msgid "You don't have any partitions!"
msgstr ""
@@ -1337,8 +1345,8 @@ msgstr ""
msgid "Configure printer"
msgstr ""
-#: ../install2.pm_.c:58 ../install_steps_interactive.pm_.c:464
-#: ../install_steps_interactive.pm_.c:465
+#: ../install2.pm_.c:58 ../install_steps_interactive.pm_.c:473
+#: ../install_steps_interactive.pm_.c:474
msgid "Set root password"
msgstr ""
@@ -1378,11 +1386,11 @@ msgstr ""
msgid "server"
msgstr ""
-#: ../install2.pm_.c:300
+#: ../install2.pm_.c:308
msgid "Partitioning failed: no root filesystem"
msgstr ""
-#: ../install2.pm_.c:314
+#: ../install2.pm_.c:322
msgid "Not enough swap to fulfill installation, please add some"
msgstr ""
@@ -1419,11 +1427,11 @@ msgstr ""
msgid "Can't use broadcast with no NIS domain"
msgstr ""
-#: ../install_any.pm_.c:443
+#: ../install_any.pm_.c:451
msgid "Error reading file $f"
msgstr ""
-#: ../install_any.pm_.c:449
+#: ../install_any.pm_.c:457
#, c-format
msgid "Bad kickstart file %s (failed %s)"
msgstr ""
@@ -1439,7 +1447,7 @@ msgstr ""
msgid "Duplicate mount point %s"
msgstr ""
-#: ../install_steps.pm_.c:458
+#: ../install_steps.pm_.c:493
msgid "No floppy drive available"
msgstr ""
@@ -1448,106 +1456,114 @@ msgstr ""
msgid "Entering step `%s'\n"
msgstr ""
-#: ../install_steps_graphical.pm_.c:259 ../install_steps_gtk.pm_.c:252
+#: ../install_steps_graphical.pm_.c:259 ../install_steps_gtk.pm_.c:284
msgid "You must have a swap partition"
msgstr ""
-#: ../install_steps_graphical.pm_.c:261 ../install_steps_gtk.pm_.c:254
+#: ../install_steps_graphical.pm_.c:261 ../install_steps_gtk.pm_.c:286
msgid ""
"You don't have a swap partition\n"
"\n"
"Continue anyway?"
msgstr ""
-#: ../install_steps_graphical.pm_.c:287 ../install_steps_gtk.pm_.c:287
+#: ../install_steps_graphical.pm_.c:287 ../install_steps_gtk.pm_.c:319
msgid "Choose the size you want to install"
msgstr ""
-#: ../install_steps_graphical.pm_.c:334 ../install_steps_gtk.pm_.c:336
+#: ../install_steps_graphical.pm_.c:334 ../install_steps_gtk.pm_.c:368
msgid "Total size: "
msgstr ""
-#: ../install_steps_graphical.pm_.c:346 ../install_steps_gtk.pm_.c:348
+#: ../install_steps_graphical.pm_.c:346 ../install_steps_gtk.pm_.c:380
#, c-format
msgid "Version: %s\n"
msgstr ""
-#: ../install_steps_graphical.pm_.c:347 ../install_steps_gtk.pm_.c:349
+#: ../install_steps_graphical.pm_.c:347 ../install_steps_gtk.pm_.c:381
#, c-format
msgid "Size: %d KB\n"
msgstr ""
-#: ../install_steps_graphical.pm_.c:462 ../install_steps_gtk.pm_.c:464
+#: ../install_steps_graphical.pm_.c:462 ../install_steps_gtk.pm_.c:496
msgid "Choose the packages you want to install"
msgstr ""
-#: ../install_steps_graphical.pm_.c:465 ../install_steps_gtk.pm_.c:467
+#: ../install_steps_graphical.pm_.c:465 ../install_steps_gtk.pm_.c:499
msgid "Info"
msgstr ""
-#: ../install_steps_graphical.pm_.c:473 ../install_steps_gtk.pm_.c:475
+#: ../install_steps_graphical.pm_.c:473 ../install_steps_gtk.pm_.c:507
#: ../install_steps_interactive.pm_.c:80
msgid "Install"
msgstr ""
-#: ../install_steps_graphical.pm_.c:492 ../install_steps_gtk.pm_.c:494
+#: ../install_steps_graphical.pm_.c:492 ../install_steps_gtk.pm_.c:526
#: ../install_steps_interactive.pm_.c:249
msgid "Installing"
msgstr ""
-#: ../install_steps_graphical.pm_.c:499 ../install_steps_gtk.pm_.c:501
+#: ../install_steps_graphical.pm_.c:499 ../install_steps_gtk.pm_.c:533
msgid "Please wait, "
msgstr ""
-#: ../install_steps_graphical.pm_.c:501 ../install_steps_gtk.pm_.c:503
+#: ../install_steps_graphical.pm_.c:501 ../install_steps_gtk.pm_.c:535
msgid "Time remaining "
msgstr ""
-#: ../install_steps_graphical.pm_.c:502 ../install_steps_gtk.pm_.c:504
+#: ../install_steps_graphical.pm_.c:502 ../install_steps_gtk.pm_.c:536
msgid "Total time "
msgstr ""
-#: ../install_steps_graphical.pm_.c:507 ../install_steps_gtk.pm_.c:509
+#: ../install_steps_graphical.pm_.c:507 ../install_steps_gtk.pm_.c:541
#: ../install_steps_interactive.pm_.c:249
msgid "Preparing installation"
msgstr ""
-#: ../install_steps_graphical.pm_.c:528 ../install_steps_gtk.pm_.c:524
+#: ../install_steps_graphical.pm_.c:528 ../install_steps_gtk.pm_.c:556
#, c-format
msgid "Installing package %s"
msgstr ""
-#: ../install_steps_graphical.pm_.c:553 ../install_steps_gtk.pm_.c:549
+#: ../install_steps_graphical.pm_.c:553 ../install_steps_gtk.pm_.c:581
msgid "Go on anyway?"
msgstr ""
-#: ../install_steps_graphical.pm_.c:553 ../install_steps_gtk.pm_.c:549
+#: ../install_steps_graphical.pm_.c:553 ../install_steps_gtk.pm_.c:581
msgid "There was an error ordering packages:"
msgstr ""
-#: ../install_steps_graphical.pm_.c:577 ../install_steps_interactive.pm_.c:765
+#: ../install_steps_graphical.pm_.c:577 ../install_steps_interactive.pm_.c:777
msgid "Use existing configuration for X11?"
msgstr ""
-#: ../install_steps_gtk.pm_.c:284
+#: ../install_steps_gtk.pm_.c:258
+msgid "TODO"
+msgstr ""
+
+#: ../install_steps_gtk.pm_.c:268
+msgid "Automatic resizing failed"
+msgstr ""
+
+#: ../install_steps_gtk.pm_.c:316
#, c-format
msgid "Going to install %d MB. You can choose to install more programs"
msgstr ""
-#: ../install_steps_gtk.pm_.c:285
+#: ../install_steps_gtk.pm_.c:317
msgid "You will be able to choose more precisely in next step"
msgstr ""
-#: ../install_steps_gtk.pm_.c:497
+#: ../install_steps_gtk.pm_.c:529
msgid "Estimating"
msgstr ""
-#: ../install_steps_gtk.pm_.c:519
+#: ../install_steps_gtk.pm_.c:551
#, c-format
msgid "%d packages"
msgstr ""
-#: ../install_steps_gtk.pm_.c:519
+#: ../install_steps_gtk.pm_.c:551
msgid ", %U MB"
msgstr ""
@@ -1810,9 +1826,9 @@ msgid "Login ID"
msgstr ""
#: ../install_steps_interactive.pm_.c:395
-#: ../install_steps_interactive.pm_.c:466
-#: ../install_steps_interactive.pm_.c:512
-#: ../install_steps_interactive.pm_.c:603
+#: ../install_steps_interactive.pm_.c:475
+#: ../install_steps_interactive.pm_.c:521
+#: ../install_steps_interactive.pm_.c:612
msgid "Password"
msgstr ""
@@ -1848,153 +1864,157 @@ msgstr ""
msgid "Second DNS Server"
msgstr ""
-#: ../install_steps_interactive.pm_.c:417
+#: ../install_steps_interactive.pm_.c:412
+msgid "Bringing up the network"
+msgstr ""
+
+#: ../install_steps_interactive.pm_.c:426
msgid "Choose a mirror from which to get the packages"
msgstr ""
-#: ../install_steps_interactive.pm_.c:420
+#: ../install_steps_interactive.pm_.c:429
msgid "Contacting the mirror to get the list of available packages"
msgstr ""
-#: ../install_steps_interactive.pm_.c:424
+#: ../install_steps_interactive.pm_.c:433
msgid "Which packages do you want to install"
msgstr ""
-#: ../install_steps_interactive.pm_.c:426
+#: ../install_steps_interactive.pm_.c:435
msgid "Downloading cryptographic packages"
msgstr ""
-#: ../install_steps_interactive.pm_.c:436
+#: ../install_steps_interactive.pm_.c:445
msgid "Which is your timezone?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:437
+#: ../install_steps_interactive.pm_.c:446
msgid "Is your hardware clock set to GMT?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:447
+#: ../install_steps_interactive.pm_.c:456
msgid "Printer"
msgstr ""
-#: ../install_steps_interactive.pm_.c:448
+#: ../install_steps_interactive.pm_.c:457
msgid "Would you like to configure a printer?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:464
+#: ../install_steps_interactive.pm_.c:473
msgid "No password"
msgstr ""
-#: ../install_steps_interactive.pm_.c:464
-#: ../install_steps_interactive.pm_.c:674 ../interactive.pm_.c:59
-#: ../interactive.pm_.c:69 ../interactive.pm_.c:148
-#: ../interactive_newt.pm_.c:46 ../interactive_newt.pm_.c:90
+#: ../install_steps_interactive.pm_.c:473
+#: ../install_steps_interactive.pm_.c:683 ../interactive.pm_.c:67
+#: ../interactive.pm_.c:77 ../interactive.pm_.c:156
+#: ../interactive_newt.pm_.c:48 ../interactive_newt.pm_.c:92
#: ../interactive_stdio.pm_.c:27 ../my_gtk.pm_.c:192 ../my_gtk.pm_.c:423
#: ../my_gtk.pm_.c:523
msgid "Ok"
msgstr ""
-#: ../install_steps_interactive.pm_.c:467
-#: ../install_steps_interactive.pm_.c:513
+#: ../install_steps_interactive.pm_.c:476
+#: ../install_steps_interactive.pm_.c:522
msgid "Password (again)"
msgstr ""
-#: ../install_steps_interactive.pm_.c:469
+#: ../install_steps_interactive.pm_.c:478
msgid "Use shadow file"
msgstr ""
-#: ../install_steps_interactive.pm_.c:469
+#: ../install_steps_interactive.pm_.c:478
msgid "shadow"
msgstr ""
-#: ../install_steps_interactive.pm_.c:470
+#: ../install_steps_interactive.pm_.c:479
msgid "MD5"
msgstr ""
-#: ../install_steps_interactive.pm_.c:470
+#: ../install_steps_interactive.pm_.c:479
msgid "Use MD5 passwords"
msgstr ""
-#: ../install_steps_interactive.pm_.c:472
+#: ../install_steps_interactive.pm_.c:481
msgid "Use NIS"
msgstr ""
-#: ../install_steps_interactive.pm_.c:472
+#: ../install_steps_interactive.pm_.c:481
msgid "yellow pages"
msgstr ""
-#: ../install_steps_interactive.pm_.c:476
-#: ../install_steps_interactive.pm_.c:524
+#: ../install_steps_interactive.pm_.c:485
+#: ../install_steps_interactive.pm_.c:533
msgid "Please try again"
msgstr ""
-#: ../install_steps_interactive.pm_.c:476
-#: ../install_steps_interactive.pm_.c:524
+#: ../install_steps_interactive.pm_.c:485
+#: ../install_steps_interactive.pm_.c:533
msgid "The passwords do not match"
msgstr ""
-#: ../install_steps_interactive.pm_.c:478
-#: ../install_steps_interactive.pm_.c:525
+#: ../install_steps_interactive.pm_.c:487
+#: ../install_steps_interactive.pm_.c:534
msgid "This password is too simple"
msgstr ""
-#: ../install_steps_interactive.pm_.c:485
+#: ../install_steps_interactive.pm_.c:494
msgid "Authentification NIS"
msgstr ""
-#: ../install_steps_interactive.pm_.c:486
+#: ../install_steps_interactive.pm_.c:495
msgid "NIS Domain"
msgstr ""
-#: ../install_steps_interactive.pm_.c:486
+#: ../install_steps_interactive.pm_.c:495
msgid "NIS Server"
msgstr ""
-#: ../install_steps_interactive.pm_.c:506
+#: ../install_steps_interactive.pm_.c:515
msgid "Accept user"
msgstr ""
-#: ../install_steps_interactive.pm_.c:506
+#: ../install_steps_interactive.pm_.c:515
msgid "Add user"
msgstr ""
-#: ../install_steps_interactive.pm_.c:507
+#: ../install_steps_interactive.pm_.c:516
#, c-format
msgid "(already added %s)"
msgstr ""
-#: ../install_steps_interactive.pm_.c:507
+#: ../install_steps_interactive.pm_.c:516
#, c-format
msgid ""
"Enter a user\n"
"%s"
msgstr ""
-#: ../install_steps_interactive.pm_.c:509
+#: ../install_steps_interactive.pm_.c:518
msgid "Real name"
msgstr ""
-#: ../install_steps_interactive.pm_.c:510
+#: ../install_steps_interactive.pm_.c:519
msgid "User name"
msgstr ""
-#: ../install_steps_interactive.pm_.c:515
+#: ../install_steps_interactive.pm_.c:524
msgid "Shell"
msgstr ""
-#: ../install_steps_interactive.pm_.c:526
+#: ../install_steps_interactive.pm_.c:535
msgid "Please give a user name"
msgstr ""
-#: ../install_steps_interactive.pm_.c:527
+#: ../install_steps_interactive.pm_.c:536
msgid ""
"The user name must contain only lower cased letters, numbers, `-' and `_'"
msgstr ""
-#: ../install_steps_interactive.pm_.c:528
+#: ../install_steps_interactive.pm_.c:537
msgid "This user name is already added"
msgstr ""
-#: ../install_steps_interactive.pm_.c:549
+#: ../install_steps_interactive.pm_.c:558
msgid ""
"A custom bootdisk provides a way of booting into your Linux system without\n"
"depending on the normal bootloader. This is useful if you don't want to "
@@ -2008,257 +2028,266 @@ msgid ""
"failures. Would you like to create a bootdisk for your system?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:558
+#: ../install_steps_interactive.pm_.c:567
msgid "Sorry, no floppy drive available"
msgstr ""
-#: ../install_steps_interactive.pm_.c:561
+#: ../install_steps_interactive.pm_.c:570
msgid "Choose the floppy drive you want to use to make the bootdisk"
msgstr ""
-#: ../install_steps_interactive.pm_.c:562
+#: ../install_steps_interactive.pm_.c:571
msgid "Skip"
msgstr ""
-#: ../install_steps_interactive.pm_.c:566
+#: ../install_steps_interactive.pm_.c:575
#, c-format
msgid "Insert a floppy in drive %s"
msgstr ""
-#: ../install_steps_interactive.pm_.c:567
+#: ../install_steps_interactive.pm_.c:576
msgid "Creating bootdisk"
msgstr ""
-#: ../install_steps_interactive.pm_.c:574
+#: ../install_steps_interactive.pm_.c:583
msgid "Preparing bootloader"
msgstr ""
-#: ../install_steps_interactive.pm_.c:586
+#: ../install_steps_interactive.pm_.c:595
msgid "First sector of boot partition"
msgstr ""
-#: ../install_steps_interactive.pm_.c:586
+#: ../install_steps_interactive.pm_.c:595
msgid "First sector of drive (MBR)"
msgstr ""
-#: ../install_steps_interactive.pm_.c:590
+#: ../install_steps_interactive.pm_.c:599
msgid "LILO Installation"
msgstr ""
-#: ../install_steps_interactive.pm_.c:591
+#: ../install_steps_interactive.pm_.c:600
msgid "Where do you want to install the bootloader?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:594
+#: ../install_steps_interactive.pm_.c:603
msgid "Do you want to use LILO?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:597
+#: ../install_steps_interactive.pm_.c:606
msgid "Boot device"
msgstr ""
-#: ../install_steps_interactive.pm_.c:598
+#: ../install_steps_interactive.pm_.c:607
msgid "Linear (needed for some SCSI drives)"
msgstr ""
-#: ../install_steps_interactive.pm_.c:598
+#: ../install_steps_interactive.pm_.c:607
msgid "linear"
msgstr ""
-#: ../install_steps_interactive.pm_.c:599
+#: ../install_steps_interactive.pm_.c:608
msgid "Compact"
msgstr ""
-#: ../install_steps_interactive.pm_.c:599
+#: ../install_steps_interactive.pm_.c:608
msgid "compact"
msgstr ""
-#: ../install_steps_interactive.pm_.c:600
+#: ../install_steps_interactive.pm_.c:609
msgid "Delay before booting default image"
msgstr ""
-#: ../install_steps_interactive.pm_.c:601
+#: ../install_steps_interactive.pm_.c:610
msgid "Video mode"
msgstr ""
-#: ../install_steps_interactive.pm_.c:604
+#: ../install_steps_interactive.pm_.c:613
msgid "Restrict command line options"
msgstr ""
-#: ../install_steps_interactive.pm_.c:604
+#: ../install_steps_interactive.pm_.c:613
msgid "restrict"
msgstr ""
-#: ../install_steps_interactive.pm_.c:610
+#: ../install_steps_interactive.pm_.c:619
msgid "LILO main options"
msgstr ""
-#: ../install_steps_interactive.pm_.c:613
+#: ../install_steps_interactive.pm_.c:622
msgid ""
"Option ``Restrict command line options'' is of no use without a password"
msgstr ""
-#: ../install_steps_interactive.pm_.c:622
+#: ../install_steps_interactive.pm_.c:631
msgid ""
"Here are the following entries in LILO.\n"
"You can add some more or change the existent ones."
msgstr ""
-#: ../install_steps_interactive.pm_.c:624
+#: ../install_steps_interactive.pm_.c:633
msgid "Add"
msgstr ""
-#: ../install_steps_interactive.pm_.c:633
+#: ../install_steps_interactive.pm_.c:642
msgid "Linux"
msgstr ""
-#: ../install_steps_interactive.pm_.c:633
+#: ../install_steps_interactive.pm_.c:642
msgid "Other OS (windows...)"
msgstr ""
-#: ../install_steps_interactive.pm_.c:633
+#: ../install_steps_interactive.pm_.c:642
msgid "Which type of entry do you want to add"
msgstr ""
-#: ../install_steps_interactive.pm_.c:653
+#: ../install_steps_interactive.pm_.c:662
msgid "Image"
msgstr ""
-#: ../install_steps_interactive.pm_.c:654
-#: ../install_steps_interactive.pm_.c:662
+#: ../install_steps_interactive.pm_.c:663
+#: ../install_steps_interactive.pm_.c:671
msgid "Root"
msgstr ""
-#: ../install_steps_interactive.pm_.c:655
+#: ../install_steps_interactive.pm_.c:664
msgid "Append"
msgstr ""
-#: ../install_steps_interactive.pm_.c:656
+#: ../install_steps_interactive.pm_.c:665
msgid "Initrd"
msgstr ""
-#: ../install_steps_interactive.pm_.c:657
+#: ../install_steps_interactive.pm_.c:666
msgid "Read-write"
msgstr ""
-#: ../install_steps_interactive.pm_.c:663
+#: ../install_steps_interactive.pm_.c:672
msgid "Table"
msgstr ""
-#: ../install_steps_interactive.pm_.c:664
+#: ../install_steps_interactive.pm_.c:673
msgid "Unsafe"
msgstr ""
-#: ../install_steps_interactive.pm_.c:669
+#: ../install_steps_interactive.pm_.c:678
msgid "Label"
msgstr ""
-#: ../install_steps_interactive.pm_.c:671
+#: ../install_steps_interactive.pm_.c:680
msgid "Default"
msgstr ""
-#: ../install_steps_interactive.pm_.c:674
+#: ../install_steps_interactive.pm_.c:683
msgid "Remove entry"
msgstr ""
-#: ../install_steps_interactive.pm_.c:677
+#: ../install_steps_interactive.pm_.c:686
msgid "Empty label not allowed"
msgstr ""
-#: ../install_steps_interactive.pm_.c:678
+#: ../install_steps_interactive.pm_.c:687
msgid "This label is already in use"
msgstr ""
-#: ../install_steps_interactive.pm_.c:679
+#: ../install_steps_interactive.pm_.c:688
#, c-format
msgid "A entry %s already exists"
msgstr ""
-#: ../install_steps_interactive.pm_.c:693
+#: ../install_steps_interactive.pm_.c:702
msgid "Installation of LILO failed. The following error occured:"
msgstr ""
-#: ../install_steps_interactive.pm_.c:706
+#: ../install_steps_interactive.pm_.c:715
msgid "Proxies configuration"
msgstr ""
-#: ../install_steps_interactive.pm_.c:707
+#: ../install_steps_interactive.pm_.c:716
msgid "HTTP proxy"
msgstr ""
-#: ../install_steps_interactive.pm_.c:708
+#: ../install_steps_interactive.pm_.c:717
msgid "FTP proxy"
msgstr ""
-#: ../install_steps_interactive.pm_.c:714
+#: ../install_steps_interactive.pm_.c:723
msgid "Proxy should be http://..."
msgstr ""
-#: ../install_steps_interactive.pm_.c:715
+#: ../install_steps_interactive.pm_.c:724
msgid "Proxy should be ftp://..."
msgstr ""
-#: ../install_steps_interactive.pm_.c:725
+#: ../install_steps_interactive.pm_.c:734
msgid "Windows(TM)"
msgstr ""
-#: ../install_steps_interactive.pm_.c:726
+#: ../install_steps_interactive.pm_.c:735
msgid "Poor"
msgstr ""
-#: ../install_steps_interactive.pm_.c:727
+#: ../install_steps_interactive.pm_.c:736
msgid "Low"
msgstr ""
-#: ../install_steps_interactive.pm_.c:728
+#: ../install_steps_interactive.pm_.c:737
msgid "Medium"
msgstr ""
-#: ../install_steps_interactive.pm_.c:729
+#: ../install_steps_interactive.pm_.c:738
msgid "High"
msgstr ""
-#: ../install_steps_interactive.pm_.c:730
+#: ../install_steps_interactive.pm_.c:739
msgid "Paranoid"
msgstr ""
-#: ../install_steps_interactive.pm_.c:741
+#: ../install_steps_interactive.pm_.c:752
msgid "Miscellaneous questions"
msgstr ""
-#: ../install_steps_interactive.pm_.c:742
+#: ../install_steps_interactive.pm_.c:753
msgid "(may cause data corruption)"
msgstr ""
-#: ../install_steps_interactive.pm_.c:742
+#: ../install_steps_interactive.pm_.c:753
msgid "Use hard drive optimisations?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:743
+#: ../install_steps_interactive.pm_.c:754
msgid "Choose security level"
msgstr ""
-#: ../install_steps_interactive.pm_.c:744
+#: ../install_steps_interactive.pm_.c:755
#, c-format
msgid "Precise RAM size if needed (found %d MB)"
msgstr ""
-#: ../install_steps_interactive.pm_.c:746
+#: ../install_steps_interactive.pm_.c:756
+msgid "Removable media automounting"
+msgstr ""
+
+#: ../install_steps_interactive.pm_.c:758
msgid "Enable num lock at startup"
msgstr ""
-#: ../install_steps_interactive.pm_.c:749
+#: ../install_steps_interactive.pm_.c:761
msgid "Give the ram size in Mb"
msgstr ""
-#: ../install_steps_interactive.pm_.c:790
+#: ../install_steps_interactive.pm_.c:789
+#: ../install_steps_interactive.pm_.c:902
+msgid "Try to find PCI devices?"
+msgstr ""
+
+#: ../install_steps_interactive.pm_.c:804
msgid ""
"Some steps are not completed.\n"
"\n"
"Do you really want to quit now?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:797
+#: ../install_steps_interactive.pm_.c:811
msgid ""
"Congratulations, installation is complete.\n"
"Remove the boot media and press return to reboot.\n"
@@ -2271,26 +2300,26 @@ msgid ""
"install chapter of the Official Linux-Mandrake User's Guide."
msgstr ""
-#: ../install_steps_interactive.pm_.c:806
+#: ../install_steps_interactive.pm_.c:820
msgid "Shutting down"
msgstr ""
-#: ../install_steps_interactive.pm_.c:820
+#: ../install_steps_interactive.pm_.c:834
#, c-format
msgid "Installing driver for %s card %s"
msgstr ""
-#: ../install_steps_interactive.pm_.c:821
+#: ../install_steps_interactive.pm_.c:835
#, c-format
msgid "(module %s)"
msgstr ""
-#: ../install_steps_interactive.pm_.c:831
+#: ../install_steps_interactive.pm_.c:845
#, c-format
msgid "Which %s driver should I try?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:839
+#: ../install_steps_interactive.pm_.c:853
#, c-format
msgid ""
"In some cases, the %s driver needs to have extra information to work\n"
@@ -2302,20 +2331,20 @@ msgid ""
"not cause any damage."
msgstr ""
-#: ../install_steps_interactive.pm_.c:844
+#: ../install_steps_interactive.pm_.c:858
msgid "Autoprobe"
msgstr ""
-#: ../install_steps_interactive.pm_.c:844
+#: ../install_steps_interactive.pm_.c:858
msgid "Specify options"
msgstr ""
-#: ../install_steps_interactive.pm_.c:848
+#: ../install_steps_interactive.pm_.c:862
#, c-format
msgid "You may now provide its options to module %s."
msgstr ""
-#: ../install_steps_interactive.pm_.c:854
+#: ../install_steps_interactive.pm_.c:868
#, c-format
msgid ""
"You may now provide its options to module %s.\n"
@@ -2323,58 +2352,54 @@ msgid ""
"For instance, ``io=0x300 irq=7''"
msgstr ""
-#: ../install_steps_interactive.pm_.c:857
+#: ../install_steps_interactive.pm_.c:871
msgid "Module options:"
msgstr ""
-#: ../install_steps_interactive.pm_.c:867
+#: ../install_steps_interactive.pm_.c:881
#, c-format
msgid ""
"Loading module %s failed.\n"
"Do you want to try again with other parameters?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:880
+#: ../install_steps_interactive.pm_.c:894
msgid "Try to find PCMCIA cards?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:881
+#: ../install_steps_interactive.pm_.c:895
msgid "Configuring PCMCIA cards..."
msgstr ""
-#: ../install_steps_interactive.pm_.c:881
+#: ../install_steps_interactive.pm_.c:895
msgid "PCMCIA"
msgstr ""
-#: ../install_steps_interactive.pm_.c:888
-msgid "Try to find PCI devices?"
-msgstr ""
-
-#: ../install_steps_interactive.pm_.c:892
+#: ../install_steps_interactive.pm_.c:906
#, c-format
msgid "Found %s %s interfaces"
msgstr ""
-#: ../install_steps_interactive.pm_.c:893
+#: ../install_steps_interactive.pm_.c:907
msgid "Do you have another one?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:894
+#: ../install_steps_interactive.pm_.c:908
#, c-format
msgid "Do you have any %s interface?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:896 ../interactive.pm_.c:64
+#: ../install_steps_interactive.pm_.c:910 ../interactive.pm_.c:72
#: ../my_gtk.pm_.c:422 ../printerdrake.pm_.c:176
msgid "No"
msgstr ""
-#: ../install_steps_interactive.pm_.c:896 ../interactive.pm_.c:64
+#: ../install_steps_interactive.pm_.c:910 ../interactive.pm_.c:72
#: ../my_gtk.pm_.c:422
msgid "Yes"
msgstr ""
-#: ../install_steps_interactive.pm_.c:897
+#: ../install_steps_interactive.pm_.c:911
msgid "See hardware info"
msgstr ""
@@ -2388,13 +2413,13 @@ msgid ""
" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
msgstr ""
-#: ../interactive.pm_.c:69 ../interactive.pm_.c:147
-#: ../interactive_newt.pm_.c:46 ../interactive_newt.pm_.c:90
+#: ../interactive.pm_.c:77 ../interactive.pm_.c:155
+#: ../interactive_newt.pm_.c:48 ../interactive_newt.pm_.c:92
#: ../interactive_stdio.pm_.c:27 ../my_gtk.pm_.c:193 ../my_gtk.pm_.c:423
msgid "Cancel"
msgstr ""
-#: ../interactive.pm_.c:165
+#: ../interactive.pm_.c:173
msgid "Please wait"
msgstr ""
diff --git a/perl-install/share/po/no.po b/perl-install/share/po/no.po
index e41f17317..61601b8b0 100644
--- a/perl-install/share/po/no.po
+++ b/perl-install/share/po/no.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 1999-12-06 12:50+0100\n"
+"POT-Creation-Date: 1999-12-10 14:50+0100\n"
"PO-Revision-Date: 1999-08-25 11:07+0200\n"
"Last-Translator: Terje Bjerkelia <terje@bjerkelia.com>\n"
"Language-Team: norwegian\n"
@@ -363,19 +363,15 @@ msgstr "Slett"
msgid "Format"
msgstr "Formater"
-#: ../diskdrake.pm_.c:18 ../diskdrake.pm_.c:431
-msgid "Move"
-msgstr "Flytt"
-
-#: ../diskdrake.pm_.c:18 ../diskdrake.pm_.c:490
+#: ../diskdrake.pm_.c:18 ../diskdrake.pm_.c:496
msgid "Resize"
msgstr "Endre størrelse"
-#: ../diskdrake.pm_.c:18 ../diskdrake.pm_.c:371
+#: ../diskdrake.pm_.c:18 ../diskdrake.pm_.c:377
msgid "Type"
msgstr "Type"
-#: ../diskdrake.pm_.c:19 ../diskdrake.pm_.c:393
+#: ../diskdrake.pm_.c:19 ../diskdrake.pm_.c:399
msgid "Mount point"
msgstr "Monteringspunkt"
@@ -407,8 +403,8 @@ msgstr "Gjenopprett fra diskett"
msgid "Save on floppy"
msgstr "Lagre på diskett"
-#: ../diskdrake.pm_.c:40 ../install_steps_interactive.pm_.c:506
-#: ../install_steps_interactive.pm_.c:624
+#: ../diskdrake.pm_.c:40 ../install_steps_interactive.pm_.c:515
+#: ../install_steps_interactive.pm_.c:633
msgid "Done"
msgstr "Ferdig"
@@ -488,80 +484,87 @@ msgstr "Velg handling"
msgid "Details"
msgstr "Detaljer"
-#: ../diskdrake.pm_.c:134
+#: ../diskdrake.pm_.c:124
+msgid ""
+"You have one big fat partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on ``Resize''"
+msgstr ""
+
+#: ../diskdrake.pm_.c:140
#, c-format
msgid "After %s partition %s,"
msgstr "Etter %s partisjon %s,"
-#: ../diskdrake.pm_.c:134 ../diskdrake.pm_.c:421 ../diskdrake.pm_.c:450
+#: ../diskdrake.pm_.c:140 ../diskdrake.pm_.c:427 ../diskdrake.pm_.c:456
msgid "Read carefully!"
msgstr "Les nøye!"
-#: ../diskdrake.pm_.c:134
+#: ../diskdrake.pm_.c:140
msgid "all data on this partition will be lost"
msgstr "alle data på denne partisjonen vil gå tapt"
# #: ../install_steps_interactive.pm_.c:37
-#: ../diskdrake.pm_.c:153 ../install_any.pm_.c:179 ../install_steps.pm_.c:67
+#: ../diskdrake.pm_.c:159 ../install_any.pm_.c:179 ../install_steps.pm_.c:67
#: ../install_steps_interactive.pm_.c:36
msgid "Error"
msgstr "Feil"
-#: ../diskdrake.pm_.c:177 ../diskdrake.pm_.c:571
+#: ../diskdrake.pm_.c:183 ../diskdrake.pm_.c:577
msgid "Mount point: "
msgstr "Monteringspunkt: "
-#: ../diskdrake.pm_.c:178 ../diskdrake.pm_.c:210
+#: ../diskdrake.pm_.c:184 ../diskdrake.pm_.c:216
msgid "Device: "
msgstr "Enhet: "
-#: ../diskdrake.pm_.c:179
+#: ../diskdrake.pm_.c:185
#, c-format
msgid "DOS drive letter: %s (just a guess)\n"
msgstr "DOS diskbokstav: %s (bare en gjetning)\n"
-#: ../diskdrake.pm_.c:180 ../diskdrake.pm_.c:213
+#: ../diskdrake.pm_.c:186 ../diskdrake.pm_.c:219
msgid "Type: "
msgstr "Type: "
-#: ../diskdrake.pm_.c:181
+#: ../diskdrake.pm_.c:187
#, c-format
msgid "Start: sector %s\n"
msgstr "Start: sektor %s\n"
-#: ../diskdrake.pm_.c:182
+#: ../diskdrake.pm_.c:188
#, c-format
msgid "Size: %s MB"
msgstr "Størrelse: %s MB"
-#: ../diskdrake.pm_.c:184
+#: ../diskdrake.pm_.c:190
#, c-format
msgid ", %s sectors"
msgstr ", %s sektorer"
-#: ../diskdrake.pm_.c:186
+#: ../diskdrake.pm_.c:192
#, c-format
msgid "Cylinder %d to cylinder %d\n"
msgstr "Sylinder %d til sylinder %d\n"
-#: ../diskdrake.pm_.c:187
+#: ../diskdrake.pm_.c:193
msgid "Formatted\n"
msgstr "Formatert\n"
-#: ../diskdrake.pm_.c:188
+#: ../diskdrake.pm_.c:194
msgid "Not formatted\n"
msgstr "Ikke formatert\n"
-#: ../diskdrake.pm_.c:189
+#: ../diskdrake.pm_.c:195
msgid "Mounted\n"
msgstr "Montert\n"
-#: ../diskdrake.pm_.c:190
+#: ../diskdrake.pm_.c:196
#, c-format
msgid "RAID md%s\n"
msgstr "RAID md%s\n"
-#: ../diskdrake.pm_.c:191
+#: ../diskdrake.pm_.c:197
msgid ""
"Partition booted by default\n"
" (for MS-DOS boot, not for lilo)\n"
@@ -569,57 +572,57 @@ msgstr ""
"Partisjon startet opp som standard\n"
" (for MS-DOS oppstart, ikke for lilo)\n"
-#: ../diskdrake.pm_.c:193
+#: ../diskdrake.pm_.c:199
#, c-format
msgid "Level %s\n"
msgstr "Nivå %s\n"
-#: ../diskdrake.pm_.c:194
+#: ../diskdrake.pm_.c:200
#, c-format
msgid "Chunk size %s\n"
msgstr "Blokkstørrelse %s\n"
-#: ../diskdrake.pm_.c:195
+#: ../diskdrake.pm_.c:201
#, c-format
msgid "RAID-disks %s\n"
msgstr "RAID-disker %s\n"
-#: ../diskdrake.pm_.c:211
+#: ../diskdrake.pm_.c:217
#, c-format
msgid "Size: %d MB\n"
msgstr "Størrelse: %d MB\n"
-#: ../diskdrake.pm_.c:212
+#: ../diskdrake.pm_.c:218
#, c-format
msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
msgstr "Geometri: %s sylindere, %s hoder, %s sektorer\n"
-#: ../diskdrake.pm_.c:214
+#: ../diskdrake.pm_.c:220
#, c-format
msgid "on bus %d id %d\n"
msgstr "på buss %d id %d\n"
-#: ../diskdrake.pm_.c:226
+#: ../diskdrake.pm_.c:232
msgid "Mount"
msgstr "Monter"
-#: ../diskdrake.pm_.c:228
+#: ../diskdrake.pm_.c:234
msgid "Active"
msgstr "Aktiv"
-#: ../diskdrake.pm_.c:229
+#: ../diskdrake.pm_.c:235
msgid "Add to RAID"
msgstr "Legg til RAID"
-#: ../diskdrake.pm_.c:230
+#: ../diskdrake.pm_.c:236
msgid "Remove from RAID"
msgstr "Fjern fra RAID"
-#: ../diskdrake.pm_.c:231
+#: ../diskdrake.pm_.c:237
msgid "Modify RAID"
msgstr "Modifiser RAID"
-#: ../diskdrake.pm_.c:327
+#: ../diskdrake.pm_.c:333
msgid ""
"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
"1024).\n"
@@ -631,7 +634,7 @@ msgstr ""
"Enten bruker du LILO og denne ikke virker, eller du bruker ikke LILO og du "
"trenger ikke /boot"
-#: ../diskdrake.pm_.c:331
+#: ../diskdrake.pm_.c:337
msgid ""
"The partition you've selected to add as root (/) is physically located "
"beyond\n"
@@ -644,132 +647,137 @@ msgstr ""
"Hvis du skal bruke oppstartshåndtereren LILO, vær nøye med å legge til en\n"
"/boot partisjon"
-#: ../diskdrake.pm_.c:345
+#: ../diskdrake.pm_.c:351
msgid "Continue anyway?"
msgstr "Fortsette likevel?"
-#: ../diskdrake.pm_.c:350
+#: ../diskdrake.pm_.c:356
msgid "Quit without saving"
msgstr "Avslutt uten å lagre"
-#: ../diskdrake.pm_.c:350
+#: ../diskdrake.pm_.c:356
msgid "Quit without writing the partition table?"
msgstr "Avslutt uten å skrive partisjonstabellen?"
-#: ../diskdrake.pm_.c:366
+#: ../diskdrake.pm_.c:372
msgid "changing type of"
msgstr "endrer type av"
-#: ../diskdrake.pm_.c:369
+#: ../diskdrake.pm_.c:375
msgid "Change partition type"
msgstr "Endre partisjonstype"
-#: ../diskdrake.pm_.c:370
+#: ../diskdrake.pm_.c:376
msgid "Which partition type do you want?"
msgstr "Hvilken partisjonstype ønsker du?"
-#: ../diskdrake.pm_.c:392
+#: ../diskdrake.pm_.c:398
#, c-format
msgid "Where do you want to mount device %s?"
msgstr "Hvor vil du montere %s enheten?"
-#: ../diskdrake.pm_.c:414
+#: ../diskdrake.pm_.c:420
msgid "formatting"
msgstr "formatering"
-#: ../diskdrake.pm_.c:416
+#: ../diskdrake.pm_.c:422
msgid "Formatting"
msgstr "Formatering"
-#: ../diskdrake.pm_.c:416 ../install_steps_interactive.pm_.c:210
+#: ../diskdrake.pm_.c:422 ../install_steps_interactive.pm_.c:210
#, c-format
msgid "Formatting partition %s"
msgstr "Formaterer partisjon %s"
-#: ../diskdrake.pm_.c:421
+#: ../diskdrake.pm_.c:427
msgid "After formatting all partitions,"
msgstr "Etter formatering av alle partisjonene,"
-#: ../diskdrake.pm_.c:421
+#: ../diskdrake.pm_.c:427
msgid "all data on these partitions will be lost"
msgstr "alle data på disse partisjonene vil gå tapt"
-#: ../diskdrake.pm_.c:432
+#: ../diskdrake.pm_.c:437
+msgid "Move"
+msgstr "Flytt"
+
+#: ../diskdrake.pm_.c:438
msgid "Which disk do you want to move to?"
msgstr "Hvilken disk vil du flytte til?"
-#: ../diskdrake.pm_.c:436
+#: ../diskdrake.pm_.c:442
msgid "Sector"
msgstr "Sektor"
-#: ../diskdrake.pm_.c:437
+#: ../diskdrake.pm_.c:443
msgid "Which sector do you want to move to?"
msgstr "Hvilken sektor vil du flytte til?"
-#: ../diskdrake.pm_.c:440
+#: ../diskdrake.pm_.c:446
msgid "Moving"
msgstr "Flytter"
-#: ../diskdrake.pm_.c:440
+#: ../diskdrake.pm_.c:446
msgid "Moving partition..."
msgstr "Flytter partisjon..."
-#: ../diskdrake.pm_.c:450
+#: ../diskdrake.pm_.c:456
#, c-format
msgid "Partition table of drive %s is going to be written to disk!"
msgstr "Partisjonstabellen på disk %s blir nå skrevet til disk!"
-#: ../diskdrake.pm_.c:452
+#: ../diskdrake.pm_.c:458
msgid "You'll need to reboot before the modification can take place"
msgstr "Du må starte maskinen på nytt for at modifiseringene skal tre i kraft"
-#: ../diskdrake.pm_.c:473
+#: ../diskdrake.pm_.c:479 ../install_steps_gtk.pm_.c:254
msgid "Computing fat filesystem bounds"
msgstr "Beregner fat filsystemgrense"
-#: ../diskdrake.pm_.c:473 ../diskdrake.pm_.c:518
+#: ../diskdrake.pm_.c:479 ../diskdrake.pm_.c:524
+#: ../install_steps_gtk.pm_.c:254
msgid "Resizing"
msgstr "Endrer størrelse"
-#: ../diskdrake.pm_.c:487
+#: ../diskdrake.pm_.c:493
msgid "resizing"
msgstr "endrer størrelse"
-#: ../diskdrake.pm_.c:497
+#: ../diskdrake.pm_.c:503
msgid "Choose the new size"
msgstr "Velg den nye størrelsen"
-#: ../diskdrake.pm_.c:497 ../install_steps_graphical.pm_.c:287
-#: ../install_steps_graphical.pm_.c:334 ../install_steps_gtk.pm_.c:287
-#: ../install_steps_gtk.pm_.c:336
+#: ../diskdrake.pm_.c:503 ../install_steps_graphical.pm_.c:287
+#: ../install_steps_graphical.pm_.c:334 ../install_steps_gtk.pm_.c:319
+#: ../install_steps_gtk.pm_.c:368
msgid "MB"
msgstr "MB"
-#: ../diskdrake.pm_.c:548
+#: ../diskdrake.pm_.c:554
msgid "Create a new partition"
msgstr "Opprette en ny partisjon"
-#: ../diskdrake.pm_.c:564
+#: ../diskdrake.pm_.c:570
msgid "Start sector: "
msgstr "Start sektor: "
-#: ../diskdrake.pm_.c:567
+#: ../diskdrake.pm_.c:573
msgid "Size in MB: "
msgstr "Størrelse i MB: "
-#: ../diskdrake.pm_.c:570
+#: ../diskdrake.pm_.c:576
msgid "Filesystem type: "
msgstr "Filsystemtype: "
-#: ../diskdrake.pm_.c:572
+#: ../diskdrake.pm_.c:578
msgid "Preference: "
msgstr "Valg: "
-#: ../diskdrake.pm_.c:616 ../diskdrake.pm_.c:632
+#: ../diskdrake.pm_.c:622 ../diskdrake.pm_.c:638
msgid "Select file"
msgstr "Velg fil"
-#: ../diskdrake.pm_.c:625
+#: ../diskdrake.pm_.c:631
msgid ""
"The backup partition table has not the same size\n"
"Still continue?"
@@ -777,11 +785,11 @@ msgstr ""
"Sikkerhetskopien av partisjonstabellen har ikke samme størrelse\n"
"Fortsette for det?"
-#: ../diskdrake.pm_.c:633
+#: ../diskdrake.pm_.c:639
msgid "Warning"
msgstr "Advarsel"
-#: ../diskdrake.pm_.c:634
+#: ../diskdrake.pm_.c:640
msgid ""
"Insert a floppy in drive\n"
"All data on this floppy will be lost"
@@ -789,27 +797,27 @@ msgstr ""
"Sett inn en diskett i stasjonen\n"
"Alle data på denne disketten vil gå tapt"
-#: ../diskdrake.pm_.c:648
+#: ../diskdrake.pm_.c:654
msgid "Trying to rescue partition table"
msgstr "Prøver å redde partisjonstabell"
-#: ../diskdrake.pm_.c:659
+#: ../diskdrake.pm_.c:665
msgid "device"
msgstr "enhet"
-#: ../diskdrake.pm_.c:660
+#: ../diskdrake.pm_.c:666
msgid "level"
msgstr "nivå"
-#: ../diskdrake.pm_.c:661
+#: ../diskdrake.pm_.c:667
msgid "chunk size"
msgstr "blokkstørrelse"
-#: ../diskdrake.pm_.c:673
+#: ../diskdrake.pm_.c:679
msgid "Choose an existing RAID to add to"
msgstr "Velg en eksisterende RAID for å legge til"
-#: ../diskdrake.pm_.c:674
+#: ../diskdrake.pm_.c:680
msgid "new"
msgstr "ny"
@@ -836,21 +844,21 @@ msgstr "montering mislykket: "
msgid "error unmounting %s: %s"
msgstr "feil ved demontering av %s: %s"
-#: ../fsedit.pm_.c:185
+#: ../fsedit.pm_.c:218
msgid "Mount points must begin with a leading /"
msgstr "Monteringspunkter må begynne med /"
-#: ../fsedit.pm_.c:188
+#: ../fsedit.pm_.c:221
#, c-format
msgid "There is already a partition with mount point %s"
msgstr "Det finnes allerede en partisjon med monteringspunkt %s"
-#: ../fsedit.pm_.c:272
+#: ../fsedit.pm_.c:305
#, c-format
msgid "Error opening %s for writing: %s"
msgstr "Feil ved åpning av %s for skriving: %s"
-#: ../fsedit.pm_.c:344
+#: ../fsedit.pm_.c:377
msgid ""
"An error has occurred - no valid devices were found on which to create new "
"filesystems. Please check your hardware for the cause of this problem"
@@ -858,7 +866,7 @@ msgstr ""
"En feil har oppstått - ingen gyldige enheter ble funnet for å opprette nye "
"filsystemer. Vennligst sjekk maskinvaren din for årsaken til dette problemet"
-#: ../fsedit.pm_.c:359
+#: ../fsedit.pm_.c:392
msgid "You don't have any partitions!"
msgstr "Du har ingen partisjoner!"
@@ -1709,8 +1717,8 @@ msgstr "Konfigurer tidssone"
msgid "Configure printer"
msgstr "Konfigurer skriver"
-#: ../install2.pm_.c:58 ../install_steps_interactive.pm_.c:464
-#: ../install_steps_interactive.pm_.c:465
+#: ../install2.pm_.c:58 ../install_steps_interactive.pm_.c:473
+#: ../install_steps_interactive.pm_.c:474
msgid "Set root password"
msgstr "Sett root-passord"
@@ -1750,11 +1758,11 @@ msgstr "ekspert"
msgid "server"
msgstr "tjener"
-#: ../install2.pm_.c:300
+#: ../install2.pm_.c:308
msgid "Partitioning failed: no root filesystem"
msgstr "Partisjonering feilet: intet root-filsystem"
-#: ../install2.pm_.c:314
+#: ../install2.pm_.c:322
msgid "Not enough swap to fulfill installation, please add some"
msgstr ""
"Ikke nok vekslingsplass til å fullføre installasjonen, du må legge til mer"
@@ -1796,11 +1804,11 @@ msgstr "Ingen root-partisjon funnet"
msgid "Can't use broadcast with no NIS domain"
msgstr "Kan ikke bruke broadcast uten NIS domene"
-#: ../install_any.pm_.c:443
+#: ../install_any.pm_.c:451
msgid "Error reading file $f"
msgstr "Feil ved lesing av fil $f"
-#: ../install_any.pm_.c:449
+#: ../install_any.pm_.c:457
#, c-format
msgid "Bad kickstart file %s (failed %s)"
msgstr "Dårlig kickstart-fil %s (mislykket %s)"
@@ -1819,7 +1827,7 @@ msgstr ""
msgid "Duplicate mount point %s"
msgstr "Dupliser monteringspunkt %s"
-#: ../install_steps.pm_.c:458
+#: ../install_steps.pm_.c:493
msgid "No floppy drive available"
msgstr "Ingen diskettstasjon tilgjengelig"
@@ -1828,11 +1836,11 @@ msgstr "Ingen diskettstasjon tilgjengelig"
msgid "Entering step `%s'\n"
msgstr "Entrer trinn `%s'\n"
-#: ../install_steps_graphical.pm_.c:259 ../install_steps_gtk.pm_.c:252
+#: ../install_steps_graphical.pm_.c:259 ../install_steps_gtk.pm_.c:284
msgid "You must have a swap partition"
msgstr "Du må ha en vekslingspartisjon"
-#: ../install_steps_graphical.pm_.c:261 ../install_steps_gtk.pm_.c:254
+#: ../install_steps_graphical.pm_.c:261 ../install_steps_gtk.pm_.c:286
msgid ""
"You don't have a swap partition\n"
"\n"
@@ -1842,95 +1850,104 @@ msgstr ""
"\n"
"Fortsette likevel?"
-#: ../install_steps_graphical.pm_.c:287 ../install_steps_gtk.pm_.c:287
+#: ../install_steps_graphical.pm_.c:287 ../install_steps_gtk.pm_.c:319
msgid "Choose the size you want to install"
msgstr "Velg størrelsen du ønsker å installere"
-#: ../install_steps_graphical.pm_.c:334 ../install_steps_gtk.pm_.c:336
+#: ../install_steps_graphical.pm_.c:334 ../install_steps_gtk.pm_.c:368
msgid "Total size: "
msgstr "Total størrelse: "
-#: ../install_steps_graphical.pm_.c:346 ../install_steps_gtk.pm_.c:348
+#: ../install_steps_graphical.pm_.c:346 ../install_steps_gtk.pm_.c:380
#, c-format
msgid "Version: %s\n"
msgstr "Versjon: %s\n"
-#: ../install_steps_graphical.pm_.c:347 ../install_steps_gtk.pm_.c:349
+#: ../install_steps_graphical.pm_.c:347 ../install_steps_gtk.pm_.c:381
#, c-format
msgid "Size: %d KB\n"
msgstr "Størrelse: %d KB\n"
-#: ../install_steps_graphical.pm_.c:462 ../install_steps_gtk.pm_.c:464
+#: ../install_steps_graphical.pm_.c:462 ../install_steps_gtk.pm_.c:496
msgid "Choose the packages you want to install"
msgstr "Velg pakkene du ønsker å installere"
-#: ../install_steps_graphical.pm_.c:465 ../install_steps_gtk.pm_.c:467
+#: ../install_steps_graphical.pm_.c:465 ../install_steps_gtk.pm_.c:499
msgid "Info"
msgstr "Info"
-#: ../install_steps_graphical.pm_.c:473 ../install_steps_gtk.pm_.c:475
+#: ../install_steps_graphical.pm_.c:473 ../install_steps_gtk.pm_.c:507
#: ../install_steps_interactive.pm_.c:80
msgid "Install"
msgstr "Installer"
-#: ../install_steps_graphical.pm_.c:492 ../install_steps_gtk.pm_.c:494
+#: ../install_steps_graphical.pm_.c:492 ../install_steps_gtk.pm_.c:526
#: ../install_steps_interactive.pm_.c:249
msgid "Installing"
msgstr "Installerer"
-#: ../install_steps_graphical.pm_.c:499 ../install_steps_gtk.pm_.c:501
+#: ../install_steps_graphical.pm_.c:499 ../install_steps_gtk.pm_.c:533
msgid "Please wait, "
msgstr "Vennligst vent, "
-#: ../install_steps_graphical.pm_.c:501 ../install_steps_gtk.pm_.c:503
+#: ../install_steps_graphical.pm_.c:501 ../install_steps_gtk.pm_.c:535
msgid "Time remaining "
msgstr "Tid som gjenstår "
-#: ../install_steps_graphical.pm_.c:502 ../install_steps_gtk.pm_.c:504
+#: ../install_steps_graphical.pm_.c:502 ../install_steps_gtk.pm_.c:536
msgid "Total time "
msgstr "Total tid "
-#: ../install_steps_graphical.pm_.c:507 ../install_steps_gtk.pm_.c:509
+#: ../install_steps_graphical.pm_.c:507 ../install_steps_gtk.pm_.c:541
#: ../install_steps_interactive.pm_.c:249
msgid "Preparing installation"
msgstr "Forbereder installasjon"
-#: ../install_steps_graphical.pm_.c:528 ../install_steps_gtk.pm_.c:524
+#: ../install_steps_graphical.pm_.c:528 ../install_steps_gtk.pm_.c:556
#, c-format
msgid "Installing package %s"
msgstr "Installerer pakke %s"
-#: ../install_steps_graphical.pm_.c:553 ../install_steps_gtk.pm_.c:549
+#: ../install_steps_graphical.pm_.c:553 ../install_steps_gtk.pm_.c:581
msgid "Go on anyway?"
msgstr "Fortsette uansett?"
-#: ../install_steps_graphical.pm_.c:553 ../install_steps_gtk.pm_.c:549
+#: ../install_steps_graphical.pm_.c:553 ../install_steps_gtk.pm_.c:581
msgid "There was an error ordering packages:"
msgstr "Det var en feil ved endring av pakkenes rekkefølge:"
-#: ../install_steps_graphical.pm_.c:577 ../install_steps_interactive.pm_.c:765
+#: ../install_steps_graphical.pm_.c:577 ../install_steps_interactive.pm_.c:777
msgid "Use existing configuration for X11?"
msgstr "Bruke eksisterende konfigurasjon for X11?"
-#: ../install_steps_gtk.pm_.c:284
+#: ../install_steps_gtk.pm_.c:258
+msgid "TODO"
+msgstr ""
+
+#: ../install_steps_gtk.pm_.c:268
+#, fuzzy
+msgid "Automatic resizing failed"
+msgstr "Automatiske oppløsninger"
+
+#: ../install_steps_gtk.pm_.c:316
#, c-format
msgid "Going to install %d MB. You can choose to install more programs"
msgstr "%d MB vil bli installert. Du kan velge å installere flere programmer"
-#: ../install_steps_gtk.pm_.c:285
+#: ../install_steps_gtk.pm_.c:317
msgid "You will be able to choose more precisely in next step"
msgstr "Du vil kunne velge mere presist i neste steg"
-#: ../install_steps_gtk.pm_.c:497
+#: ../install_steps_gtk.pm_.c:529
msgid "Estimating"
msgstr "Beregner"
-#: ../install_steps_gtk.pm_.c:519
+#: ../install_steps_gtk.pm_.c:551
#, c-format
msgid "%d packages"
msgstr "%d pakker"
-#: ../install_steps_gtk.pm_.c:519
+#: ../install_steps_gtk.pm_.c:551
msgid ", %U MB"
msgstr ", %U MB"
@@ -2204,9 +2221,9 @@ msgid "Login ID"
msgstr "Login ID"
#: ../install_steps_interactive.pm_.c:395
-#: ../install_steps_interactive.pm_.c:466
-#: ../install_steps_interactive.pm_.c:512
-#: ../install_steps_interactive.pm_.c:603
+#: ../install_steps_interactive.pm_.c:475
+#: ../install_steps_interactive.pm_.c:521
+#: ../install_steps_interactive.pm_.c:612
msgid "Password"
msgstr "Passord"
@@ -2242,121 +2259,126 @@ msgstr "Første DNS-tjener"
msgid "Second DNS Server"
msgstr "Andre DNS-tjener"
-#: ../install_steps_interactive.pm_.c:417
+#: ../install_steps_interactive.pm_.c:412
+#, fuzzy
+msgid "Bringing up the network"
+msgstr "Konfigurerer nettverk"
+
+#: ../install_steps_interactive.pm_.c:426
msgid "Choose a mirror from which to get the packages"
msgstr "Velg et speil som pakkene kan hentes fra"
-#: ../install_steps_interactive.pm_.c:420
+#: ../install_steps_interactive.pm_.c:429
msgid "Contacting the mirror to get the list of available packages"
msgstr "Kontakter speilet for å få en liste over tilgjengelige pakker"
-#: ../install_steps_interactive.pm_.c:424
+#: ../install_steps_interactive.pm_.c:433
msgid "Which packages do you want to install"
msgstr "Hvilke pakker ønsker du å installere"
-#: ../install_steps_interactive.pm_.c:426
+#: ../install_steps_interactive.pm_.c:435
msgid "Downloading cryptographic packages"
msgstr "Laster ned kryptografiske pakker"
-#: ../install_steps_interactive.pm_.c:436
+#: ../install_steps_interactive.pm_.c:445
msgid "Which is your timezone?"
msgstr "Hvilken er tidsonen din?"
-#: ../install_steps_interactive.pm_.c:437
+#: ../install_steps_interactive.pm_.c:446
msgid "Is your hardware clock set to GMT?"
msgstr "Er maskinvareklokken din satt til GMT?"
-#: ../install_steps_interactive.pm_.c:447
+#: ../install_steps_interactive.pm_.c:456
msgid "Printer"
msgstr "Skriver"
-#: ../install_steps_interactive.pm_.c:448
+#: ../install_steps_interactive.pm_.c:457
msgid "Would you like to configure a printer?"
msgstr "Ønsker du å konfigurere en skriver?"
-#: ../install_steps_interactive.pm_.c:464
+#: ../install_steps_interactive.pm_.c:473
msgid "No password"
msgstr "Intet passord"
-#: ../install_steps_interactive.pm_.c:464
-#: ../install_steps_interactive.pm_.c:674 ../interactive.pm_.c:59
-#: ../interactive.pm_.c:69 ../interactive.pm_.c:148
-#: ../interactive_newt.pm_.c:46 ../interactive_newt.pm_.c:90
+#: ../install_steps_interactive.pm_.c:473
+#: ../install_steps_interactive.pm_.c:683 ../interactive.pm_.c:67
+#: ../interactive.pm_.c:77 ../interactive.pm_.c:156
+#: ../interactive_newt.pm_.c:48 ../interactive_newt.pm_.c:92
#: ../interactive_stdio.pm_.c:27 ../my_gtk.pm_.c:192 ../my_gtk.pm_.c:423
#: ../my_gtk.pm_.c:523
msgid "Ok"
msgstr "Ok"
-#: ../install_steps_interactive.pm_.c:467
-#: ../install_steps_interactive.pm_.c:513
+#: ../install_steps_interactive.pm_.c:476
+#: ../install_steps_interactive.pm_.c:522
msgid "Password (again)"
msgstr "Passord (igjen)"
-#: ../install_steps_interactive.pm_.c:469
+#: ../install_steps_interactive.pm_.c:478
msgid "Use shadow file"
msgstr "Bruk skyggefil"
-#: ../install_steps_interactive.pm_.c:469
+#: ../install_steps_interactive.pm_.c:478
msgid "shadow"
msgstr "skygge"
-#: ../install_steps_interactive.pm_.c:470
+#: ../install_steps_interactive.pm_.c:479
msgid "MD5"
msgstr "MD5"
-#: ../install_steps_interactive.pm_.c:470
+#: ../install_steps_interactive.pm_.c:479
msgid "Use MD5 passwords"
msgstr "Bruk MD5 passord"
-#: ../install_steps_interactive.pm_.c:472
+#: ../install_steps_interactive.pm_.c:481
msgid "Use NIS"
msgstr "Bruk NIS"
-#: ../install_steps_interactive.pm_.c:472
+#: ../install_steps_interactive.pm_.c:481
msgid "yellow pages"
msgstr "gule sider"
-#: ../install_steps_interactive.pm_.c:476
-#: ../install_steps_interactive.pm_.c:524
+#: ../install_steps_interactive.pm_.c:485
+#: ../install_steps_interactive.pm_.c:533
msgid "Please try again"
msgstr "Vennligst prøv igjen"
-#: ../install_steps_interactive.pm_.c:476
-#: ../install_steps_interactive.pm_.c:524
+#: ../install_steps_interactive.pm_.c:485
+#: ../install_steps_interactive.pm_.c:533
msgid "The passwords do not match"
msgstr "Passordene stemmer ikke overens"
-#: ../install_steps_interactive.pm_.c:478
-#: ../install_steps_interactive.pm_.c:525
+#: ../install_steps_interactive.pm_.c:487
+#: ../install_steps_interactive.pm_.c:534
msgid "This password is too simple"
msgstr "Dette passordet er for enkelt"
-#: ../install_steps_interactive.pm_.c:485
+#: ../install_steps_interactive.pm_.c:494
msgid "Authentification NIS"
msgstr "Autentifikasjon NIS"
-#: ../install_steps_interactive.pm_.c:486
+#: ../install_steps_interactive.pm_.c:495
msgid "NIS Domain"
msgstr "NIS-domene"
-#: ../install_steps_interactive.pm_.c:486
+#: ../install_steps_interactive.pm_.c:495
msgid "NIS Server"
msgstr "NIS-tjener"
-#: ../install_steps_interactive.pm_.c:506
+#: ../install_steps_interactive.pm_.c:515
msgid "Accept user"
msgstr "Godta bruker"
-#: ../install_steps_interactive.pm_.c:506
+#: ../install_steps_interactive.pm_.c:515
msgid "Add user"
msgstr "Legg til bruker"
-#: ../install_steps_interactive.pm_.c:507
+#: ../install_steps_interactive.pm_.c:516
#, c-format
msgid "(already added %s)"
msgstr "(allerede lagt til %s)"
-#: ../install_steps_interactive.pm_.c:507
+#: ../install_steps_interactive.pm_.c:516
#, c-format
msgid ""
"Enter a user\n"
@@ -2365,32 +2387,32 @@ msgstr ""
"Entre en bruker\n"
"%s"
-#: ../install_steps_interactive.pm_.c:509
+#: ../install_steps_interactive.pm_.c:518
msgid "Real name"
msgstr "Virkelig navn"
-#: ../install_steps_interactive.pm_.c:510
+#: ../install_steps_interactive.pm_.c:519
msgid "User name"
msgstr "Brukernavn"
-#: ../install_steps_interactive.pm_.c:515
+#: ../install_steps_interactive.pm_.c:524
msgid "Shell"
msgstr "Skall"
-#: ../install_steps_interactive.pm_.c:526
+#: ../install_steps_interactive.pm_.c:535
msgid "Please give a user name"
msgstr "Vennligst oppgi et brukernavn"
-#: ../install_steps_interactive.pm_.c:527
+#: ../install_steps_interactive.pm_.c:536
msgid ""
"The user name must contain only lower cased letters, numbers, `-' and `_'"
msgstr "Brukernavnet kan kun inneholde små bokstaver, tall, `-' og `_'"
-#: ../install_steps_interactive.pm_.c:528
+#: ../install_steps_interactive.pm_.c:537
msgid "This user name is already added"
msgstr "Denne brukeren er allerede lagt til"
-#: ../install_steps_interactive.pm_.c:549
+#: ../install_steps_interactive.pm_.c:558
msgid ""
"A custom bootdisk provides a way of booting into your Linux system without\n"
"depending on the normal bootloader. This is useful if you don't want to "
@@ -2414,98 +2436,98 @@ msgstr ""
"systemsvikt.\n"
"Ønsker du å opprette en oppstartsdiskett for systemet ditt?"
-#: ../install_steps_interactive.pm_.c:558
+#: ../install_steps_interactive.pm_.c:567
msgid "Sorry, no floppy drive available"
msgstr "Beklager, ingen diskettstasjon tilgjengelig"
-#: ../install_steps_interactive.pm_.c:561
+#: ../install_steps_interactive.pm_.c:570
msgid "Choose the floppy drive you want to use to make the bootdisk"
msgstr "Velg diskettstasjonen du ønsker å bruke for å lage oppstartsdisketten"
-#: ../install_steps_interactive.pm_.c:562
+#: ../install_steps_interactive.pm_.c:571
msgid "Skip"
msgstr "Dropp"
-#: ../install_steps_interactive.pm_.c:566
+#: ../install_steps_interactive.pm_.c:575
#, c-format
msgid "Insert a floppy in drive %s"
msgstr "Sett inn en diskett i stasjon %s"
-#: ../install_steps_interactive.pm_.c:567
+#: ../install_steps_interactive.pm_.c:576
msgid "Creating bootdisk"
msgstr "Oppretter oppstartdiskett"
-#: ../install_steps_interactive.pm_.c:574
+#: ../install_steps_interactive.pm_.c:583
msgid "Preparing bootloader"
msgstr "Klargjør oppstartslaster"
-#: ../install_steps_interactive.pm_.c:586
+#: ../install_steps_interactive.pm_.c:595
msgid "First sector of boot partition"
msgstr "Første sektor av oppstartspartisjon"
-#: ../install_steps_interactive.pm_.c:586
+#: ../install_steps_interactive.pm_.c:595
msgid "First sector of drive (MBR)"
msgstr "Første sektor av disk (MBR)"
-#: ../install_steps_interactive.pm_.c:590
+#: ../install_steps_interactive.pm_.c:599
msgid "LILO Installation"
msgstr "LILO-installasjon"
-#: ../install_steps_interactive.pm_.c:591
+#: ../install_steps_interactive.pm_.c:600
msgid "Where do you want to install the bootloader?"
msgstr "Hvor vil du installere oppstartslasteren?"
-#: ../install_steps_interactive.pm_.c:594
+#: ../install_steps_interactive.pm_.c:603
msgid "Do you want to use LILO?"
msgstr "Ønsker du å bruke LILO?"
-#: ../install_steps_interactive.pm_.c:597
+#: ../install_steps_interactive.pm_.c:606
msgid "Boot device"
msgstr "Oppstartsenhet"
-#: ../install_steps_interactive.pm_.c:598
+#: ../install_steps_interactive.pm_.c:607
msgid "Linear (needed for some SCSI drives)"
msgstr "Lineær (behøves av noen SCSI-disker)"
-#: ../install_steps_interactive.pm_.c:598
+#: ../install_steps_interactive.pm_.c:607
msgid "linear"
msgstr "lineær"
-#: ../install_steps_interactive.pm_.c:599
+#: ../install_steps_interactive.pm_.c:608
msgid "Compact"
msgstr "Kompakt"
-#: ../install_steps_interactive.pm_.c:599
+#: ../install_steps_interactive.pm_.c:608
msgid "compact"
msgstr "kompakt"
-#: ../install_steps_interactive.pm_.c:600
+#: ../install_steps_interactive.pm_.c:609
msgid "Delay before booting default image"
msgstr "Forsinkelse før oppstart av standard bilde"
-#: ../install_steps_interactive.pm_.c:601
+#: ../install_steps_interactive.pm_.c:610
msgid "Video mode"
msgstr "Skjerm-modus"
-#: ../install_steps_interactive.pm_.c:604
+#: ../install_steps_interactive.pm_.c:613
msgid "Restrict command line options"
msgstr "Begrense kommandolinje-opsjoner"
-#: ../install_steps_interactive.pm_.c:604
+#: ../install_steps_interactive.pm_.c:613
msgid "restrict"
msgstr "begrense"
-#: ../install_steps_interactive.pm_.c:610
+#: ../install_steps_interactive.pm_.c:619
msgid "LILO main options"
msgstr "LILO hovedopsjoner"
-#: ../install_steps_interactive.pm_.c:613
+#: ../install_steps_interactive.pm_.c:622
msgid ""
"Option ``Restrict command line options'' is of no use without a password"
msgstr ""
"Opsjon ``Begrense kommandolinje-opsjoner'' kan ikke brukes uten et passord"
-#: ../install_steps_interactive.pm_.c:622
+#: ../install_steps_interactive.pm_.c:631
msgid ""
"Here are the following entries in LILO.\n"
"You can add some more or change the existent ones."
@@ -2513,154 +2535,163 @@ msgstr ""
"Her er følgende oppføringer i LILO\n"
"Du kan legge til noen flere eller endre de eksisterende."
-#: ../install_steps_interactive.pm_.c:624
+#: ../install_steps_interactive.pm_.c:633
msgid "Add"
msgstr "Legg til"
-#: ../install_steps_interactive.pm_.c:633
+#: ../install_steps_interactive.pm_.c:642
msgid "Linux"
msgstr "Linux"
-#: ../install_steps_interactive.pm_.c:633
+#: ../install_steps_interactive.pm_.c:642
msgid "Other OS (windows...)"
msgstr "Andre OS (windows...)"
-#: ../install_steps_interactive.pm_.c:633
+#: ../install_steps_interactive.pm_.c:642
msgid "Which type of entry do you want to add"
msgstr "Hvilken inngangstype vil du legge til"
-#: ../install_steps_interactive.pm_.c:653
+#: ../install_steps_interactive.pm_.c:662
msgid "Image"
msgstr "Bilde"
-#: ../install_steps_interactive.pm_.c:654
-#: ../install_steps_interactive.pm_.c:662
+#: ../install_steps_interactive.pm_.c:663
+#: ../install_steps_interactive.pm_.c:671
msgid "Root"
msgstr "Root"
-#: ../install_steps_interactive.pm_.c:655
+#: ../install_steps_interactive.pm_.c:664
msgid "Append"
msgstr "Tilføye"
-#: ../install_steps_interactive.pm_.c:656
+#: ../install_steps_interactive.pm_.c:665
msgid "Initrd"
msgstr "Initrd"
-#: ../install_steps_interactive.pm_.c:657
+#: ../install_steps_interactive.pm_.c:666
msgid "Read-write"
msgstr "Les-skriv"
-#: ../install_steps_interactive.pm_.c:663
+#: ../install_steps_interactive.pm_.c:672
msgid "Table"
msgstr "Tabell"
-#: ../install_steps_interactive.pm_.c:664
+#: ../install_steps_interactive.pm_.c:673
msgid "Unsafe"
msgstr "Usikker"
-#: ../install_steps_interactive.pm_.c:669
+#: ../install_steps_interactive.pm_.c:678
msgid "Label"
msgstr "Etikett"
-#: ../install_steps_interactive.pm_.c:671
+#: ../install_steps_interactive.pm_.c:680
msgid "Default"
msgstr "Standard"
-#: ../install_steps_interactive.pm_.c:674
+#: ../install_steps_interactive.pm_.c:683
msgid "Remove entry"
msgstr "Fjern inngang"
-#: ../install_steps_interactive.pm_.c:677
+#: ../install_steps_interactive.pm_.c:686
msgid "Empty label not allowed"
msgstr "Tom etikett er ikke tillatt"
-#: ../install_steps_interactive.pm_.c:678
+#: ../install_steps_interactive.pm_.c:687
msgid "This label is already in use"
msgstr "Denne etiketten er allerede i bruk"
-#: ../install_steps_interactive.pm_.c:679
+#: ../install_steps_interactive.pm_.c:688
#, c-format
msgid "A entry %s already exists"
msgstr "En inngang %s eksisterer ellerede"
-#: ../install_steps_interactive.pm_.c:693
+#: ../install_steps_interactive.pm_.c:702
msgid "Installation of LILO failed. The following error occured:"
msgstr "Installasjon av LILO mislykket. Følgende feil oppsto:"
-#: ../install_steps_interactive.pm_.c:706
+#: ../install_steps_interactive.pm_.c:715
msgid "Proxies configuration"
msgstr "Proxy-konfigurasjon"
-#: ../install_steps_interactive.pm_.c:707
+#: ../install_steps_interactive.pm_.c:716
msgid "HTTP proxy"
msgstr "HTTP-proxy"
-#: ../install_steps_interactive.pm_.c:708
+#: ../install_steps_interactive.pm_.c:717
msgid "FTP proxy"
msgstr "FTP-proxy"
-#: ../install_steps_interactive.pm_.c:714
+#: ../install_steps_interactive.pm_.c:723
msgid "Proxy should be http://..."
msgstr "Proxy burde være http://..."
-#: ../install_steps_interactive.pm_.c:715
+#: ../install_steps_interactive.pm_.c:724
msgid "Proxy should be ftp://..."
msgstr "Proxy burde være ftp://..."
-#: ../install_steps_interactive.pm_.c:725
+#: ../install_steps_interactive.pm_.c:734
msgid "Windows(TM)"
msgstr "Windows(TM)"
-#: ../install_steps_interactive.pm_.c:726
+#: ../install_steps_interactive.pm_.c:735
msgid "Poor"
msgstr "Dårlig"
-#: ../install_steps_interactive.pm_.c:727
+#: ../install_steps_interactive.pm_.c:736
msgid "Low"
msgstr "Lav"
-#: ../install_steps_interactive.pm_.c:728
+#: ../install_steps_interactive.pm_.c:737
msgid "Medium"
msgstr "Medium"
-#: ../install_steps_interactive.pm_.c:729
+#: ../install_steps_interactive.pm_.c:738
msgid "High"
msgstr "Høy"
-#: ../install_steps_interactive.pm_.c:730
+#: ../install_steps_interactive.pm_.c:739
msgid "Paranoid"
msgstr "Paranoid"
-#: ../install_steps_interactive.pm_.c:741
+#: ../install_steps_interactive.pm_.c:752
msgid "Miscellaneous questions"
msgstr "Forskjellige spørsmål"
-#: ../install_steps_interactive.pm_.c:742
+#: ../install_steps_interactive.pm_.c:753
msgid "(may cause data corruption)"
msgstr "(kan forårsake korrupsjon av data)"
-#: ../install_steps_interactive.pm_.c:742
+#: ../install_steps_interactive.pm_.c:753
msgid "Use hard drive optimisations?"
msgstr "Bruk harddisk-optimisering?"
-#: ../install_steps_interactive.pm_.c:743
+#: ../install_steps_interactive.pm_.c:754
msgid "Choose security level"
msgstr "Velg sikkerhetsnivå"
-#: ../install_steps_interactive.pm_.c:744
+#: ../install_steps_interactive.pm_.c:755
#, c-format
msgid "Precise RAM size if needed (found %d MB)"
msgstr "Presiser RAM-størrelse hvis det trengs (funnet %d MB)"
-#: ../install_steps_interactive.pm_.c:746
+#: ../install_steps_interactive.pm_.c:756
+msgid "Removable media automounting"
+msgstr ""
+
+#: ../install_steps_interactive.pm_.c:758
msgid "Enable num lock at startup"
msgstr "Slå på num lock ved oppstart"
-#: ../install_steps_interactive.pm_.c:749
+#: ../install_steps_interactive.pm_.c:761
msgid "Give the ram size in Mb"
msgstr "Oppgi ram-størrelsen i Mb"
-#: ../install_steps_interactive.pm_.c:790
+#: ../install_steps_interactive.pm_.c:789
+#: ../install_steps_interactive.pm_.c:902
+msgid "Try to find PCI devices?"
+msgstr "Prøve å finne PCI-enheter?"
+
+#: ../install_steps_interactive.pm_.c:804
msgid ""
"Some steps are not completed.\n"
"\n"
@@ -2670,7 +2701,7 @@ msgstr ""
"\n"
"Ønsker du virkelig å slutte nå?"
-#: ../install_steps_interactive.pm_.c:797
+#: ../install_steps_interactive.pm_.c:811
msgid ""
"Congratulations, installation is complete.\n"
"Remove the boot media and press return to reboot.\n"
@@ -2692,26 +2723,26 @@ msgstr ""
"Informasjon om konfigurering av systemet ditt finnes i post\n"
"install-kapittelet i Official Linux Mandrake User's Guide."
-#: ../install_steps_interactive.pm_.c:806
+#: ../install_steps_interactive.pm_.c:820
msgid "Shutting down"
msgstr "Stenger av"
-#: ../install_steps_interactive.pm_.c:820
+#: ../install_steps_interactive.pm_.c:834
#, c-format
msgid "Installing driver for %s card %s"
msgstr "Installerer driver for %s kort %s"
-#: ../install_steps_interactive.pm_.c:821
+#: ../install_steps_interactive.pm_.c:835
#, c-format
msgid "(module %s)"
msgstr "(modul %s)"
-#: ../install_steps_interactive.pm_.c:831
+#: ../install_steps_interactive.pm_.c:845
#, c-format
msgid "Which %s driver should I try?"
msgstr "Hvilken %s driver burde jeg prøve?"
-#: ../install_steps_interactive.pm_.c:839
+#: ../install_steps_interactive.pm_.c:853
#, c-format
msgid ""
"In some cases, the %s driver needs to have extra information to work\n"
@@ -2731,20 +2762,20 @@ msgstr ""
"forårsake\n"
"noen skade."
-#: ../install_steps_interactive.pm_.c:844
+#: ../install_steps_interactive.pm_.c:858
msgid "Autoprobe"
msgstr "Automatisk sondering"
-#: ../install_steps_interactive.pm_.c:844
+#: ../install_steps_interactive.pm_.c:858
msgid "Specify options"
msgstr "Spesifiser opsjoner"
-#: ../install_steps_interactive.pm_.c:848
+#: ../install_steps_interactive.pm_.c:862
#, c-format
msgid "You may now provide its options to module %s."
msgstr "Du kan nå gi dens opsjoner til modul %s."
-#: ../install_steps_interactive.pm_.c:854
+#: ../install_steps_interactive.pm_.c:868
#, c-format
msgid ""
"You may now provide its options to module %s.\n"
@@ -2755,11 +2786,11 @@ msgstr ""
"Opsjonene er i format ``name=value name2=value2 ...''.\n"
"F.eks., ``io=0x300 irq=7''"
-#: ../install_steps_interactive.pm_.c:857
+#: ../install_steps_interactive.pm_.c:871
msgid "Module options:"
msgstr "Modulopsjoner:"
-#: ../install_steps_interactive.pm_.c:867
+#: ../install_steps_interactive.pm_.c:881
#, c-format
msgid ""
"Loading module %s failed.\n"
@@ -2768,47 +2799,43 @@ msgstr ""
"Lasting av modul %s feilet.\n"
"Ønsker du å prøve igjen med andre parametere?"
-#: ../install_steps_interactive.pm_.c:880
+#: ../install_steps_interactive.pm_.c:894
msgid "Try to find PCMCIA cards?"
msgstr "Prøve å finne PCMCIA-kort?"
-#: ../install_steps_interactive.pm_.c:881
+#: ../install_steps_interactive.pm_.c:895
msgid "Configuring PCMCIA cards..."
msgstr "Konfigurerer PCMCIA-kort..."
-#: ../install_steps_interactive.pm_.c:881
+#: ../install_steps_interactive.pm_.c:895
msgid "PCMCIA"
msgstr "PCMCIA"
-#: ../install_steps_interactive.pm_.c:888
-msgid "Try to find PCI devices?"
-msgstr "Prøve å finne PCI-enheter?"
-
-#: ../install_steps_interactive.pm_.c:892
+#: ../install_steps_interactive.pm_.c:906
#, c-format
msgid "Found %s %s interfaces"
msgstr "Fant %s %s grensesnitt"
-#: ../install_steps_interactive.pm_.c:893
+#: ../install_steps_interactive.pm_.c:907
msgid "Do you have another one?"
msgstr "Har du enda ett?"
-#: ../install_steps_interactive.pm_.c:894
+#: ../install_steps_interactive.pm_.c:908
#, c-format
msgid "Do you have any %s interface?"
msgstr "Har du noen %s grensesnitt?"
-#: ../install_steps_interactive.pm_.c:896 ../interactive.pm_.c:64
+#: ../install_steps_interactive.pm_.c:910 ../interactive.pm_.c:72
#: ../my_gtk.pm_.c:422 ../printerdrake.pm_.c:176
msgid "No"
msgstr "Nei"
-#: ../install_steps_interactive.pm_.c:896 ../interactive.pm_.c:64
+#: ../install_steps_interactive.pm_.c:910 ../interactive.pm_.c:72
#: ../my_gtk.pm_.c:422
msgid "Yes"
msgstr "Ja"
-#: ../install_steps_interactive.pm_.c:897
+#: ../install_steps_interactive.pm_.c:911
msgid "See hardware info"
msgstr "Se maskinvareinfo"
@@ -2823,13 +2850,13 @@ msgid ""
msgstr ""
" <Tab>/<Alt-Tab> mellom elementer | <Space> velger | <F12> neste skjerm "
-#: ../interactive.pm_.c:69 ../interactive.pm_.c:147
-#: ../interactive_newt.pm_.c:46 ../interactive_newt.pm_.c:90
+#: ../interactive.pm_.c:77 ../interactive.pm_.c:155
+#: ../interactive_newt.pm_.c:48 ../interactive_newt.pm_.c:92
#: ../interactive_stdio.pm_.c:27 ../my_gtk.pm_.c:193 ../my_gtk.pm_.c:423
msgid "Cancel"
msgstr "Avbryt"
-#: ../interactive.pm_.c:165
+#: ../interactive.pm_.c:173
msgid "Please wait"
msgstr "Vennligst vent"
ub create_packtable { my ($options, @l) = @_; my $w = Gtk2::Table->new(0, 0, $options->{homogeneous} || 0); add2hash_($options, { xpadding => 5, ypadding => 0 }); each_index { my ($i, $l) = ($::i, $_); each_index { my $j = $::i; if ($_) { ref $_ or $_ = gtknew('WrappedLabel', text => $_); $j != $#$l && !$options->{mcc} ? $w->attach($_, $j, $j + 1, $i, $i + 1, 'fill', 'fill', $options->{xpadding}, $options->{ypadding}) : $w->attach($_, $j, $j + 1, $i, $i + 1, ['expand', 'fill'], ref($_) eq 'Gtk2::ScrolledWindow' || $_->get_data('must_grow') ? ['expand', 'fill'] : [], 0, 0); $_->show; } } @$l; } @l; $w->set_col_spacings($options->{col_spacings} || 0); $w->set_row_spacings($options->{row_spacings} || 0); gtkset_border_width($w, $::isInstall ? 3 : 10); } my $wm_is_kde; sub create_okcancel { my ($w, $o_ok, $o_cancel, $_o_spread, @other) = @_; # @other is a list of extra buttons (usually help (eg: XFdrake/drakx caller) or advanced (eg: interactive caller) button) # extra buttons have the following structure [ label, handler, is_first, pack_right ] local $::isWizard = $::isWizard && !$w->{pop_it}; my $cancel; if (defined $o_cancel || defined $o_ok) { $cancel = $o_cancel; } elsif (!$::Wizard_no_previous) { $cancel = $::isWizard ? N("Previous") : N("Cancel"); } my $ok = defined $o_ok ? $o_ok : $::isWizard ? ($::Wizard_finished ? N("Finish") : N("Next")) : N("Ok"); my $bok = $ok && ($w->{ok} = gtknew('Button', text => $ok, clicked => $w->{ok_clicked} || sub { $w->{retval} = 1; Gtk2->main_quit })); my $bprev; if ($cancel) { $bprev = $w->{cancel} = gtknew('Button', text => $cancel, clicked => $w->{cancel_clicked} || sub { log::l("default cancel_clicked"); undef $w->{retval}; Gtk2->main_quit }); } $w->{wizcancel} = gtknew('Button', text => N("Cancel"), clicked => sub { die 'wizcancel' }) if $::isWizard && !$::isInstall; if (!defined $wm_is_kde) { require any; $wm_is_kde = !$::isInstall && any::running_window_manager() eq "kwin" || 0; } my $f = sub { $w->{buttons}{$_[0][0]} = gtknew('Button', text => $_[0][0], clicked => $_[0][1]) }; my @left = ((map { $f->($_) } grep { $_->[2] && !$_->[3] } @other), map { $f->($_) } grep { !$_->[2] && !$_->[3] } @other); my @right = ((map { $f->($_) } grep { $_->[2] && $_->[3] } @other), map { $f->($_) } grep { !$_->[2] && $_->[3] } @other); # we put space to group buttons in two packs (but if there's only one when not in wizard mode) # but in the installer where all windows run in wizard mode because of design even when not in a wizard step $bprev = gtknew('Label') if !$cancel && $::Wizard_no_previous && !@left && !@right; if ($::isWizard) { # wizard mode: order is cancel/left_extras/white/right_extras/prev/next unshift @left, $w->{wizcancel} if !$::isInstall; push @right, $bprev, $bok; } else { # normal mode: cancel/ok button follow GNOME's HIG unshift @left, ($wm_is_kde ? $bok : $bprev); push @left, gtknew('Label') if $ok && $cancel; # space buttons but if there's only one button push @right, ($wm_is_kde ? $bprev : $bok); } gtknew('VBox', spacing => 5, children_loose => [ gtknew('HBox', height => 5), gtknew('HSeparator'), gtknew('HBox', children_loose => [ map { gtknew('HButtonBox', layout => $_->[1], children_loose => [ map { $_->can_default($::isWizard); $_; } grep { $_ } @{$_->[0]} ]); } ([ \@left, 'start' ], [ \@right, 'end' ], ) ]), ]); } sub _setup_paned { my ($paned, $child1, $child2, %options) = @_; foreach ([ 'resize1', 0 ], [ 'shrink1', 1 ], [ 'resize2', 1 ], [ 'shrink2', 1 ]) { $options{$_->[0]} = $_->[1] unless defined($options{$_->[0]}); } $paned->pack1(gtkshow($child1), $options{resize1}, $options{shrink1}); $paned->pack2(gtkshow($child2), $options{resize2}, $options{shrink2}); gtkshow($paned); } sub create_vpaned { _setup_paned(Gtk2::VPaned->new, @_); } sub create_hpaned { _setup_paned(Gtk2::HPaned->new, @_); } sub gtkcreate_frame { my ($label) = @_; gtknew('Frame', text => $label, border_width => 5); } # -=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=--- # helpers # # Functions that do typical operations on widgets, that you may need in # several places of your programs. sub _find_imgfile { my ($name) = @_; if ($name =~ m|/| && -f $name) { $name; } else { foreach my $path (icon_paths()) { foreach ('', '.png', '.xpm') { my $file = "$path/$name$_"; -f $file and return $file; } } } } # use it if you want to display an icon/image in your app sub gtkcreate_img { gtknew('Image', file => $_[0]); } # use it if you want to draw an image onto a drawingarea sub gtkcreate_pixbuf { gtknew('Pixbuf', file => $_[0]); } sub gtktext_append { gtktext_insert(@_, append => 1) } sub may_set_icon { my ($w, $name) = @_; if (my $f = $name && _find_imgfile($name)) { $w->set_icon(gtkcreate_pixbuf($f)); } } sub gtktext_insert { &mygtk2::_text_insert } sub icon_paths { &mygtk2::_icon_paths } sub add_icon_path { &mygtk2::add_icon_path } sub set_main_window_size { my ($o) = @_; mygtk2::set_main_window_size($o->{rwindow}); } # extracts interesting font metrics for a given widget sub gtkfontinfo { my ($widget) = @_; my $context = $widget->get_pango_context; my $metrics = $context->get_metrics($context->get_font_description, $context->get_language); my %fontinfo; foreach (qw(ascent descent approximate_char_width approximate_digit_width)) { no strict; my $func = "get_$_"; $fontinfo{$_} = Gtk2::Pango->pixels($metrics->$func); } %fontinfo; } sub gtkmodify_font { my ($w, $arg) = @_; $w->modify_font(ref($arg) ? $arg : Gtk2::Pango::FontDescription->from_string($arg)); $w; } sub gtkset_property { my ($w, $property, $value) = @_; $w->set_property($property, $value); $w; } sub set_back_pixbuf { my ($widget, $pixbuf) = @_; my $window = $widget->window; my ($width, $height) = ($pixbuf->get_width, $pixbuf->get_height); my $pixmap = Gtk2::Gdk::Pixmap->new($window, $width, $height, $window->get_depth); $pixbuf->render_to_drawable($pixmap, $widget->style->fg_gc('normal'), 0, 0, 0, 0, $width, $height, 'none', 0, 0); $window->set_back_pixmap($pixmap, 0); } sub set_back_pixmap { my ($w) = @_; return if !$w->realized; my $window = $w->window; my $pixmap = $w->{back_pixmap} ||= Gtk2::Gdk::Pixmap->new($window, 1, 2, $window->get_depth); my $style = $w->get_style; $pixmap->draw_points($style->bg_gc('normal'), 0, 0); $pixmap->draw_points($style->base_gc('normal'), 0, 1); $window->set_back_pixmap($pixmap); } sub fill_tiled_coords { my ($widget, $pixbuf, $x_back, $y_back, $width, $height) = @_; my ($x2, $y2) = (0, 0); while (1) { $x2 = 0; while (1) { $pixbuf->render_to_drawable($widget->window, $widget->style->fg_gc('normal'), 0, 0, $x2, $y2, $x_back, $y_back, 'none', 0, 0); $x2 += $x_back; $x2 >= $width and last; } $y2 += $y_back; $y2 >= $height and last; } } sub fill_tiled { my ($widget, $pixbuf) = @_; my ($window_width, $window_height) = $widget->window->get_size; fill_tiled_coords($widget, $pixbuf, $pixbuf->get_width, $pixbuf->get_height, $window_width, $window_height); } sub add2notebook { my ($n, $title, $book) = @_; $n->append_page($book, gtkshow(gtknew('Label', text => $title))); $book->show; } sub string_size { my ($widget, $text) = @_; my $layout = $widget->create_pango_layout($text); my @size = $layout->get_pixel_size; @size; } sub string_width { my ($widget, $text) = @_; my ($width, undef) = string_size($widget, $text); $width; } sub string_height { my ($widget, $text) = @_; my (undef, $height) = string_size($widget, $text); $height; } sub get_text_coord { my ($text, $widget4style, $max_width, $currentx, $currenty) = @_; my $wrap_char = ' '; my @lines; my $current_text; my @t = split($wrap_char, $text); my @t2; if ($::isInstall && $::o->{locale}{lang} =~ /ja|zh/) { use locale; @t = map { $_ . $wrap_char } @t; $wrap_char = ''; foreach (@t) { my @c = split(/\b/); my $i = 0; my $el = ''; while (1) { $i >= @c and last; $el .= $c[$i]; if (ord($c[$i]) >= 128) { $el .= $c[$i+1]; $i++; push @t2, $el; $el = '' } $i++; } $el ne '' and push @t2, $el; } } else { @t2 = @t; } my $add_line = sub { my ($w, $h) = string_size($widget4style, $current_text); push @lines, { text => $current_text, width => $w, height => $h + 1, 'x' => $currentx, 'y' => $currenty }; }; my $width; foreach my $word (@t2) { my $w = string_width($widget4style, $word . $wrap_char); if ($currentx + $width + $w > $max_width) { $add_line->(); $current_text = $word; $width = $w; $currentx = 0; $currenty += $lines[-1]{height}; } else { $current_text .= ($current_text ne '' ? $wrap_char : '') . $word; $width += $w; } } #- if wrap_char was at the end, do not forget it, for cases when bold/nonbold text follows $text =~ /$wrap_char$/ and $current_text .= $wrap_char; $add_line->(); return @lines; } sub wrap_paragraph { my ($text, $widget4style, $border, $max_width) = @_; $max_width -= 2*$border; my @lines; my $ydec; foreach my $paragraph (@$text) { my @paragraph_lines; my $center; if (ref($paragraph) eq 'ARRAY') { my ($text, %options) = @$paragraph; $center = $options{center}; $paragraph = $text; } if ($paragraph ne '') { my @elements; while ($paragraph =~ m|(.*?)<b>(.*?)</b>(.*)|) { $1 ne '' and push @elements, [ $1, bold => 0 ]; push @elements, [ $2, bold => 1 ]; $paragraph = $3; } $paragraph ne '' and push @elements, [ $paragraph, bold => 0 ]; my $currentx; foreach (@elements) { my ($text, %options) = @$_; #- hack :( if ' ' is at the beginning, do not forget it, substitute #- with an unbreakable space because gtk allocates too much space otherwise if ($text =~ /^ (.*)/) { use utf8; $text = ' ' . $1; } my @newlines = get_text_coord($text, $widget4style, $max_width, $currentx, $ydec); $currentx = $newlines[-1]{'x'} + $newlines[-1]{width}; $ydec = $newlines[-1]{'y'}; $options{bold} and $currentx++; $_->{options} = \%options foreach @newlines; push @paragraph_lines, @newlines; } $ydec = $paragraph_lines[-1]{'y'} + $paragraph_lines[-1]{height}; } if ($center) { my %widths; $widths{$_->{'y'}} ||= $_->{x} + $_->{width} foreach reverse @paragraph_lines; $_->{x} += ($max_width - $widths{$_->{'y'}})/2 foreach @paragraph_lines; } $_->{x} += $border foreach @paragraph_lines; push @lines, @paragraph_lines; } return @lines; } # -=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=--- # toplevel window creation helper # # Use the 'new' function as a method constructor and then 'main' on it to # launch the main loop. Use $o->{retval} to indicate that the window needs # to terminate. # Set $::isWizard to have a wizard appearance. # Set $::isEmbedded and $::XID so that the window will plug. sub new { my ($type, $title, %opts) = @_; my $o = bless { %opts }, $type; while (my $e = shift @tempory::objects) { $e->destroy } my $window = gtknew( 'MagicWindow', title => $title || '', pop_it => $o->{pop_it}, child => gtknew('VBox'), modal => $grab || $o->{grab} || $o->{modal}, if_(!$::isInstall, icon_no_error => wm_icon()), if_($o->{transient} && $o->{transient} =~ /Gtk2::Window/, transient_for => $o->{transient}), ); $o->{rwindow} = $o->{window} = $window; $o->{real_window} = $window->{real_window}; $o->{pop_it} = $window->{pop_it}; $o; } sub main { my ($o, $o_completed, $o_canceled) = @_; gtkset_mousecursor_normal(); $o->show; mygtk2::main($o->{rwindow}, sub { $o->{retval} ? !$o_completed || $o_completed->() : !$o_canceled || $o_canceled->() }); $o->{retval}; } sub show($) { my ($o) = @_; $o->{rwindow}->show; } sub destroy($) { my ($o) = @_; $o->{rwindow}->destroy; flush(); } sub DESTROY { goto &destroy } sub sync { my ($o) = @_; show($o); flush(); } sub flush() { gtkflush() } sub shrink_topwindow { my ($o) = @_; $o->{real_window}->signal_emit('size_allocate', Gtk2::Gdk::Rectangle->new(-1, -1, -1, -1)); } sub exit { gtkset_mousecursor_normal(); #- for restoring a normal in any case flush(); if ($::isStandalone) { require standalone; standalone::__exit($_[1]); #- workaround } else { c::_exit($_[1]); #- workaround } } #- in case "exit" above was not called by the program END { &exit() } # -=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=--- # ask # # Full UI managed functions that will return to you the value that the # user chose. sub ask_warn { my $w = ugtk2->new(shift @_, grab => 1); $w->_ask_warn(@_); main($w) } sub ask_yesorno { my $w = ugtk2->new(shift @_, grab => 1); $w->_ask_okcancel(@_, N("Yes"), N("No")); main($w) } sub ask_okcancel { my $w = ugtk2->new(shift @_, grab => 1); $w->_ask_okcancel(@_, N("Is this correct?"), N("Ok"), N("Cancel")); main($w) } sub ask_from_entry { my $w = ugtk2->new(shift @_, grab => 1); $w->_ask_from_entry(@_); main($w) } sub ask_dir { my $w = ugtk2->new(shift @_, grab => 1); $w->_ask_dir(@_); main($w) } sub _ask_from_entry($$@) { my ($o, @msgs) = @_; my $entry = gtknew('Entry'); my $f = sub { $o->{retval} = $entry->get_text; Gtk2->main_quit }; $o->{ok_clicked} = $f; $o->{cancel_clicked} = sub { undef $o->{retval}; Gtk2->main_quit }; gtkadd($o->{window}, gtkpack($o->create_box_with_title(@msgs), gtksignal_connect($entry, 'activate' => $f), ($o->{hide_buttons} ? () : create_okcancel($o))), ); $entry->grab_focus; } sub _ask_warn($@) { my ($o, @msgs) = @_; gtkadd($o->{window}, gtkpack($o->create_box_with_title(@msgs), my $w = gtknew('Button', text => N("Ok"), clicked => sub { Gtk2->main_quit }), ), ); $w->grab_focus; } sub _ask_okcancel($@) { my ($o, @msgs) = @_; my ($ok, $cancel) = splice @msgs, -2; gtkadd($o->{window}, gtkpack(create_box_with_title($o, @msgs), create_okcancel($o, $ok, $cancel), ) ); $o->{ok}->grab_focus; } sub create_file_selector { my (%opts) = @_; my $w = ugtk2->new(delete $opts{title}, modal => 1); my ($message, $save, $want_a_dir) = (delete $opts{message}, delete $opts{save}, delete $opts{want_a_dir}); my $action = $want_a_dir ? ($save ? 'create_folder' : 'select_folder') : ($save ? 'save' : 'open'); add2hash(\%opts, { width => 480, height => 250 }); gtkadd($w->{window}, gtkpack_(create_box_with_title($w, $message), 1, $w->{chooser} = gtknew('FileChooser', action => $action, %opts), 0, create_okcancel($w), )); $w->{chooser}->signal_connect(file_activated => sub { $w->{ok}->clicked }); $w; } sub file_selected_check { my ($save, $want_a_dir, $file) = @_; if (!$file) { N("No file chosen"); } elsif (-f $file && $want_a_dir) { N("You have chosen a file, not a directory"); } elsif (-d $file && !$want_a_dir) { N("You have chosen a directory, not a file"); } elsif (!-e $file && !$save) { $want_a_dir ? N("No such directory") : N("No such file"); } else { ''; } } sub _ask_file { my ($o, $title, $path) = @_; my $w = create_file_selector(title => $title, want_a_dir => 0, directory => $path); put_in_hash($o, $w); $w->{ok}->signal_connect(clicked => sub { $o->{retval} = $w->{chooser}->get_filename }); } sub _ask_dir { my ($o, $title, $path) = @_; my $w = create_file_selector(title => $title, want_a_dir => 1, directory => $path); put_in_hash($o, $w); $w->{ok}->signal_connect(clicked => sub { $o->{retval} = $w->{chooser}->get_filename }); } sub ask_browse_tree_info { my ($common) = @_; my $w = ugtk2->new($common->{title}); my $tree_model = Gtk2::TreeStore->new("Glib::String", "Gtk2::Gdk::Pixbuf", "Glib::String"); my $tree = Gtk2::TreeView->new_with_model($tree_model); $tree->get_selection->set_mode('browse'); $tree->append_column(my $textcolumn = Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, 'text' => 0)); $tree->append_column(my $pixcolumn = Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererPixbuf->new, 'pixbuf' => 1)); $tree->append_column(Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, 'text' => 2)); $tree->set_headers_visible(0); $tree->set_rules_hint(1); $textcolumn->set_min_width(200); $textcolumn->set_max_width(200); gtkadd($w->{window}, gtknew('VBox', spacing => 5, children => [ 0, $common->{message}, 1, gtknew('HBox', children_loose => [ gtknew('ScrolledWindow', child => $tree), gtknew('Frame', text => N("Info"), child => gtknew('ScrolledWindow', child => my $info = gtknew('TextView')), ) ]), 0, my $box1 = gtknew('HBox', spacing => 15), 0, my $box2 = gtknew('HBox', spacing => 10), ])); #gtkpack__($box2, my $toolbar = Gtk2::Toolbar->new('horizontal', 'icons')); gtkpack__($box2, my $toolbar = Gtk2::Toolbar->new); my @l = ([ $common->{ok}, 1 ], if_($common->{cancel}, [ $common->{cancel}, 0 ])); @l = reverse @l if !$::isInstall; my @buttons = map { my ($t, $val) = @$_; $box2->pack_end(my $w = gtknew('Button', text => $t, clicked => sub { $w->{retval} = $val; Gtk2->main_quit; }), 0, 1, 20); $w->show; $w; } @l; @buttons = reverse @buttons if !$::isInstall; gtkpack__($box2, gtknew('Button', text => N("Help"), clicked => sub { ask_warn(N("Help"), $common->{interactive_help}->()); })) if $common->{interactive_help}; if ($common->{auto_deps}) { gtkpack__($box1, gtknew('CheckButton', text => $common->{auto_deps}, active_ref => \$common->{state}{auto_deps})); } $box1->pack_end(my $status = gtknew('Label'), 0, 1, 20); $status->show; $w->{window}->set_size_request(map { $_ - 2 * $border - 4 } $::windowwidth, $::windowheight) if !$::isInstall; $buttons[0]->grab_focus; $w->{rwindow}->show; #- TODO: $tree->queue_draw is a workaround to a bug in gtk-2.2.1; submit it in their bugzilla my @toolbar = (ftout => [ N("Expand Tree"), sub { $tree->expand_all; $tree->queue_draw } ], ftin => [ N("Collapse Tree"), sub { $tree->collapse_all } ], reload => [ N("Toggle between flat and group sorted"), sub { invbool(\$common->{state}{flat}); $common->{rebuild_tree}->() } ]); foreach my $ic (@{$common->{icons} || []}) { push @toolbar, ($ic->{icon} => [ $ic->{help}, sub { if ($ic->{code}) { my $_w = $ic->{wait_message} && $common->{wait_message}->('', $ic->{wait_message}); $ic->{code}(); $common->{rebuild_tree}->(); } } ]); } my %toolbar = @toolbar; foreach (grep_index { $::i % 2 == 0 } @toolbar) { $toolbar->append_item(undef, $toolbar{$_}[0], undef, gtkcreate_img("$_.png"), $toolbar{$_}[1]); } $pixcolumn->{is_pix} = 1; $common->{widgets} = { w => $w, tree => $tree, tree_model => $tree_model, textcolumn => $textcolumn, pixcolumn => $pixcolumn, info => $info, status => $status }; ask_browse_tree_info_given_widgets($common); } sub ask_browse_tree_info_given_widgets { my ($common) = @_; my $w = $common->{widgets}; my ($curr, $prev_label, $idle, $mouse_toggle_pending); my (%wtree, %ptree, %pix, %node_state, %state_stats); my $update_size = sub { if ($w->{status}) { my $new_label = $common->{get_status}(); $prev_label ne $new_label and $w->{status}->set($prev_label = $new_label); } }; my $set_node_state_flat = sub { my ($iter, $state) = @_; $state eq 'XXX' and return; $pix{$state} ||= gtkcreate_pixbuf($state); $w->{tree_model}->set($iter, 1 => $pix{$state}); }; my $set_node_state_tree; $set_node_state_tree = sub { my ($iter, $state) = @_; my $iter_str = $w->{tree_model}->get_path_str($iter); $state eq 'XXX' and return; $pix{$state} ||= gtkcreate_pixbuf($state); if ($node_state{$iter_str} ne $state) { my $parent; if (!$w->{tree_model}->iter_has_child($iter) && ($parent = $w->{tree_model}->iter_parent($iter))) { my $parent_str = $w->{tree_model}->get_path_str($parent); my $stats = $state_stats{$parent_str} ||= {}; $stats->{$node_state{$iter_str}}--; $stats->{$state}++; my @list = grep { $stats->{$_} > 0 } keys %$stats; my $new_state = @list == 1 ? $list[0] : 'semiselected'; $node_state{$parent_str} ne $new_state and $set_node_state_tree->($parent, $new_state); } $w->{tree_model}->set($iter, 1 => $pix{$state}); $node_state{$iter_str} = $state; #- cache for efficiency } }; 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 $iter = $w->{tree_model}->append_set($s ? $add_parent->($s, $state) : undef, [ 0 => $_ ]); $iter; }; $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, $options) = @_; my $state = $common->{node_state}($leaf) or return; if ($leaf) { my $iter = $w->{tree_model}->append_set($add_parent->($root, $state), [ 0 => $leaf ]); $set_node_state->($iter, $state); push @{$ptree{$leaf}}, $iter; } else { my $parent = $add_parent->($root, $state); #- hackery for partial displaying of trees, used in rpmdrake: #- if leaf is void, we may create the parent and one child (to have the [+] in front of the parent in the ctree) #- though we use '' as the label of the child; then rpmdrake will connect on tree_expand, and whenever #- the first child has '' as the label, it will remove the child and add all the "right" children $options->{nochild} or $w->{tree_model}->append_set($parent, [ 0 => '' ]); } }; my $clear_all_caches = sub { foreach (values %ptree) { foreach my $n (@$_) { delete $node_state{$w->{tree_model}->get_path_str($n)}; } } foreach (values %wtree) { my $iter_str = $w->{tree_model}->get_path_str($_); delete $node_state{$iter_str}; delete $state_stats{$iter_str}; } %ptree = %wtree = (); }; $common->{delete_all} = sub { $clear_all_caches->(); $w->{tree_model}->clear; }; $common->{rebuild_tree} = sub { $common->{delete_all}->(); $set_node_state = $common->{state}{flat} ? $set_node_state_flat : $set_node_state_tree; $common->{build_tree}($add_node, $common->{state}{flat}, $common->{tree_mode}); &$update_size; }; $common->{delete_category} = sub { my ($cat) = @_; exists $wtree{$cat} or return; foreach (keys %ptree) { my @to_remove; foreach my $node (@{$ptree{$_}}) { my $category; my $parent = $node; my @parents; while ($parent = $w->{tree_model}->iter_parent($parent)) { #- LEAKS my $parent_name = $w->{tree_model}->get($parent, 0); $category = $category ? "$parent_name|$category" : $parent_name; $_->[1] = "$parent_name|$_->[1]" foreach @parents; push @parents, [ $parent, $category ]; } if ($category =~ /^\Q$cat/) { push @to_remove, $node; foreach (@parents) { next if $_->[1] eq $cat || !exists $wtree{$_->[1]}; delete $wtree{$_->[1]}; delete $node_state{$w->{tree_model}->get_path_str($_->[0])}; delete $state_stats{$w->{tree_model}->get_path_str($_->[0])}; } } } foreach (@to_remove) { delete $node_state{$w->{tree_model}->get_path_str($_)}; } @{$ptree{$_}} = difference2($ptree{$_}, \@to_remove); } if (exists $wtree{$cat}) { my $iter_str = $w->{tree_model}->get_path_str($wtree{$cat}); delete $node_state{$iter_str}; delete $state_stats{$iter_str}; $w->{tree_model}->remove($wtree{$cat}); delete $wtree{$cat}; } &$update_size; }; $common->{add_nodes} = sub { my (@nodes) = @_; $add_node->($_->[0], $_->[1], $_->[2]) foreach @nodes; &$update_size; }; $common->{display_info} = sub { gtktext_insert($w->{info}, $common->{get_info}($curr)); 0 }; my $children = sub { map { my $v = $w->{tree_model}->get($_, 0); $v } gtktreeview_children($w->{tree_model}, $_[0]) }; my $toggle = sub { if (ref($curr) && !$_[0]) { $w->{tree}->toggle_expansion($w->{tree_model}->get_path($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 ? #- not all is selected, select all if no option to potentially override (exists $common->{partialsel_unsel} && $common->{partialsel_unsel}->(\@unsel, \@l) ? difference2(\@l, \@unsel) : @unsel) : @l; $common->{toggle_nodes}($set_leaf_state, @p); &$update_size; } else { $common->{check_interactive_to_toggle}($curr) and $common->{toggle_nodes}($set_leaf_state, $curr); &$update_size; } } }; $w->{tree}->signal_connect(key_press_event => sub { my $c = chr($_[1]->keyval & 0xff); if ($_[1]->keyval >= 0x100 ? $c eq "\r" || $c eq "\x8d" : $c eq ' ') { $toggle->(0); } 0; }); $w->{tree}->get_selection->signal_connect(changed => sub { my ($model, $iter) = $_[0]->get_selected; $model && $iter or return; Glib::Source->remove($idle) if $idle; if (!$model->iter_has_child($iter)) { $curr = $model->get($iter, 0); $idle = Glib::Timeout->add(100, $common->{display_info}); } else { $curr = $iter; } #- the following test for equality is because we can have a button_press_event first, then #- two changed events, the first being on a different row :/ (is it a bug in gtk2?) - that #- happens in rpmdrake when doing a "search" and directly trying to select a found package if ($mouse_toggle_pending eq $model->get($iter, 0)) { $toggle->(1); $mouse_toggle_pending = 0; } 0; }); $w->{tree}->signal_connect(button_press_event => sub { #- not too good, but CellRendererPixbuf does not have the needed signals :( my ($path, $column) = $w->{tree}->get_path_at_pos($_[1]->x, $_[1]->y); if ($path && $column) { $column->{is_pix} and $mouse_toggle_pending = $w->{tree_model}->get($w->{tree_model}->get_iter($path), 0); } 0; }); $common->{rebuild_tree}->(); &$update_size; $common->{initial_selection} and $common->{toggle_nodes}($set_leaf_state, @{$common->{initial_selection}}); my $_b = before_leaving { $clear_all_caches->() }; $common->{init_callback}->() if $common->{init_callback}; $w->{w}->main; } sub gtk_set_treelist { my ($treelist, $l) = @_; my $list = $treelist->get_model; $list->clear; $list->append_set([ 0 => $_ ]) foreach @$l; } sub gtk_TextView_get_log { my ($log_w, $log_scroll, $command, $filter_output, $when_command_is_over) = @_; my $pid = open(my $F, "$command |") or return; fcntl($F, c::F_SETFL(), c::O_NONBLOCK()) or die "can not fcntl F_SETFL: $!"; my $gtk_buffer = $log_w->get_buffer; $log_w->signal_connect(destroy => sub { kill 9, $pid if $pid; #- we do not continue in background $pid = $gtk_buffer = ''; #- ensure $gtk_buffer is valid when its value is non-null }); my ($prev_scroll, $want_scroll_down) = (0, 1); Glib::Timeout->add(100, sub { if ($gtk_buffer) { my $end = $gtk_buffer->get_end_iter; while (defined (my $s = <$F>)) { $gtk_buffer->insert($end, $filter_output->($s)); } my $new_scroll = $log_scroll->get_vadjustment->get_value; $want_scroll_down &&= $new_scroll >= $prev_scroll; $prev_scroll = $new_scroll; $log_w->scroll_to_iter($end, 0, 0, 0, 0) if $want_scroll_down; } if (waitpid($pid, c::WNOHANG()) > 0) { #- we do not call $when_command_is_over if $gtk_buffer does not exist anymore #- since it is not a normal case $when_command_is_over->($gtk_buffer) if $when_command_is_over && $gtk_buffer; $pid = ''; 0; } else { to_bool($gtk_buffer); } }); $pid; #- $pid becomes invalid after $when_command_is_over is called } sub gtk_new_TextView_get_log { my ($command, $filter_output, $when_command_is_over) = @_; my $log_w = gtknew('TextView', editable => 0); my $log_scroll = gtknew('ScrolledWindow', child => $log_w); #- $log_scroll is a frame, not a ScrolledWindow, so giving $log_scroll->child my $pid = gtk_TextView_get_log($log_w, $log_scroll->child, $command, $filter_output, $when_command_is_over) or return; $log_scroll, $pid; } # misc helpers: package Gtk2::TreeStore; sub append_set { my ($model, $parent, @values) = @_; # compatibility: @values = @{$values[0]} if @values == 1 && ref($values[0]) eq 'ARRAY'; my $iter = $model->append($parent); $model->set($iter, @values); return $iter; } package Gtk2::ListStore; # Append a new row, set the values, return the TreeIter sub append_set { my ($model, @values) = @_; # compatibility: @values = @{$values[0]} if @values == 1 && ref($values[0]) eq 'ARRAY'; my $iter = $model->append; $model->set($iter, @values); return $iter; } package Gtk2::TreeModel; # gets the string representation of a TreeIter sub get_path_str { my ($self, $iter) = @_; my $path = $self->get_path($iter); $path or return; $path->to_string; } sub iter_each_children { my ($model, $iter, $f) = @_; for (my $child = $model->iter_children($iter); $child; $child = $model->iter_next($child)) { $f->($child); } } package Gtk2::TreeView; # likewise gtk-1.2 function sub toggle_expansion { my ($self, $path, $b_open_all) = @_; if ($self->row_expanded($path)) { $self->collapse_row($path); } else { $self->expand_row($path, $b_open_all || 0); } } # With GTK+, for more GUIes coherency, GtkOptionMenu is recommended instead of a # combo if the user is selecting from a fixed set of options. # # That is, non-editable combo boxes are not encouraged. GtkOptionMenu is much # easier to use than GtkCombo as well. Use GtkCombo only when you need the # editable text entry. # # GtkOptionMenu is a much better-implemented widget and also the right UI for # noneditable sets of choices.) # # GtkCombo is deprecated in 2.4.x because it still uses deprecated # GtkList. GtkOption menu is deprecated in order to have an unified widget. # # GtkComBox widget replaces GtkOption menu whereas GtkComBoxEntry replaces GtkCombo. # # # This layer try to make OptionMenu and ComboBox look being api # compatible with Combo since its API is quite nice. package Gtk2::OptionMenu; use common; # try to get combox <==> option menu mapping sub set_popdown_strings { my ($w, @strs) = @_; my $menu = Gtk2::Menu->new; # keep string list around for ->set_text compatibilty helper $w->{strings} = \@strs; #$w->set_menu((ugtk2::create_factory_menu($window, [ "File", (undef) x 3, '<Branch>' ], map { [ "File/" . $_, (undef) x 3, '<Item>' ] } @strs))[0]); $menu->append(ugtk2::gtkshow(Gtk2::MenuItem->new_with_label($_))) foreach @strs; $w->set_menu($menu); $w; } sub new_with_strings { my ($class, $strs, $o_val) = @_; my $w = $class->new; $w->set_popdown_strings(@$strs); $w->set_text($o_val) if $o_val; $w; } sub entry { my ($w) = @_; return $w; } sub get_text { my ($w) = @_; $w->get_history == -1 ? '' : $w->{strings}[$w->get_history]; } sub set_text { my ($w, $val) = @_; each_index { if ($_ eq $val) { $w->set_history($::i); return; } } @{$w->{strings}}; } package Gtk2::ComboBox; use common; # try to get combox <==> option menu mapping sub set_popdown_strings { my ($w, @strs) = @_; $w->get_model->clear; # keep string list around for ->set_text compatibilty helper $w->{strings} = \@strs; $w->append_text($_) foreach @strs; $w; } sub new_with_strings { my ($class, $strs, $o_val) = @_; my $w = $class->new_text; $w->set_popdown_strings(@$strs); $w->set_text($o_val) if $o_val; $w; } sub entry { my ($w) = @_; return $w; } sub get_text { my ($w) = @_; $w->get_active == -1 ? '' : $w->{strings}[$w->get_active]; } sub set_text { my ($w, $val) = @_; eval { my $val_index = find_index { $_ eq $val } @{$w->{strings}}; $w->set_active($val_index); }; # internal_error(qq(impossible to lookup "$val":\n\t) . chomp_($@)) if $@; } package Gtk2::Label; sub set { my ($label, $text) = @_; mygtk2::gtkset($label, text => $text); } package Gtk2::WrappedLabel; sub new { my ($_type, $o_text, $o_align) = @_; mygtk2::gtknew('WrappedLabel', text => $o_text || '', alignment => [ $o_align || 0, 0.5 ]); } package Gtk2::Entry; sub new_with_text { my ($_class, $o_text) = @_; mygtk2::gtknew('Entry', text => $o_text); } package Gtk2::Banner; use ugtk2 qw(:helpers :wrappers); sub set_pixmap { my ($darea) = @_; return if !$darea->realized; ugtk2::set_back_pixmap($darea); $darea->{layout} = $darea->create_pango_layout($darea->{text}); $darea->{txt_width} = ($darea->{layout}->get_pixel_size)[0]; } sub new { my ($_class, $icon, $text, $o_options) = @_; my $darea = Gtk2::DrawingArea->new; my $d_height = 75; $darea->set_size_request(-1, $d_height); $darea->modify_font(Gtk2::Pango::FontDescription->from_string(common::N("_banner font:\nSans 14"))); $darea->{icon} = ugtk2::gtkcreate_pixbuf($icon); $darea->{text} = $text; require lang; my $is_rtl = lang::text_direction_rtl(); $darea->signal_connect(realize => \&set_pixmap); $darea->signal_connect("style-set" => \&set_pixmap); $darea->signal_connect(expose_event => sub { my $style = $darea->get_style; my $height = $darea->{icon}->get_height; my $padding = int(($d_height - $height)/2); my $d_width = $darea->allocation->width; my $x_icon = $is_rtl ? $d_width - $padding - $darea->{icon}->get_width : $padding; my $x_text = $is_rtl ? $x_icon - $padding - $darea->{txt_width} : $height + $padding*2; $darea->{icon}->render_to_drawable($darea->window, $style->bg_gc('normal'), 0, 0, $x_icon, $padding, -1, -1, 'none', 0, 0); $darea->window->draw_layout($style->text_gc('normal'), $x_text, $o_options->{txt_ypos} || 25, $darea->{layout}); 1; }); return $darea; } 1;