Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 08b6539d

Von Sven Donath vor etwa 14 Jahren hinzugefügt

  • ID 08b6539d1b4a06760bd12208b76f15e767d336d4
  • Vorgänger ad27efa6
  • Nachfolger f28c12f1

Seitliches HTML-Menü lässt sich ein- und ausklappen. (Link "Menü" in Kopfzeile)
Das bringt auf kleinen Bildschirmen zusätzlichen horizontalen Platz.
Getestet mit Opera, Firefox, Chrome, IE8, Android Webkit.
Funktioniert auf allen außer Android. ^^ Hier muss noch nachgebessert werden,
am besten im Zusammenhang mit dem Mobile.css.
Außerdem Reihenfolge der Links in der Kopfzeile geändert, und Title-Tag
für Logout hinzugefügt.

Unterschiede anzeigen:

bin/mozilla/kopf.pl
25 25
  $name = $wert;
26 26
}
27 27
my $login =
28
    "[" . $form->{login}
29
  . " - <a href=\"login.pl?action=logout\" target=\"_top\">"
28
    "". $locale->text('User') . ": " . $form->{login}
29
  . "  [<a href=\"login.pl?action=logout\" target=\"_top\" title=\"". $locale->text('Logout now') . "\">"
30 30
  . $locale->text('Logout')
31 31
  . "</a>] ";
32 32
my ($Sekunden, $Minuten,   $Stunden,   $Monatstag, $Monat,
......
108 108
|;
109 109

  
110 110
#
111
my $framesize = _calc_framesize(); # framesize calculation as in menu.pl is only a quick and dirty hack here
112
                                   # it would be better to use a global or config variable
113

  
111 114
print qq|
112 115
<body bgcolor="#ffffff" text="#ffffff" link="#ffffff" vlink="#ffffff" alink="#ffffff" topmargin="0" leftmargin="0"  marginwidth="0" marginheight="0" style="background-image: url('image/fade.png'); background-repeat:repeat-x;">
113

  
116
<script language='JavaScript' src='js/switchmenuframe.js'></script>
114 117
<table border="0" width="100%" background="image/bg_titel.gif" cellpadding="0" cellspacing="0">
115 118
  <tr>
116 119
    <td  style="color:white; font-family:verdana,arial,sans-serif; font-size: 12px;">
117
      &nbsp;[<a href="JavaScript:top.main_window.print();" title="| . $locale->text('Hardcopy') . qq|">| . $locale->text('Print') . qq|</a>]
120
      [<a href="JavaScript:Switch_Menu(|.$framesize.qq|);" title="| . $locale->text('Switch Menu on / off') . qq|">| . $locale->text('Menu') . qq|</a>]
118 121
      &nbsp;[<a HREF="login.pl" target="_blank" title="| . $locale->text('Open a further Lx-Office Window or Tab') . qq|">| . $locale->text('New Win/Tab') . qq|</a>]
122
      &nbsp;[<a href="JavaScript:top.main_window.print();" title="| . $locale->text('Hardcopy') . qq|">| . $locale->text('Print') . qq|</a>]
119 123
      &nbsp;[<a href="Javascript:top.main_window.history.back();" title="| . $locale->text('Go one step back') . qq|">| . $locale->text('Back') . qq|</a>]
120 124
      &nbsp;[<a href="Javascript:top.main_window.history.forward();" title="| . $locale->text('Go one step forward') . qq|">| . $locale->text('Fwd') . qq|</a>]
121
      <!-- is there a better solution for Back? Possibly with the callback variable? -->
125
      <!-- is there any better solution for Back? Possibly with the callback variable? -->
122 126
    </td>
123 127
    <td align="right" style="vertical-align:middle; color:white; font-family:verdana,arial,sans-serif; font-size: 12px;" nowrap>|
124 128
  . $login . $datum . qq| <script>writeclock()</script>&nbsp;
......
129 133
</html>
130 134
|;
131 135

  
136
sub _calc_framesize {
137
  my $is_lynx_browser   = $ENV{HTTP_USER_AGENT} =~ /links/i;
138
  my $is_mobile_browser = $ENV{HTTP_USER_AGENT} =~ /mobile/i;
139
  my $is_mobile_style   = $::form->{stylesheet} =~ /mobile/i;
140

  
141
  return  $is_mobile_browser && $is_mobile_style ?  130
142
        : $is_lynx_browser                       ?  240
143
        :                                           180;
144
}
145

  
132 146
}
133 147

  
134 148
1;
bin/mozilla/menu.pl
28 28
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
29 29
#######################################################################
30 30
#
31
# thre frame layout with refractured menu
31
# the frame layout with refractured menu
32 32
#
33 33
# CHANGE LOG:
34 34
#   DS. 2002-03-25  Created
35 35
#  2004-12-14 - New Optik - Marco Welter <mawe@linux-studio.de>
36
#  2010-08-19 - Icons for sub entries and one click 
37
#               JS switchable HTML-menu - Sven Donath <lxo@dexo.de>
36 38
#######################################################################
37 39

  
38 40
use strict;
......
61 63
  print qq|
