Fossil SCM
Add a black & white skin with the main menu down the left margin.
Commit
5a5d7e1f90518ad2a831f621ec9573b8f3fece1e
Parent
2255e4e3ba2ecbc…
2 files changed
+239
-4
+1
-1
+239
-4
| --- src/skins.c | ||
| +++ src/skins.c | ||
| @@ -371,11 +371,11 @@ | ||
| 371 | 371 | @ </head> |
| 372 | 372 | @ <body> |
| 373 | 373 | @ <div class="header"> |
| 374 | 374 | @ <div class="title">$<title></div> |
| 375 | 375 | @ <div class="status"> |
| 376 | -@ <div class="logo">$<project_name></div><br/> | |
| 376 | +@ <div class="logo"><nobr>$<project_name></nobr></div><br/> | |
| 377 | 377 | @ <nobr><th1> |
| 378 | 378 | @ if {[info exists login]} { |
| 379 | 379 | @ puts "Logged in as $login" |
| 380 | 380 | @ } else { |
| 381 | 381 | @ puts "Not logged in" |
| @@ -416,20 +416,255 @@ | ||
| 416 | 416 | @ </div> |
| 417 | 417 | @ </body></html> |
| 418 | 418 | @ '); |
| 419 | 419 | ; |
| 420 | 420 | |
| 421 | +/* | |
| 422 | +** Black letters on a white or cream background with the main menu | |
| 423 | +** stuck on the left-hand side. | |
| 424 | +*/ | |
| 425 | +static const char zBuiltinSkin3[] = | |
| 426 | +@ REPLACE INTO config VALUES('css','/* General settings for the entire page */ | |
| 427 | +@ body { | |
| 428 | +@ margin:0px 0px 0px 0px; | |
| 429 | +@ padding:0px; | |
| 430 | +@ font-family:verdana, arial, helvetica, "sans serif"; | |
| 431 | +@ color:#333; | |
| 432 | +@ background-color:white; | |
| 433 | +@ } | |
| 434 | +@ | |
| 435 | +@ /* consistent colours */ | |
| 436 | +@ h2 { | |
| 437 | +@ color: #333; | |
| 438 | +@ } | |
| 439 | +@ h3 { | |
| 440 | +@ color: #333; | |
| 441 | +@ } | |
| 442 | +@ | |
| 443 | +@ /* The project logo in the upper left-hand corner of each page */ | |
| 444 | +@ div.logo { | |
| 445 | +@ display: table-cell; | |
| 446 | +@ text-align: left; | |
| 447 | +@ vertical-align: bottom; | |
| 448 | +@ font-weight: bold; | |
| 449 | +@ color: #333; | |
| 450 | +@ } | |
| 451 | +@ | |
| 452 | +@ /* The page title centered at the top of each page */ | |
| 453 | +@ div.title { | |
| 454 | +@ display: table-cell; | |
| 455 | +@ font-size: 2em; | |
| 456 | +@ font-weight: bold; | |
| 457 | +@ text-align: center; | |
| 458 | +@ color: #333; | |
| 459 | +@ vertical-align: bottom; | |
| 460 | +@ width: 100%; | |
| 461 | +@ } | |
| 462 | +@ | |
| 463 | +@ /* The login status message in the top right-hand corner */ | |
| 464 | +@ div.status { | |
| 465 | +@ display: table-cell; | |
| 466 | +@ padding-right: 10px; | |
| 467 | +@ text-align: right; | |
| 468 | +@ vertical-align: bottom; | |
| 469 | +@ padding-bottom: 5px; | |
| 470 | +@ color: #333; | |
| 471 | +@ font-size: 0.8em; | |
| 472 | +@ font-weight: bold; | |
| 473 | +@ } | |
| 474 | +@ | |
| 475 | +@ /* The header across the top of the page */ | |
| 476 | +@ div.header { | |
| 477 | +@ margin:10px 0px 10px 0px; | |
| 478 | +@ padding:1px 0px 0px 20px; | |
| 479 | +@ border-style:solid; | |
| 480 | +@ border-color:black; | |
| 481 | +@ border-width:1px 0px; | |
| 482 | +@ background-color:#eee; | |
| 483 | +@ } | |
| 484 | +@ | |
| 485 | +@ /* The main menu bar that appears at the top left of the page beneath | |
| 486 | +@ ** the header. Width must be co-ordinated with the container below */ | |
| 487 | +@ div.mainmenu { | |
| 488 | +@ float: left; | |
| 489 | +@ margin-left: 10px; | |
| 490 | +@ margin-right: 10px; | |
| 491 | +@ font-size: 0.9em; | |
| 492 | +@ font-weight: bold; | |
| 493 | +@ padding:5px; | |
| 494 | +@ background-color:#eee; | |
| 495 | +@ border:1px solid #999; | |
| 496 | +@ width:8em; | |
| 497 | +@ } | |
| 498 | +@ | |
| 499 | +@ /* Main menu is now a list */ | |
| 500 | +@ div.mainmenu ul { | |
| 501 | +@ padding: 0; | |
| 502 | +@ list-style:none; | |
| 503 | +@ } | |
| 504 | +@ div.mainmenu a, div.mainmenu a:visited{ | |
| 505 | +@ padding: 1px 10px 1px 10px; | |
| 506 | +@ color: #333; | |
| 507 | +@ text-decoration: none; | |
| 508 | +@ } | |
| 509 | +@ div.mainmenu a:hover { | |
| 510 | +@ color: #eee; | |
| 511 | +@ background-color: #333; | |
| 512 | +@ } | |
| 513 | +@ | |
| 514 | +@ /* Container for the sub-menu and content so they don''t spread | |
| 515 | +@ ** out underneath the main menu */ | |
| 516 | +@ #container { | |
| 517 | +@ padding-left: 9em; | |
| 518 | +@ } | |
| 519 | +@ | |
| 520 | +@ /* The submenu bar that *sometimes* appears below the main menu */ | |
| 521 | +@ div.submenu { | |
| 522 | +@ padding: 3px 10px 3px 10px; | |
| 523 | +@ font-size: 0.9em; | |
| 524 | +@ text-align: center; | |
| 525 | +@ border:1px solid #999; | |
| 526 | +@ border-width:1px 0px; | |
| 527 | +@ background-color: #eee; | |
| 528 | +@ color: #333; | |
| 529 | +@ } | |
| 530 | +@ div.submenu a, div.submenu a:visited { | |
| 531 | +@ padding: 3px 10px 3px 10px; | |
| 532 | +@ color: #333; | |
| 533 | +@ text-decoration: none; | |
| 534 | +@ } | |
| 535 | +@ div.submenu a:hover { | |
| 536 | +@ color: #eee; | |
| 537 | +@ background-color: #333; | |
| 538 | +@ } | |
| 539 | +@ | |
| 540 | +@ /* All page content from the bottom of the menu or submenu down to | |
| 541 | +@ ** the footer */ | |
| 542 | +@ div.content { | |
| 543 | +@ float right; | |
| 544 | +@ padding: 2ex 1ex 0ex 2ex; | |
| 545 | +@ } | |
| 546 | +@ | |
| 547 | +@ /* Some pages have section dividers */ | |
| 548 | +@ div.section { | |
| 549 | +@ margin-bottom: 0px; | |
| 550 | +@ margin-top: 1em; | |
| 551 | +@ padding: 1px 1px 1px 1px; | |
| 552 | +@ font-size: 1.2em; | |
| 553 | +@ font-weight: bold; | |
| 554 | +@ border-style:solid; | |
| 555 | +@ border-color:#999; | |
| 556 | +@ border-width:1px 0px; | |
| 557 | +@ background-color: #eee; | |
| 558 | +@ color: #333; | |
| 559 | +@ } | |
| 560 | +@ | |
| 561 | +@ /* The "Date" that occurs on the left hand side of timelines */ | |
| 562 | +@ div.divider { | |
| 563 | +@ background: #eee; | |
| 564 | +@ border: 2px #999 solid; | |
| 565 | +@ font-size: 1em; font-weight: normal; | |
| 566 | +@ padding: .25em; | |
| 567 | +@ margin: .2em 0 .2em 0; | |
| 568 | +@ float: left; | |
| 569 | +@ clear: left; | |
| 570 | +@ color: #333 | |
| 571 | +@ } | |
| 572 | +@ | |
| 573 | +@ /* The footer at the very bottom of the page */ | |
| 574 | +@ div.footer { | |
| 575 | +@ font-size: 0.8em; | |
| 576 | +@ margin-top: 12px; | |
| 577 | +@ padding: 5px 10px 5px 10px; | |
| 578 | +@ text-align: right; | |
| 579 | +@ background-color: #eee; | |
| 580 | +@ color: #555; | |
| 581 | +@ } | |
| 582 | +@ | |
| 583 | +@ /* <verbatim> blocks */ | |
| 584 | +@ pre.verbatim { | |
| 585 | +@ background-color: #f5f5f5; | |
| 586 | +@ padding: 0.5em; | |
| 587 | +@ } | |
| 588 | +@ | |
| 589 | +@ /* The label/value pairs on (for example) the ci page */ | |
| 590 | +@ table.label-value th { | |
| 591 | +@ vertical-align: top; | |
| 592 | +@ text-align: right; | |
| 593 | +@ padding: 0.2ex 2ex; | |
| 594 | +@ }'); | |
| 595 | +@ REPLACE INTO config VALUES('header','<html> | |
| 596 | +@ <head> | |
| 597 | +@ <title>$<project_name>: $<title></title> | |
| 598 | +@ <link rel="alternate" type="application/rss+xml" title="RSS Feed" | |
| 599 | +@ href="$baseurl/timeline.rss"> | |
| 600 | +@ <link rel="stylesheet" href="$baseurl/style.css" type="text/css" | |
| 601 | +@ media="screen"> | |
| 602 | +@ </head> | |
| 603 | +@ <body> | |
| 604 | +@ <div class="header"> | |
| 605 | +@ <div class="logo"> | |
| 606 | +@ <!-- <img src="$baseurl/logo" alt="logo"> --> | |
| 607 | +@ <br><nobr>$<project_name></nobr> | |
| 608 | +@ </div> | |
| 609 | +@ <div class="title">$<title></div> | |
| 610 | +@ <div class="status"><nobr><th1> | |
| 611 | +@ if {[info exists login]} { | |
| 612 | +@ puts "Logged in as $login" | |
| 613 | +@ } else { | |
| 614 | +@ puts "Not logged in" | |
| 615 | +@ } | |
| 616 | +@ </th1></nobr></div> | |
| 617 | +@ </div> | |
| 618 | +@ <div class="mainmenu"><ul><th1> | |
| 619 | +@ html "<li><a href=''$baseurl$index_page''>Home</a></li>" | |
| 620 | +@ if {[hascap h]} { | |
| 621 | +@ html "<li><a href=''$baseurl/dir''>Files</a></li>" | |
| 622 | +@ } | |
| 623 | +@ if {[hascap o]} { | |
| 624 | +@ html "<li><a href=''$baseurl/leaves''>Leaves</a></li>" | |
| 625 | +@ html "<li><a href=''$baseurl/timeline''>Timeline</a></li>" | |
| 626 | +@ html "<li><a href=''$baseurl/brlist''>Branches</a></li>" | |
| 627 | +@ html "<li><a href=''$baseurl/taglist''>Tags</a></li>" | |
| 628 | +@ } | |
| 629 | +@ if {[hascap r]} { | |
| 630 | +@ html "<li><a href=''$baseurl/reportlist''>Tickets</a></li>" | |
| 631 | +@ } | |
| 632 | +@ if {[hascap j]} { | |
| 633 | +@ html "<li><a href=''$baseurl/wiki''>Wiki</a></li>" | |
| 634 | +@ } | |
| 635 | +@ if {[hascap s]} { | |
| 636 | +@ html "<li><a href=''$baseurl/setup''>Admin</a></li>" | |
| 637 | +@ } elseif {[hascap a]} { | |
| 638 | +@ html "<li><a href=''$baseurl/setup_ulist''>Users</a></li>" | |
| 639 | +@ } | |
| 640 | +@ if {[info exists login]} { | |
| 641 | +@ html "<li><a href=''$baseurl/login''>Logout</a></li>" | |
| 642 | +@ } else { | |
| 643 | +@ html "<li><a href=''$baseurl/login''>Login</a></li>" | |
| 644 | +@ } | |
| 645 | +@ </th1></ul></div> | |
| 646 | +@ <div id="container"> | |
| 647 | +@ '); | |
| 648 | +@ REPLACE INTO config VALUES('footer','</div> | |
| 649 | +@ <div class="footer"> | |
| 650 | +@ Fossil version $manifest_version $manifest_date | |
| 651 | +@ </div> | |
| 652 | +@ </body></html> | |
| 653 | +@ '); | |
| 654 | +; | |
| 421 | 655 | /* |
| 422 | 656 | ** An array of available built-in skins. |
| 423 | 657 | */ |
| 424 | 658 | static struct BuiltinSkin { |
| 425 | 659 | const char *zName; |
| 426 | 660 | const char *zValue; |
| 427 | 661 | } aBuiltinSkin[] = { |
| 428 | - { "Default", 0 /* Filled in at runtime */ }, | |
| 429 | - { "Plain Gray, No Logo", zBuiltinSkin1 }, | |
| 430 | - { "Khaki, No Logo", zBuiltinSkin2 }, | |
| 662 | + { "Default", 0 /* Filled in at runtime */ }, | |
| 663 | + { "Plain Gray, No Logo", zBuiltinSkin1 }, | |
| 664 | + { "Khaki, No Logo", zBuiltinSkin2 }, | |
| 665 | + { "Black & White, Menu on Left", zBuiltinSkin3 }, | |
| 431 | 666 | }; |
| 432 | 667 | |
| 433 | 668 | /* |
| 434 | 669 | ** For a skin named zSkinName, compute the name of the CONFIG table |
| 435 | 670 | ** entry where that skin is stored and return it. |
| 436 | 671 |
| --- src/skins.c | |
| +++ src/skins.c | |
| @@ -371,11 +371,11 @@ | |
| 371 | @ </head> |
| 372 | @ <body> |
| 373 | @ <div class="header"> |
| 374 | @ <div class="title">$<title></div> |
| 375 | @ <div class="status"> |
| 376 | @ <div class="logo">$<project_name></div><br/> |
| 377 | @ <nobr><th1> |
| 378 | @ if {[info exists login]} { |
| 379 | @ puts "Logged in as $login" |
| 380 | @ } else { |
| 381 | @ puts "Not logged in" |
| @@ -416,20 +416,255 @@ | |
| 416 | @ </div> |
| 417 | @ </body></html> |
| 418 | @ '); |
| 419 | ; |
| 420 | |
| 421 | /* |
| 422 | ** An array of available built-in skins. |
| 423 | */ |
| 424 | static struct BuiltinSkin { |
| 425 | const char *zName; |
| 426 | const char *zValue; |
| 427 | } aBuiltinSkin[] = { |
| 428 | { "Default", 0 /* Filled in at runtime */ }, |
| 429 | { "Plain Gray, No Logo", zBuiltinSkin1 }, |
| 430 | { "Khaki, No Logo", zBuiltinSkin2 }, |
| 431 | }; |
| 432 | |
| 433 | /* |
| 434 | ** For a skin named zSkinName, compute the name of the CONFIG table |
| 435 | ** entry where that skin is stored and return it. |
| 436 |
| --- src/skins.c | |
| +++ src/skins.c | |
| @@ -371,11 +371,11 @@ | |
| 371 | @ </head> |
| 372 | @ <body> |
| 373 | @ <div class="header"> |
| 374 | @ <div class="title">$<title></div> |
| 375 | @ <div class="status"> |
| 376 | @ <div class="logo"><nobr>$<project_name></nobr></div><br/> |
| 377 | @ <nobr><th1> |
| 378 | @ if {[info exists login]} { |
| 379 | @ puts "Logged in as $login" |
| 380 | @ } else { |
| 381 | @ puts "Not logged in" |
| @@ -416,20 +416,255 @@ | |
| 416 | @ </div> |
| 417 | @ </body></html> |
| 418 | @ '); |
| 419 | ; |
| 420 | |
| 421 | /* |
| 422 | ** Black letters on a white or cream background with the main menu |
| 423 | ** stuck on the left-hand side. |
| 424 | */ |
| 425 | static const char zBuiltinSkin3[] = |
| 426 | @ REPLACE INTO config VALUES('css','/* General settings for the entire page */ |
| 427 | @ body { |
| 428 | @ margin:0px 0px 0px 0px; |
| 429 | @ padding:0px; |
| 430 | @ font-family:verdana, arial, helvetica, "sans serif"; |
| 431 | @ color:#333; |
| 432 | @ background-color:white; |
| 433 | @ } |
| 434 | @ |
| 435 | @ /* consistent colours */ |
| 436 | @ h2 { |
| 437 | @ color: #333; |
| 438 | @ } |
| 439 | @ h3 { |
| 440 | @ color: #333; |
| 441 | @ } |
| 442 | @ |
| 443 | @ /* The project logo in the upper left-hand corner of each page */ |
| 444 | @ div.logo { |
| 445 | @ display: table-cell; |
| 446 | @ text-align: left; |
| 447 | @ vertical-align: bottom; |
| 448 | @ font-weight: bold; |
| 449 | @ color: #333; |
| 450 | @ } |
| 451 | @ |
| 452 | @ /* The page title centered at the top of each page */ |
| 453 | @ div.title { |
| 454 | @ display: table-cell; |
| 455 | @ font-size: 2em; |
| 456 | @ font-weight: bold; |
| 457 | @ text-align: center; |
| 458 | @ color: #333; |
| 459 | @ vertical-align: bottom; |
| 460 | @ width: 100%; |
| 461 | @ } |
| 462 | @ |
| 463 | @ /* The login status message in the top right-hand corner */ |
| 464 | @ div.status { |
| 465 | @ display: table-cell; |
| 466 | @ padding-right: 10px; |
| 467 | @ text-align: right; |
| 468 | @ vertical-align: bottom; |
| 469 | @ padding-bottom: 5px; |
| 470 | @ color: #333; |
| 471 | @ font-size: 0.8em; |
| 472 | @ font-weight: bold; |
| 473 | @ } |
| 474 | @ |
| 475 | @ /* The header across the top of the page */ |
| 476 | @ div.header { |
| 477 | @ margin:10px 0px 10px 0px; |
| 478 | @ padding:1px 0px 0px 20px; |
| 479 | @ border-style:solid; |
| 480 | @ border-color:black; |
| 481 | @ border-width:1px 0px; |
| 482 | @ background-color:#eee; |
| 483 | @ } |
| 484 | @ |
| 485 | @ /* The main menu bar that appears at the top left of the page beneath |
| 486 | @ ** the header. Width must be co-ordinated with the container below */ |
| 487 | @ div.mainmenu { |
| 488 | @ float: left; |
| 489 | @ margin-left: 10px; |
| 490 | @ margin-right: 10px; |
| 491 | @ font-size: 0.9em; |
| 492 | @ font-weight: bold; |
| 493 | @ padding:5px; |
| 494 | @ background-color:#eee; |
| 495 | @ border:1px solid #999; |
| 496 | @ width:8em; |
| 497 | @ } |
| 498 | @ |
| 499 | @ /* Main menu is now a list */ |
| 500 | @ div.mainmenu ul { |
| 501 | @ padding: 0; |
| 502 | @ list-style:none; |
| 503 | @ } |
| 504 | @ div.mainmenu a, div.mainmenu a:visited{ |
| 505 | @ padding: 1px 10px 1px 10px; |
| 506 | @ color: #333; |
| 507 | @ text-decoration: none; |
| 508 | @ } |
| 509 | @ div.mainmenu a:hover { |
| 510 | @ color: #eee; |
| 511 | @ background-color: #333; |
| 512 | @ } |
| 513 | @ |
| 514 | @ /* Container for the sub-menu and content so they don''t spread |
| 515 | @ ** out underneath the main menu */ |
| 516 | @ #container { |
| 517 | @ padding-left: 9em; |
| 518 | @ } |
| 519 | @ |
| 520 | @ /* The submenu bar that *sometimes* appears below the main menu */ |
| 521 | @ div.submenu { |
| 522 | @ padding: 3px 10px 3px 10px; |
| 523 | @ font-size: 0.9em; |
| 524 | @ text-align: center; |
| 525 | @ border:1px solid #999; |
| 526 | @ border-width:1px 0px; |
| 527 | @ background-color: #eee; |
| 528 | @ color: #333; |
| 529 | @ } |
| 530 | @ div.submenu a, div.submenu a:visited { |
| 531 | @ padding: 3px 10px 3px 10px; |
| 532 | @ color: #333; |
| 533 | @ text-decoration: none; |
| 534 | @ } |
| 535 | @ div.submenu a:hover { |
| 536 | @ color: #eee; |
| 537 | @ background-color: #333; |
| 538 | @ } |
| 539 | @ |
| 540 | @ /* All page content from the bottom of the menu or submenu down to |
| 541 | @ ** the footer */ |
| 542 | @ div.content { |
| 543 | @ float right; |
| 544 | @ padding: 2ex 1ex 0ex 2ex; |
| 545 | @ } |
| 546 | @ |
| 547 | @ /* Some pages have section dividers */ |
| 548 | @ div.section { |
| 549 | @ margin-bottom: 0px; |
| 550 | @ margin-top: 1em; |
| 551 | @ padding: 1px 1px 1px 1px; |
| 552 | @ font-size: 1.2em; |
| 553 | @ font-weight: bold; |
| 554 | @ border-style:solid; |
| 555 | @ border-color:#999; |
| 556 | @ border-width:1px 0px; |
| 557 | @ background-color: #eee; |
| 558 | @ color: #333; |
| 559 | @ } |
| 560 | @ |
| 561 | @ /* The "Date" that occurs on the left hand side of timelines */ |
| 562 | @ div.divider { |
| 563 | @ background: #eee; |
| 564 | @ border: 2px #999 solid; |
| 565 | @ font-size: 1em; font-weight: normal; |
| 566 | @ padding: .25em; |
| 567 | @ margin: .2em 0 .2em 0; |
| 568 | @ float: left; |
| 569 | @ clear: left; |
| 570 | @ color: #333 |
| 571 | @ } |
| 572 | @ |
| 573 | @ /* The footer at the very bottom of the page */ |
| 574 | @ div.footer { |
| 575 | @ font-size: 0.8em; |
| 576 | @ margin-top: 12px; |
| 577 | @ padding: 5px 10px 5px 10px; |
| 578 | @ text-align: right; |
| 579 | @ background-color: #eee; |
| 580 | @ color: #555; |
| 581 | @ } |
| 582 | @ |
| 583 | @ /* <verbatim> blocks */ |
| 584 | @ pre.verbatim { |
| 585 | @ background-color: #f5f5f5; |
| 586 | @ padding: 0.5em; |
| 587 | @ } |
| 588 | @ |
| 589 | @ /* The label/value pairs on (for example) the ci page */ |
| 590 | @ table.label-value th { |
| 591 | @ vertical-align: top; |
| 592 | @ text-align: right; |
| 593 | @ padding: 0.2ex 2ex; |
| 594 | @ }'); |
| 595 | @ REPLACE INTO config VALUES('header','<html> |
| 596 | @ <head> |
| 597 | @ <title>$<project_name>: $<title></title> |
| 598 | @ <link rel="alternate" type="application/rss+xml" title="RSS Feed" |
| 599 | @ href="$baseurl/timeline.rss"> |
| 600 | @ <link rel="stylesheet" href="$baseurl/style.css" type="text/css" |
| 601 | @ media="screen"> |
| 602 | @ </head> |
| 603 | @ <body> |
| 604 | @ <div class="header"> |
| 605 | @ <div class="logo"> |
| 606 | @ <!-- <img src="$baseurl/logo" alt="logo"> --> |
| 607 | @ <br><nobr>$<project_name></nobr> |
| 608 | @ </div> |
| 609 | @ <div class="title">$<title></div> |
| 610 | @ <div class="status"><nobr><th1> |
| 611 | @ if {[info exists login]} { |
| 612 | @ puts "Logged in as $login" |
| 613 | @ } else { |
| 614 | @ puts "Not logged in" |
| 615 | @ } |
| 616 | @ </th1></nobr></div> |
| 617 | @ </div> |
| 618 | @ <div class="mainmenu"><ul><th1> |
| 619 | @ html "<li><a href=''$baseurl$index_page''>Home</a></li>" |
| 620 | @ if {[hascap h]} { |
| 621 | @ html "<li><a href=''$baseurl/dir''>Files</a></li>" |
| 622 | @ } |
| 623 | @ if {[hascap o]} { |
| 624 | @ html "<li><a href=''$baseurl/leaves''>Leaves</a></li>" |
| 625 | @ html "<li><a href=''$baseurl/timeline''>Timeline</a></li>" |
| 626 | @ html "<li><a href=''$baseurl/brlist''>Branches</a></li>" |
| 627 | @ html "<li><a href=''$baseurl/taglist''>Tags</a></li>" |
| 628 | @ } |
| 629 | @ if {[hascap r]} { |
| 630 | @ html "<li><a href=''$baseurl/reportlist''>Tickets</a></li>" |
| 631 | @ } |
| 632 | @ if {[hascap j]} { |
| 633 | @ html "<li><a href=''$baseurl/wiki''>Wiki</a></li>" |
| 634 | @ } |
| 635 | @ if {[hascap s]} { |
| 636 | @ html "<li><a href=''$baseurl/setup''>Admin</a></li>" |
| 637 | @ } elseif {[hascap a]} { |
| 638 | @ html "<li><a href=''$baseurl/setup_ulist''>Users</a></li>" |
| 639 | @ } |
| 640 | @ if {[info exists login]} { |
| 641 | @ html "<li><a href=''$baseurl/login''>Logout</a></li>" |
| 642 | @ } else { |
| 643 | @ html "<li><a href=''$baseurl/login''>Login</a></li>" |
| 644 | @ } |
| 645 | @ </th1></ul></div> |
| 646 | @ <div id="container"> |
| 647 | @ '); |
| 648 | @ REPLACE INTO config VALUES('footer','</div> |
| 649 | @ <div class="footer"> |
| 650 | @ Fossil version $manifest_version $manifest_date |
| 651 | @ </div> |
| 652 | @ </body></html> |
| 653 | @ '); |
| 654 | ; |
| 655 | /* |
| 656 | ** An array of available built-in skins. |
| 657 | */ |
| 658 | static struct BuiltinSkin { |
| 659 | const char *zName; |
| 660 | const char *zValue; |
| 661 | } aBuiltinSkin[] = { |
| 662 | { "Default", 0 /* Filled in at runtime */ }, |
| 663 | { "Plain Gray, No Logo", zBuiltinSkin1 }, |
| 664 | { "Khaki, No Logo", zBuiltinSkin2 }, |
| 665 | { "Black & White, Menu on Left", zBuiltinSkin3 }, |
| 666 | }; |
| 667 | |
| 668 | /* |
| 669 | ** For a skin named zSkinName, compute the name of the CONFIG table |
| 670 | ** entry where that skin is stored and return it. |
| 671 |
+1
-1
| --- src/style.c | ||
| +++ src/style.c | ||
| @@ -360,11 +360,11 @@ | ||
| 360 | 360 | @ text-align: right; |
| 361 | 361 | @ background-color: #558195; |
| 362 | 362 | @ color: white; |
| 363 | 363 | @ } |
| 364 | 364 | @ |
| 365 | -@ /* Hyperlink colors */ | |
| 365 | +@ /* Hyperlink colors in the footer */ | |
| 366 | 366 | @ div.footer a { color: white; } |
| 367 | 367 | @ div.footer a:link { color: white; } |
| 368 | 368 | @ div.footer a:visited { color: white; } |
| 369 | 369 | @ div.footer a:hover { background-color: white; color: #558195; } |
| 370 | 370 | @ |
| 371 | 371 |
| --- src/style.c | |
| +++ src/style.c | |
| @@ -360,11 +360,11 @@ | |
| 360 | @ text-align: right; |
| 361 | @ background-color: #558195; |
| 362 | @ color: white; |
| 363 | @ } |
| 364 | @ |
| 365 | @ /* Hyperlink colors */ |
| 366 | @ div.footer a { color: white; } |
| 367 | @ div.footer a:link { color: white; } |
| 368 | @ div.footer a:visited { color: white; } |
| 369 | @ div.footer a:hover { background-color: white; color: #558195; } |
| 370 | @ |
| 371 |
| --- src/style.c | |
| +++ src/style.c | |
| @@ -360,11 +360,11 @@ | |
| 360 | @ text-align: right; |
| 361 | @ background-color: #558195; |
| 362 | @ color: white; |
| 363 | @ } |
| 364 | @ |
| 365 | @ /* Hyperlink colors in the footer */ |
| 366 | @ div.footer a { color: white; } |
| 367 | @ div.footer a:link { color: white; } |
| 368 | @ div.footer a:visited { color: white; } |
| 369 | @ div.footer a:hover { background-color: white; color: #558195; } |
| 370 | @ |
| 371 |