Menüsysteme v3 & v4 verschmolzen (Stil von v4, Name & Code von v3)
authorMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 19 Nov 2012 09:11:50 +0000 (10:11 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 19 Nov 2012 09:11:50 +0000 (10:11 +0100)
13 files changed:
SL/Auth.pm
SL/Form.pm
SL/Layout/Dispatcher.pm
SL/Layout/Top.pm
SL/Layout/V4.pm [deleted file]
bin/mozilla/admin.pl
css/Mobile/menuv4.css [deleted symlink]
css/kivitendo/menu.css
css/lx-office-erp/menu.css
locale/de/all
sql/Pg-upgrade2-auth/remove_menustyle_v4.sql [new file with mode: 0644]
templates/webpages/am/config.html
templates/webpages/menu/menuv4.html [deleted file]

index b9840fc..d63b6a2 100644 (file)
@@ -489,8 +489,9 @@ sub read_user {
     @user_data{qw(id login)}    = @{$ref}{qw(id login)};
   }
 
-  # The XUL/XML backed menu has been removed.
-  $user_data{menustyle} = 'v3' if lc($user_data{menustyle} || '') eq 'xml';
+  # The XUL/XML & 'CSS new' backed menus have been removed.
+  my %menustyle_map = ( xml => 'new', v4 => 'v3' );
+  $user_data{menustyle} = $menustyle_map{lc($user_data{menustyle} || '')} || $user_data{menustyle};
 
   # Set default language if selected language does not exist (anymore).
   $user_data{countrycode} = $::lx_office_conf{system}->{language} unless $user_data{countrycode} && -d "locale/$user_data{countrycode}";
index 3e9704f..9cc1065 100644 (file)
@@ -3581,7 +3581,6 @@ sub layout {
   my %style_to_script_map = (
     v3  => 'v3',
     neu => 'new',
-    v4  => 'v4',
   );
 
   my $menu_script = $style_to_script_map{$::myconfig{menustyle}} || '';
index 89c950b..5d7688e 100644 (file)
@@ -6,7 +6,6 @@ use SL::Layout::Admin;
 use SL::Layout::Login;
 use SL::Layout::Classic;
 use SL::Layout::V3;
-use SL::Layout::V4;
 use SL::Layout::Javascript;
 
 sub new {
@@ -14,7 +13,6 @@ sub new {
 
   return SL::Layout::Classic->new    if $params{style} eq 'old';
   return SL::Layout::V3->new         if $params{style} eq 'v3';
-  return SL::Layout::V4->new         if $params{style} eq 'v4';
   return SL::Layout::Javascript->new if $params{style} eq 'neu';
   return SL::Layout::Admin->new      if $params{style} eq 'admin';
   return SL::Layout::Login->new      if $params{style} eq 'login';
index f007e09..075e2f2 100644 (file)
@@ -24,7 +24,7 @@ __END__
 
 =head1 NAME
 
-SL::Layout::Top - Top line in classic and v4 menu.
+SL::Layout::Top - Top line in classic and v3 menu.
 
 =head1 DOM MODEL
 
diff --git a/SL/Layout/V4.pm b/SL/Layout/V4.pm
deleted file mode 100644 (file)
index 81789d4..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-package SL::Layout::V4;
-
-use strict;
-use parent qw(SL::Layout::Base);
-use SL::Layout::Css;
-use SL::Layout::Top;
-
-use URI;
-
-sub init_sub_layouts {
-  [
-    SL::Layout::Top->new,
-    SL::Layout::None->new,
-  ]
-}
-
-sub start_content {
-  "<div id='content'>\n";
-}
-
-sub end_content {
-  "</div>\n";
-}
-
-sub pre_content {
-  my ($self) = @_;
-
-  $self->{sub_class} = 1;
-
-  my $callback            = $::form->unescape($::form->{callback});
-  $callback               = URI->new($callback)->rel($callback) if $callback;
-  $callback               = "login.pl?action=company_logo"      if $callback =~ /^(\.\/)?$/;
-
-  $self->SUPER::pre_content .
-
-  $self->SUPER::render('menu/menuv4', { no_menu => 1, no_output => 1 },
-    force_ul_width => 1,
-    date           => $self->clock_line,
-    menu           => $self->print_menu,
-    callback       => $callback,
-  );
-}
-
-1;
index 97180b4..7676698 100755 (executable)
@@ -80,7 +80,6 @@ my @all_stylesheets = qw(lx-office-erp.css Win2000.css Mobile.css kivitendo.css)
 my @all_menustyles = (
   { id => 'old', title => $::locale->text('Old (on the side)') },
   { id => 'v3',  title => $::locale->text('Top (CSS)') },
-  { id => 'v4',  title => $::locale->text('Top (CSS) new') },
   { id => 'neu', title => $::locale->text('Top (Javascript)') },
 );
 
@@ -380,16 +379,14 @@ sub list_users {
 sub add_user {
   $::form->{title}   = "kivitendo " . $::locale->text('Administration') . " / " . $::locale->text('Add User');
 
-# Note: Menu Style 'v3' is not compatible to all browsers!
-# "menustyle"    => "old" sets the HTML Menu to default.
-# User does not have a well behaved new constructor, so we#Ll just have to build one ourself
+  # User does not have a well behaved new constructor, so we'll just have to build one ourself
   my $user     = bless {
     "vclimit"      => 200,
     "countrycode"  => "de",
     "numberformat" => "1.000,00",
     "dateformat"   => "dd.mm.yy",
     "stylesheet"   => "kivitendo.css",
-    "menustyle"    => "old",
+    "menustyle"    => "neu",
     dbport         => $::auth->{DB_config}->{port} || 5432,
     dbuser         => $::auth->{DB_config}->{user} || 'lxoffice',
     dbhost         => $::auth->{DB_config}->{host} || 'localhost',
diff --git a/css/Mobile/menuv4.css b/css/Mobile/menuv4.css
deleted file mode 120000 (symlink)
index 6f69e0f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../lx-office-erp/menuv4.css
\ No newline at end of file
index b5819a6..ca7b2a2 100644 (file)
@@ -4,139 +4,6 @@ orangemenu color #FFFFFF
 whiteMenu Hover background color #FFFFE0
 DarkGreensubenu pointer
 */
-body.menuv4 {
-       behavior: url("css/csshover.htc");
-       /*font-size: 14pt;*/
-       line-height: 20pt;
-       font-family: Verdana, Geneva, Tahoma, sans-serif;
-       background-color: #FFFFFF;
-       color: #000000;
-}
-#menuv4 {
-       /*font-size: 85%;*/
-       width: 99.8%;
-       float: left;
-       /*border: 3px solid;*/
-       background-color: #FFFFFF;
-       color: #000000;
-}
-#menuv4 a, #menuv4 h2, #menuv4 div.x {
-       font-size: 80%;
-       line-height: 120%;
-       display: block;
-       border: 0;
-       white-space: nowrap;
-       margin: 0;
-       padding: 0.3em 1em;
-}
-#menuv4 h2 {
-       background-color: #ffffff;
-       color: #000000;
-       /*padding: 2px 15px;*/
-/* Firefox */
-       -moz-border-radius: 0.4em 0.4em 0;
-/* Safari, Chrome */
-       -webkit-border-radius: 0.4em 0.4em 0;
-/* Konqueror */
-       -khtml-border-radius: 0.4em 0.4em 0;
-/* CSS3 */
-       border-radius: 0.4em 0.4em 0 0;
-/*     behavior: url(border-radius.htc); */
-}
-#menuv4 ul:hover h2 {
-       background-color:#DCDCDC;
-}
-#menuv4 a, #menuv4 a:visited, #menuv4 div.x, #menuv4 div.x:visited {
-       color: #000000;
-       text-decoration: none;
-       padding-right: 10px;
-}
-#menuv4 a {
-       background: #EBEBEB;
-}
-#menuv4 div.x, #menuv4 div.x:visited {
-       background-color: #EBEBEB;
-       border-right: 1em solid #FE5F14;
-}
-#menuv4 div.x:hover {
-       border-right: none;
-}
-#menuv4 a:hover, #menuv4 div.x:hover {
-       color: #FE5F14;
-       background-color: #EBEBEB;
-}
-#menuv4 a:active, #menuv4 div.x:active {
-       color: #FE5F14;
-       background-color: #EBEBEB;
-}
-#menuv4 ul {
-       list-style: none;
-       margin: 0;
-       padding: 0;
-       float: left;
-}
-
-#menuv4 li {
-       position: relative;
-       float: none;
-       border: 0;
-}
-li.sub {
-       position: relativ;
-       left: 0.2em;
-       top: 0px;
-       background-color: #FFFFFF;
-}
-/* IE6 spacing bug fix, <li>s without a bottom border get spaced to far  * correction:the bug will change the height of the parent element! this will also cause the whole menu to grow  * so the only method to get this pile of crap going is to add a bottom border to the <li>s, where the enclosing <ul> already has * a bottom border, which just looks ugly * the trick:color the bottom border with the same color as the bottom pixel of the background image - noone notices */
-#menuv4 ul li {
-       /* border: solid;
-       border-color: #991900;
-       border-width: 0 0 1px 0;
-*/
-}
-#menuv4 ul ul {
-       padding: 0 2em 2em 2em;
-       margin: 0 -2em -2em -2em;
-}
-#menuv4 ul ul li {
-       /*padding-top: 0.01em;*/
-       background-color: #FFFFFF;
-}
-/* IE6 event bug fix, without a background there hovers will be occassionally lost between the li's to the layer below  * causing the menu to close. Opera 9 has the same bug btw. */
-#menuv4 ul ul {
-       position: absolute;
-       z-index: 500;
-       top: auto;
-       display: none;
-}
-#menuv4 ul ul ul {
-       top: 0;
-       left: 99%;
-       padding: 2em;
-       margin: -2em;
-}
-#menuv4 ul ul ul li {
-       border-left: 0.2em solid #EBEBEB;
-}
-/* Begin non-anchor hover selectors */
-/* Enter the more specific element (div) selectoron non-anchor hovers for IE5.x to comply with theolder version of csshover.htc - V1.21.041022. Itimproves IE's performance speed to use the olderfile and this method */
-div#menuv4 h2:hover {
-       background: #EBEBEB;
-       color: #FE5F14;
-}
-div#menuv4 li:hover {
-       cursor: pointer;
-       z-index: 100;
-}
-div#menuv4 li:hover ul ul, div#menuv4 li li:hover ul ul, div#menuv4 li li li:hover ul ul, div#menuv4 li li li li:hover ul ul {
-       display: none;
-}
-div#menuv4 li:hover ul, div#menuv4 li li:hover ul, div#menuv4 li li li:hover ul, div#menuv4 li li li li:hover ul {
-       display: block;
-       position: relativ: left: 10px;
-}
-/* End of non-anchor hover selectors */
-
 body.menuv3 {
        behavior: url("css/csshover.htc");
        /*font-size: 14pt;*/
@@ -152,7 +19,6 @@ body.menuv3 {
        /*border: 3px solid;*/
        background-color: #FFFFFF;
        color: #000000;
-       margin-top: 0.2em;
 }
 #menuv3 a, #menuv3 h2, #menuv3 div.x {
        font-size: 80%;
@@ -163,12 +29,6 @@ body.menuv3 {
        margin: 0;
        padding: 0.3em 1em;
 }
-#menuv3 h2:before {
-       content: " ";
-}
-#menuv3 h2:after {
-       content: " ";
-}
 #menuv3 h2 {
        background-color: #ffffff;
        color: #000000;