62 64
<frameset rows="28px,*" cols="*" framespacing="0" frameborder="0">
63 65
  <frame  src="kopf.pl" name="kopf"  scrolling="NO">
64
  <frameset cols="$framesize,*" framespacing="0" frameborder="0" border="0" >
66
  <frameset cols="$framesize,*" framespacing="0" frameborder="0" border="0" id="menuframe" name="menuframe">
65 67
    <frame src="$form->{script}?action=acc_menu" name="acc_menu"  scrolling="auto" noresize marginwidth="0">
66 68
    <frame src="$callback" name="main_window" scrolling="auto">
67 69
  </frameset>
......
80 82

  
81 83
  my $form      = $main::form;
82 84
  my $locale    = $main::locale;
83
  my $framesize = _calc_framesize();
85
  my $framesize = _calc_framesize(); # how to get it into kopf.pl or vice versa?
84 86

  
85 87
  $mainlevel = $form->{level};
86 88
  $mainlevel =~ s/\Q$mainlevel\E--//g;
......
246 248

  
247 249
  return  $is_mobile_browser && $is_mobile_style ?  130
248 250
        : $is_lynx_browser                       ?  240
249
        :                                           190;
251
        :                                           180;
250 252
}
251 253

  
252 254
1;
bin/mozilla/switchmenuframe.js
1
/* This is used in bin/mozilla/kopf.pl to switch the HTML sidemenu on/off
2
   2010, Sven Donath, lxo@dexo.de  */
3

  
4
var vSwitch_Menu = 1;
5

  
6
function Switch_Menu(framesize)
7
{
8
	if (vSwitch_Menu)
9
	{
10
		vSwitch_Menu=false;
11
                parent.document.getElementById('menuframe').setAttribute('cols','30,*')
12
	}
13
	else
14
	{
15
		vSwitch_Menu=true;
16
				framesize = framesize + ',*';
17
                parent.document.getElementById('menuframe').setAttribute('cols',framesize);
18
    }
19
	return;
20
}
locale/de/all
101 101
  'Account saved!'              => 'Konto gespeichert!',
102 102
  'Accounting Group deleted!'   => 'Buchungsgruppe gel&ouml;scht!',
103 103
  'Accounting Group saved!'     => 'Buchungsgruppe gespeichert!',
104
  'Accounting Menu'             => 'Kontoverwaltung',
105 104
  'Accrual'                     => 'Bilanzierung',
106 105
  'Active'                      => 'Aktiv',
107 106
  'Active?'                     => 'Aktiviert?',
......
959 958
  'Lock System'                 => 'System sperren',
960 959
  'Lockfile created!'           => 'System gesperrt!',
961 960
  'Lockfile removed!'           => 'System entsperrt!',
962
  'Login'                       => 'Anmeldung',
961
  'Login'                       => 'Anmelden',
963 962
  'Login Name'                  => 'Benutzername',
964 963
  'Login name missing!'         => 'Loginname fehlt.',
965 964
  'Logout'                      => 'Abmelden',
965
  'Logout now'                  => 'Lx-Office jetzt verlassen',
966 966
  'Long Dates'                  => 'Lange Monatsnamen',
967 967
  'Long Description'            => 'Langtext',
968
  'Lx-Office'                   => 'Lx-Office',
968 969
  'Lx-Office 2.4.0 introduces two new concepts: tax zones and Buchungsgruppen.' => 'Lx-Office 2.4.0 f&uuml;hrt zwei neue Konzepte ein: Steuerzonen und Buchungsgruppen.',
969 970
  'Lx-Office can fix these problems automatically.' => 'Lx-Office kann solche Probleme automatisch beheben.',
970 971
  'Lx-Office has been switched to group-based access restrictions.' => 'Lx-Office wurde auf eine gruppenbasierte Benutzerzugriffsverwaltung umgestellt.',
......
994 995
  'May set the BCC field when sending emails' => 'Beim Verschicken von Emails das Feld \'BCC\' setzen',
995 996
  'Medium Number'               => 'Datentr&auml;gernummer',
996 997
  'Memo'                        => 'Memo',
998
  'Menu'                        => 'Men&uuml;',
997 999
  'Message'                     => 'Nachricht',
998 1000
  'Method'                      => 'Verfahren',
999 1001
  'Microfiche'                  => 'Mikrofilm',
......
1489 1491
  'Sum per'                     => 'Summe per',
1490 1492
  'Summen- und Saldenliste'     => 'Summen- und Saldenliste',
1491 1493
  'Superuser name'              => 'Datenbankadministrator',
1494
  'Switch Menu on / off'        => 'Men&uuml; ein- / ausklappen',
1492 1495
  'System'                      => 'System',
1493 1496
  'TODO list'                   => 'Aufgabenliste',
1494 1497
  'TODO list options'           => 'Aufgabenlistenoptionen',

Auch abrufbar als: Unified diff