@@ -277,6 +137,13 @@ div#menuv3 li:hover ul, div#menuv3 li li:hover ul, div#menuv3 li li li:hover ul,
 }
 /* End of non-anchor hover selectors */
 
+li.sub {
+       position: relativ;
+       left: 0.2em;
+       top: 0px;
+       background-color: #FFFFFF;
+}
+
 /* html menu */
 /* types of lines: m sm i (menu submenu item)
    each line is a mi (menuitem) and has one mii (menu-item-icon) whcih is ms (menu-spacer)
@@ -314,7 +181,7 @@ div#menuv3 li:hover ul, div#menuv3 li li:hover ul, div#menuv3 li li li:hover ul,
 body { margin: 0 }
 
 @media print {
-  #menuv3, #menuv4, #html-menu, #frame-header, #js-menu {   /* items with this class won't print */
+  #menuv3, #html-menu, #frame-header, #js-menu {   /* items with this class won't print */
     display: none;
   }
   #content.html-menu { margin-left: 0; }
index 469d9de..318b380 100644 (file)
@@ -51,7 +51,7 @@ padding:1px 0 1px 3px;
 
 #menuv3 h2 {
 color:#fff;
-padding:0 5px;
+padding:2px 10px;
 }
 
 #menuv3 a, #menuv3 a:visited, #menuv3 div.x, #menuv3 div.x:visited {
@@ -63,7 +63,6 @@ padding-right:10px;
 #menuv3 a {
 background:#eee;
 }
-
 #menuv3 div.x, #menuv3 div.x:visited {
 background:#eee url(../../image/right.gif) no-repeat right;
 }
@@ -83,7 +82,6 @@ list-style:none;
 margin:0;
 padding:0;
 float:left;
-min-width:7em;
 }
 
 #menuv3 li {
@@ -119,7 +117,7 @@ display:none;
 
 #menuv3 ul ul ul {
 top:0;
-left:100%;
+left:90%;
 }
 
 /* Begin non-anchor hover selectors */
@@ -154,129 +152,6 @@ div#menuv3 li li li li:hover ul
 
 /* End of non-anchor hover selectors */
 
-#menuv4 {
-width:99.8%;
-float:left;
-background:url(../../image/bg_css_menu.png) repeat bottom;
-border:1px solid;
-border-color:#ccc #888 #555 #bbb;
-}
-
-#menuv4 a, #menuv4 h2, #menuv4 div.x {
-font:11px/16px arial,helvetica,sans-serif;
-display:block;
-border:0;
-border-right:1px;
-border-style:solid;
-border-color:#ccc #888 #555 #bbb;
-white-space:nowrap;
-margin:0;
-padding:1px 0 1px 3px;
-}
-
-#menuv4 h2 {
-color:#fff;
-padding:2px 10px;
-}
-
-#menuv4 a, #menuv4 a:visited, #menuv4 div.x, #menuv4 div.x:visited {
-color:#000;
-text-decoration:none;
-padding-right:10px;
-}
-
-#menuv4 a {
-background:#eee;
-}
-#menuv4 div.x, #menuv4 div.x:visited {
-background:#eee url(../../image/right.gif) no-repeat right;
-}
-
-#menuv4 a:hover, #menuv4 div.x:hover {
-color:#a00;
-background-color:#ddd;
-}
-
-#menuv4 a:active, #menuv4 div.x:active {
-color:#060;
-background-color:#ccc;
-}
-
-#menuv4 ul {
-list-style:none;
-margin:0;
-padding:0;
-float:left;
-}
-
-#menuv4 li {
-position:relative;
-float:none;
-border:0;
-}
-
-/* IE6 spacing bug fix, <li>s without a bottom border get spaced to far
- * correction: the bug will change the height of the parent element! this will also cause the whole menu to grow
- * so the only method to get this pile of crap going is to add a bottom border to the <li>s, where the enclosing <ul> already has
- * a bottom border, which just looks ugly
- * the trick: color the bottom border with the same color as the bottom pixel of the background image - noone notices */
-#menuv4 ul li {
-border:solid;
-border-color:#ccd5e5;
-border-width:0 0 1px 0;
-}
-
-#menuv4 ul ul li {
-border:solid;
-border-width:0 0 1px 0;
-}
-
-/* IE6 event bug fix, without a background there hovers will be occassionally lost between the li's to the layer below
- * causing the menu to close. Opera 9 has the same bug btw. */
-#menuv4 ul ul {
-position:absolute;
-z-index:500;
-top:auto;
-display:none;
-}
-
-#menuv4 ul ul ul {
-top:0;
-left:90%;
-}
-
-/* Begin non-anchor hover selectors */
-
-/* Enter the more specific element (div) selector
-on non-anchor hovers for IE5.x to comply with the
-older version of csshover.htc - V1.21.041022. It
-improves IE's performance speed to use the older
-file and this method */
-
-div#menuv4 h2:hover {
-background:#A3C5FF;
-color:#a00;
-}
-
-div#menuv4 li:hover {
-cursor:pointer;
-z-index:100;
-}
-
-div#menuv4 li:hover ul ul,
-div#menuv4 li li:hover ul ul,
-div#menuv4 li li li:hover ul ul,
-div#menuv4 li li li li:hover ul ul
-{display:none;}
-
-div#menuv4 li:hover ul,
-div#menuv4 li li:hover ul,
-div#menuv4 li li li:hover ul,
-div#menuv4 li li li li:hover ul
-{display:block;}
-
-/* End of non-anchor hover selectors */
-
 /* html menu */
 /* types of lines: m sm i (menu submenu item)
    each line is a mi (menuitem) and has one mii (menu-item-icon) whcih is ms (menu-spacer)
@@ -315,7 +190,7 @@ body { margin: 0 }
 
 
 @media print {
-  #menuv3, #menuv4, #html-menu, #frame-header, #js-menu {   /* items with this class won't print */
+  #menuv3, #html-menu, #frame-header, #js-menu {   /* items with this class won't print */
     display: none;
   }
   #content.html-menu { margin-left: 0; }
index 88fe798..6cc8b97 100644 (file)
@@ -2091,7 +2091,6 @@ $self->{texts} = {
   'To add a user to a group edit a name, change the login name and save.  A new user with the same variables will then be saved under the new login name.' => 'Um einer Gruppe einen neuen Benutzer hinzuzufügen, ändern und speichern Sie am einfachsten einen bestehenden Benutzernamen. Unter dem neuen Namen wird dann ein Benutzer mit denselben Einstellungen angelegt.',
   'Top'                         => 'Oben',
   'Top (CSS)'                   => 'Oben (mit CSS)',
-  'Top (CSS) new'               => 'Oben (mit CSS, neu)',
   'Top (Javascript)'            => 'Oben (mit Javascript)',
   'Top 100'                     => 'Top 100',
   'Top 100 hinzufuegen'         => 'Top 100 hinzufügen',
diff --git a/sql/Pg-upgrade2-auth/remove_menustyle_v4.sql b/sql/Pg-upgrade2-auth/remove_menustyle_v4.sql
new file mode 100644 (file)
index 0000000..3744bd3
--- /dev/null
@@ -0,0 +1,8 @@
+-- @tag: remove_menustyle_v4
+-- @description: Menütyp "CSS (oben, neu)" wurde entfernt; also durch v3 ersetzen
+-- @depends:
+-- @charset: utf-8
+UPDATE auth.user_config
+SET cfg_value = 'v3'
+WHERE ((cfg_key   = 'menustyle')
+  AND  (cfg_value = 'v4'));
index 387c18c..5921dd2 100644 (file)
        <select name="menustyle">
         <option value="old"[% IF myconfig_menustyle == 'old' %] selected[% END %]>[% 'Old (on the side)' | $T8 %]</option>
         <option value="v3"[% IF myconfig_menustyle == 'v3' %] selected[% END %]>[% 'Top (CSS)' | $T8 %]</option>
-        <option value="v4"[% IF myconfig_menustyle == 'v4' %] selected[% END %]>[% 'Top (CSS) new' | $T8 %]</option>
         <option value="neu"[% IF myconfig_menustyle == 'neu' %] selected[% END %]>[% 'Top (Javascript)' | $T8 %]</option>
        </select>
       </td>
       maintab.init();
     -->
  </script>
-
diff --git a/templates/webpages/menu/menuv4.html b/templates/webpages/menu/menuv4.html
deleted file mode 100644 (file)
index a24b637..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-[%- USE T8 %]
-[%- USE HTML %]
- <div id="menuv4">
-  [% menu %]
- </div>
- <div style="clear: both;"></div>
-
- <script type="text/javascript">
-<!--
-function clockon() {
-  var now = new Date();
-  var h = now.getHours();
-  var m = now.getMinutes();
-  document.getElementById('clock_id').innerHTML = (h<10?'0'+h:h)+":"+(m<10?'0'+m:m);
-  var timer=setTimeout("clockon()", 10000);
-}
-$(clockon);
-//-->
- </script>